首要原则:Python中万物皆对象,变量、函数、类等均是对象。
第一章 python编程概念基础
一、Python解释器
Python的程序依赖于Python解释器。常见的解释器如下:
1. CPython 使用 c 语言实现的解释器,最常用的解释器。通常说的解释器指的就是它。 2. Jython 使用 java 语言实现的解释器。Jython 可以直接调用 java 类库,适合在 java 平台上开 发 3. IronPython .NET 平台上使用的解释器。可直接调用.NET 平台的类,适合.NET 平台上开发 4. PyPy 使用 Python 语言实现的解释器 二、python解释器的下载 进入官网: www.python.org/downloads/ 三、开发环境 开发环境,英文是IDE( Integrated Development Environment 集成开发环境) 常用的开发环境如下: 1. IDLE 2. Pycharm 3. wingIDE 4. Eclipse 5. IPython 不要纠结于使用哪个开发环境。开发环境本质上就是对 Python 解释器 python.exe 的 封装,核心都一样。 四、程序的基本格式 1、python中的空格代表着缩进问题,不适用{}代表程序块,一般用使用4个空格代表一个程序块 2、python严格区分大小写字母 3、注释 (1) 行注释 每行注释前加#号。当解释器看到#,则忽略这一行#后面的内容 (2) 段注释 使用三个连续单引号(''')。当解释看到''',则会扫描到下一个''',然后忽略他们 之间的内容。 五、对象 Python中一切皆对象,每个对象都有标识(内存地址)、类型、值组成。 对象的本质就是一个内存块拥有特定的值,支持相关类型的操作。 如 a=3 a所引用的就是对象 变量a位于栈内存,对象位于堆内存 Python是动态类型语言:不需要显示的声明类型。根据变量引用的对象,Python解释器自动确定数据类型。 python是强类型语言:每个对象都有数据类型,只支持该类型支持的操作。标识符
标识符:用于变量、函数、类、模块等的名称。 标识符有如下特定的规则: 1. 区分大小写。如:sxt 和 SXT 是不同的 2. 第一个字符必须是字母、下划线。其后的字符是:字母、数字、下划线 3. 不能使用关键字。比如:if、or、while 等。 4. 以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:__init__是类 的构造函数。标识符命名规则
变量的声明和赋值
最简单的表达式就是字面量。比如:a = 123 。 运行过程中,解释器先运行右边的表达式, 生成一个代表表达式运算结果的对象;然后,将这个对象地址赋值给左边的变量。 删除变量和垃圾回收机制
链式赋值
用于一个对象同时赋值给多个变量
x=y=123相当于x=123;y=123
系列解包赋值 a,b,c=4,5,6 相当于:a=4;b=5;c=6 最基本内置数据类型和运算符 1、整型 2、浮点型 3、布尔型 4、字符串型 数字和基本运算符使用divmod()函数 可以同时得到商和余数,返回的是一个元组
如:divmod(13,3)
>>>(4,1)
整数 Python 中,除 10 进制,还有其他三种进制: ·0b 或 0B,二进制 0 1 ·0o 或 0O,八进制 0 1 2 3 4 5 6 7 ·0x 或 0X,十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f浮点数
浮点数,称为 float。 浮点数用 a b 10 形式的科学计数法表示。比如:3.14,表示成:314E-2 或者 314e-2。 这些数字在内存中也是按照科学计数法存储。 类型转换和四舍五入 1. 类似于 int(),我们也可以使用 float()将其他类型转化成浮点数。 2. 整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0 的结果是 10.0 3. round(value)可以返回四舍五入的值 注:但不会改变原有值,而是产生新的值增强型赋值运算符 注: 与 C 和 JAVA 不一样,Python 不支持自增(++)和自减(--) 时间的表示 计算机中时间的表示是从“1970 年 1 月 1 日 00:00:00”开始,以毫秒(1/1000 秒) 进行计算。我们也把 1970 年这个时刻成为“unix 时间点”。 python 中可以通过 time.time() 获得当前时刻,返回的值是以秒为单位,带微秒 (1/1000 毫秒)精度的浮点值。例如:1530167364.8566。 比较运算符
逻辑运算符
同一运算符
整数缓存问题
Python 仅仅对比较小的整数对象进行缓存(范围为[-5, 256])缓存起来,而并非是所有整数对 象。需要注意的是,这仅仅是在命令行中执行,而在 Pycharm 或者保存为文件执行,结果是不一样 的,这是因为解释器做了一部分优化(范围是[-5,任意正整数])。 ·总结 1、is 比较两个对象的 id 值是否相等,是否指向同一个内存地址; 2、== 比较的是两个对象的内容是否相等,值是否相等; 3、小整数对象[-5,256]在全局解释器范围内被放入缓存供重复使用; 4、is 运算符比 == 效率高,在变量和 None 进行比较时,应该使用 is。 . 比较运算符可以连用,并且含义和我们日常使用完全一致。 >>> a = 4 >>> 3 >>> bin(c) #bin()可以将数字转成二进制表示 >>> a = 3 >>> a<<2 #左移 1 位相当于乘以 2.左移 2 位,相当于乘以 4 12 >>> a = 8 >>> a>>1 #右移 1 位相当于除以 2. 3. 加法操作 (1) 数字相加 3+2 ==> 5 (2) 字符串拼接 “3”+“2”==> “32” (3) 列表、元组等合并 [10,20,30]+[5,10,100] ==>[10,20,30,5,10,100]4. 乘法操作 (1) 数字相乘 3*2 ==> 6 (2) 字符串复制 “sxt”*3 ==> ”sxtsxtsxt” (3) 列表、元组等复制 [10,20,30]*3 ==> [10,20,30,10,20,30,10,20,30]



