Python程序的构成:
模块:一个模块对应一个源文件
语句:程序的基本单元,用于创建对象,变量赋值,调用函数,控制语句等
代码的组织和缩进:
常见的编辑器通常设置成:tab制表符就是4个空格
使用\行连接符:放在行结束的位置,默认为同一行
对象的基本组成和内存示意图
标识(identity):唯一标识对象,通常对应用于对象在计算机内存中的地址
类型(type):表示对象的存储的数据的类型
值(value):对象所存储的数据的信息,使用print(object)可以直接打印出值
对象的本质:一个内存块,拥有特定的值,支持特定类型的相关操作
内存示意图:
栈stack | 堆heep |
a:8791471740640 | Id:8791471740640 |
Type:int | |
Value:3 | |
b:35857296 | Id:35857296 |
Type:str | |
Value:’我爱你’ |
引用:变量也称之为对象的引用,变量存储的就是对象的地址,变量通过地址引用了对象
Python是动态类型语言
变量不需要显示声明类型,根据变量引用的对象,解释器可以自动确定数据类型
标识符规则:
区分大小写
第一个字符必须是字母,下划线,其后的字符是字母,数字,下划线
不能使用关键字,比如if,or,while等
以双下划线开头和结尾的通常具有特殊含义
使用help()查看关键字
False | class | from | or |
None | continue | global | pass |
True | def | if | raise |
and | del | import | return |
as | elif | in | try |
assert | else | is | while |
async | except | lambda | with |
await | finally | nonlocal | yield |
break | for | not |
Python标识符命名规则:
模块和包名:全小写字母,如有多个单词用下划线
函数名:全小写字母,多个单词用下划线隔开
类名:首字母大写,采用驼峰原则,多个单词时,每个单词第一个字母大写其余部分小写
常量名:全大写字母,多个单词用下划线隔开
变量的声明和赋值:用于将一个变量绑定到另一个对象上 格式:变量名=表达式
变量在使用前必须先被初始化(赋值)
变量’a’在使用前未被赋值,会报错:’a’ is not defined
删除变量和垃圾回收机制:
可以通过del语句删除不再使用的变量
如果对象没有变量引用,就会被垃圾回收器回收(清空内存空间)
常量:
Python不支持常量,只能约定常量的命名规则以及在程序的逻辑上不对常量的值做出修改
链式赋值:
链式赋值用于同一个对象赋值给多个变量,如x=y=3
系列解包赋值:
系列数据赋值给对应相同个数的变量(个数必须保持一致)
a,b,c=4,5,6相当于a=4,b=5,c=6
使用系列解包赋值实现变量值互换,如a,b,c=c,b,a
最基本内置数据类型:
整型(int),浮点型(float),布尔型(bool),字符串型(str)
变量没有类型,但对象有类型
整型(int):整数,23,45
浮点型(float):小数,3.14或者科学计数法314e-2
布尔型(bool):表示真假,仅仅包含True,False
字符串型(str):由字符组成的序列,’abc’,’sxs’,’白色’
数字和基本运算符:
+,-,*,/(浮点数除法),//(向下取整),%(取余),**(幂)
除数为0会产生异常:ZeroDivisionError:dicision by zero
使用divmod()函数同时得到商和余数
>>>divmod(13,3)
>>>(4,1) 返回的是一个元组
整数int:
三种进制:python中除了十进制,还有其他三种进制
0b或者0B,二进制01
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
使用int()实现类型转换:
浮点数直接舍去小数部分,如int(9.9)>>>9
布尔值True转为1,False转为0,如int(True)>>>1
字符串符合整数格式(浮点数格式不行),直接转换为对应整数
自动转型:整数和浮点数混合运算时,表达式结果自动转为浮点数
整数可以任意大:Python可以做超大数的运算,不会有整数的溢出
浮点数float:
浮点数用科学计数法表示,比如3.14表示成314e-2
这些数字在内存中也是按照科学计数法存储
类型转换和四舍五入:
float()将其他类型转换成浮点数
round(value)可以返回四舍五入的值,但不会改变原有值,而是产生一个新的值
整数和浮点数混合运算时,表达式结果自动转为浮点数
增强型赋值运算符:
运算符+,-,*,/,//,**,%和赋值符=结合可以构成增强型赋值运算符