python编程中的基本概念
一、python程序的构成
python程序由模块构成,模块由语句构成,语句是python程序的构造单元。
二、python代码规范
通常四个空格表示一缩进。更具体的说明参见python官方的PEP-8代码风格:
https://www.python.org/dev/peps/pep-0008/
三、python对象
python中一切皆对象,每个对象由:标识(identity)、类型(type)、值(value)构成。

对象的本质:一个内存块,拥有特定的值,支持特定的类型操作。
例如:对于b = 88它就是一个对象,内存示意图为:

四、python标识符
python标识符用于变量、函数、类、模块等的命名通常有如下规则:
- 严格区分大小写。
- 第一个字符必须是字母或者下划线。其后面的字符是:字母、数字、下划线。
- 不能使用python中的关键字作为标识符。
- 以双下划线开头和结尾的名称通常有特殊含义,应该避免这中写法
python关键字可以通过以下方法查取到:

python标识符约定俗成的命名:
| 类型 | 规则 | 例子 |
|---|---|---|
| 模块和包名 | 全部为小写字母,尽量简单原则,多个单词之间用下划线隔开 | math,os,sys |
| 函数名 | 全部为小写字母,多个单词之间用下划线隔开 | addfun,my_python |
| 类名 | 首字母大写,采用驼峰原则,多个单词,每个单词第一个字母大写其余小写 | MyCar,MyPhone |
| 常量名 | 全部为大写字母,多个单词之间用下划线隔开 | SPEED,MAX_SPEED |
五、删除变量:del
六、垃圾回收机制:变量无引用,会被当做垃圾回收
七、常量:逻辑常量,可修改
八、链式赋值:a = b = 123
九、系列解包赋值:a,b = b,a;a,b = 1,2
十、最基本内置数据类型(整、浮、布尔、字符串)
十一、最基本运算符(加、减、乘、除divmod()、幂、取余)
十二、整数
- 三种进制
- 二进制:
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
- 二进制:
int()的类型转换- 浮点数直接舍去小数部分
- 布尔值
True或False转换为1,0 - 字符串符合整数形式直接转为整数,否则报错
- 自动转型
- 整数和浮点数进行运算结果自动转为浮点数
十三、浮点数(float())
十四、增强型赋值运算符
运算符 + 、- 、* ,/ 、// 、 ** 和 %和赋值符 = 结合可以构成“增强型赋值运算符
十五、时间的表示
万物皆数
用import time中的time.time()获取当前时间,返回的是以秒为单位带微秒的浮点值。
十六、逻辑运算符
| 运算符 | 格式 | 说明 | 简记 |
|---|---|---|---|
or 逻辑或 | x or y | 如果x为True,不计算y直接返回True;如果x为False,则返回y的值 | 有真则真 |
and逻辑与 | x and y | 如果x为True,则返回y的值;如果x为False,则不计算y直接返回False | 有假则假 |
not逻辑非 | not x | 如果x为True则返回False;否则返回True | 取反 |
十七、比较运算符(==,!=,>=,<=,>,<)
十八、位运算符(将数字看作二进制来计算)
| 运算符 | 描述 | 简记 |
|---|---|---|
& | 按位与运算符:参与运算的两个二进制数,如果两个相应位都为1则该位结果为1,否则为0 | 将0看作False有假则假 |
| | 按位或运算符:参与运算的两个二进制数,如果两个相应位只有一个为1则该位结果为1,否则为0 | 将1看作Ture有真则真 |
^ | 按位异或运算符:参与运算的两个二进制数,如果两个相应位相异时则该位结果为1,否则为0 | 相异为真为1 |
~ | 按位取反运算符:对数据的每个二进制数进行取反,即把1变为0,把0变为1,~x类似-x-1 | 相反 |
<< | 左移运算符:对数据的全部二进制数进行左移若干位,高位溢出舍弃,低位不够补0;<<右边的数指定移动位数 | 左移n位相当于乘2的n次幂 |
>> | 右移运算符:对数据的全部二进制数进行左移若干位;>>右边的数指定移动位数 | 右移n位相当于除以2的n次幂 |
增强赋值运算符包括位运算符
十九、同一运算符
| 运算符 | 描述 |
|---|---|
is | is判断两个标识符是否引用同一个对象:实际比较对象的id地址 |
is not | 判断两个标识符是否引用不同的对象:实际比较对象的id地址 |
注意:==比较两对象的值,而is比较两对象的地址
二十、整数缓存问题
命令行模式:缓存[-5,256],c语言底层用数组实现,连续分配空间,便于查找。
文件模式:所有数字被缓存,但是[-5,256]仍然用c语言底层数组实现。。
二十一、成员运算符
| 运算符 | 描述 |
|---|---|
in | 在,返回True |
not in | 不在,返回True |
二十二、运算符优先级
- 乘除大于加减
- 位运算符和算术运算符>比较运算符>赋值运算符>逻辑运算符
- 复杂算式不必记清楚运算符优先级数逻辑,直接用小括号组织
本文介绍了Python编程的基础概念,包括程序的模块构成、代码规范如PEP-8、对象的标识、类型和值,以及标识符的命名规则。此外,还涉及了变量删除、垃圾回收、数据类型如整数和浮点数的表示与转换,以及运算符的使用,包括逻辑运算、位运算和比较运算。文章还提到了时间表示、成员运算符和运算符优先级等核心概念。
918

被折叠的 条评论
为什么被折叠?



