python -- basic,,# 写在开头(学习推


# 写在开头(学习推荐)

  ~  alex li Day教程

  ~  廖雪峰教程

  ~  菜鸟python3教程

  ~  努力哥python3教程

  ~  黑马教程

  ~  实验楼以及慕课网

一、基础认知:

  1、python 是一门 动态 解释性 的 强类型定义 语言

    # 编译 与 解释:

      编译:把源程序的每一条语句都编译成机器语言,并保存成二进制文件,

         这样运行起来计算机可以直接以机器语言来运行此程序,速度很快

      解释:在程序执行时,才一条一条的解释成机器语言给计算机来执行

         所以运行起来不如编译后的快

    # 静态语言 与 动态语言

      静态类型:数据类型在编译期间检查,也就是说在写程序时要声明所有变量的数据类型

      动态类型:数据类型在运行期间检查也就是说,在用动态类型编程时,永远不用给任何变量指定数据类型

           语言会在你第一次赋值给变量的时候,在内部将数据类型记录下来

    # 强类型语言 与 弱类型语言

      强:一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么他就永远是这个数据类型

      弱:数据类型可以被忽略

  2、python 的运行过程

    1)、python 是一门解释型语言么?

      Yes. But what is the pyc?  "c" is "compiled"

    2)、python 到底是什么?

      其实 Python 和 Java / C# 一样,也是一门基于虚拟机的语言,我们先来从表面上简单地了解一下 Python 程序的运行过程吧。

      当我们在命令行中输入 python hello.py 时,其实是激活了 Python 的“解释器”,告诉“解释器”:你要开始工作了。

      可是在“解释”之前,其实执行的第一项工作和 Java 一样,是编译。

    3)、简述 python 的运行过程

      -- PyCodeObject && pyc

        - 我们在硬盘上看到的 pyc 自然不必多说,而其实 PyCodeObject 则是 Python 编译器真正编译成的结果。

      -- execution

        -当 python 程序运行时,编译的结果则是保存在位于内存中的 PyCodeObject 中

        -当 Python 程序运行结束时,Python 解释器则将 PyCodeObject 写回到 pyc 文件中

        -当 python 程序第二次运行时,首先程序会在硬盘中寻找 pyc 文件,如果找到,则直接载入,否则就重复上面的过程

        - PyCodeObject 和 pyc 文件定位: pyc 文件其实是 PyCodeObject 的一种持久化保存方式

  3、python 的优缺点

    1)、优点

      -- 明确 简单 优雅

      -- 开发效率高:强大的第三方库,官方库有相应的模块支持,自己有可开发相应模块,大大降低开发周期,避免重复制造轮子

      -- 高级语言:无需考虑如何管理你的程序使用的内存一类的细节

      -- 可移植性:开源

      -- 可扩展性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的 Python 程序中使用它们。

      -- 可嵌入性:可以把 Python 嵌入你的 C / C++ 程序,从而向你的程序用户提供脚本功能。

    2)、缺点

      -- 速度慢

      -- 代码不可加密

      -- 线程不能利用多 CPU 问题!!!

  4、python 解释器

      -- CPython

      -- IPython

      -- PyPy !!

      -- Jython

      -- IronPython

  5、python 2.0 与 3.0

二、字符编码与转码:

   1、python 解释器在加载 .py 文件中的代码时,会对内容进行编码(默认 ascill )

   2、ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,

     主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII 码最多只能表示 255 个符号。

   3、显然 ASCII 码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

   总结:

   技术分享图片

三、基础语法:

  1、python 保留字

    保留字就是关键字,不可以用作任何标识符名称

    技术分享图片

  2、变量 ( 变量的实质就是:在内存地址中真是存在 )

    下面的“x”就是内存地址中真是存在的

    name1 或者是 name2 都只是他的一个 “门牌号”而已

    再补充一点:后面出现的函数,其实实质也是 “变量”,可以打印出其内存地址

    1 name1 = "x"    2 name2 = name1    3 print(name1,name2)    4 name1 = "xx"    5 print(name1,name2)
    1 def val():    2     print("chenjie")    3 print(val)

  3、注释

    -- 行注释:# >>快捷键 ctrl + /

    -- 段注释:‘‘‘ 内容 ‘‘‘

  4、end=“”

     1 print("print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end = ‘ ‘ ")     2 x = "a"     3 y = "b"     4 z = "-----"     5 print(x)     6 print(y)     7 print(z)     8 print(x,end=" ")     9 print(y,end=" ")    10 print(z,end=" ")

  5、行与缩进

    python最具特色的就是使用缩进来表示代码块,不需要使用任何的大括号{}

    缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数

  6、多行语句

    技术分享图片  技术分享图片

  7、同一行显示多条语句

    1 name = "chenjie" ; print(name)

  8、多个语句构成一个代码组

    缩进相同的一组语句构成一个代码块,我们称之为代码组

  9、用户输入

      -- input

      技术分享图片

      -- 等待用户输入

      技术分享图片

      -- 加密 input : getpass 方法

      技术分享图片

  10、字符串格式化输出

      #  字符串拼接输出

        技术分享图片

      #  %s 字符串 (str)    %d 整数 (int)    %f 浮点 (float)

        技术分享图片  技术分享图片

      #  format调用

        技术分享图片

        技术分享图片

        技术分享图片  技术分享图片

  11、三元运算

    result = 值1 if 条件 else 值2

    技术分享图片  PK  技术分享图片

  12、数据运算

    # http://www.runoob.com/python/python-operators.html

    1)、算数运算

    2)、比较运算

    3)、赋值运算

    4)、逻辑运算

    5)、成员运算

    6)、身份运算

    7)、位运算

    8)、运算级优先级

    技术分享图片

    技术分享图片

    技术分享图片

    技术分享图片

    技术分享图片

    技术分享图片

    技术分享图片

  13、循环

    # 经典实例

      --斐波纳契数列

      -- 九九乘法表(五种类型输出)

      -- 0-100之间的和

      -- 质数判断

    1)、if……else、if……elif……else

    2)、while 判断条件、while……else、while……loop

    3)、for(遍历任何序列的项目)、for……break

    4)、break(跳出当前循环体 [for or while])

    5)、continue(跳过当前循环体中剩余的语句,然后继续下一轮循环)

    6)、pass(空语句,保持程序结构的完整性)

    7)、if else elif while for break continue pass 都可以混合使用 主要靠思维

    8)、range()函数:

      -- 遍历数字序列

      -- 用range指定区间的值

      -- range指定不同的增量,也就是步长

      # ……一大堆

  13、数据类型:

    1)、数字

      #http://www.runoob.com/python3/python3-number.html

      1. 整型 (int)、浮点数 (float)、复数 (complex)

      2. 数字运算

      3. 函数

        技术分享图片

        技术分享图片

        技术分享图片

        技术分享图片    

    2)、布尔值

      -- 真 或 假

      -- 1 或 0

    3)、字符串 (str)

      a.Python中的字符串用单引号 (‘) 或双引号 (\") 括起来 , 同时使用反斜杠(\)转义特殊字符

      b. 字符串的基础操作

       1 a = ‘hello‘       2 b = ‘python‘       3 print(a+b)       4 print(a*2)       5 print(a[0:-1])       6 print(a[0])       7 print(a[2:5])       8 print(a[2:])       9 print(a[:])      10 if(‘h‘in a):      11     print(‘h在变量a中‘)      12 else:      13     print(‘h不在变量a中‘)      14 if(‘m‘ not in a):      15     print(‘m不在变量a中‘)      16 else:      17     print(‘m在变量a中‘)      18 print(‘pyt\nhon‘);print(r‘pyt\nhon‘)

      c. 转义字符

        - 技术分享图片

      d. 字符串内建函数(40条)

        #http://www.runoob.com/python3/python3-string.html

        技术分享图片  技术分享图片

        技术分享图片  技术分享图片

        技术分享图片

    4)、列表

      

    5)、元组

    6)、字典

    7)、集合

    14、练习实例

      1)、购物车程序

      2)、

python -- basic

评论关闭