一.python的编码规范
1.分号:不要在行尾加分号,也不要使用分号将两条命令放在同一行
2.行长度:一般情况下每行不要超过80个字符
3.括号:宁缺毋滥的使用括号
4.缩进:使用4个空格来缩进代码
5.空行:顶级定义之间空两行,方法定义之间空一行
6.语句:每个语句应该独占一行
7.尽量避免文件名中出现空格和中文
二、python的基本语法
#开头的语句是注释
使用4个空格的缩进(不管是空格或是Tab键都可以)
PS:Python程序是大小写敏感的
三、标识符---给变量、函数 , 类等命名
标识符规则:
1.只能由字母、数字、下划线组成
2.开头不能是数字
3.避免使用函数名
4.区分大小写
5.取名字要做到见名知义
6.不能是python的关键字,以下:
【'False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'】
四、python基本数据类型和变量
1.Number(数字)
a.整数 【int】;
b.浮点数【float】;
c.复数;
2.String(字符串),以单引号或双引号括起来
若字符串内部包含单引号又包含双引号,可用\进行转义:print('I\'m \"ok\"'),输出 I'm "ok"
python还允许用r''“表示内部的字符串默认不转义:
>>> print('\\\t\\')
\ \
>>>print(r'\\\t\\')
\\\t\\
如果字符串内部很多换行,用\n写在一行里不好阅读,为了简化,python允许用'''…'''的格式表示多行内容:
print("line1\nline2\nline3")
print('''line1
line2
line3''')
3.Boolean(布尔值)
布尔值只有True、False两种值【注意大小写】
4.None(空值)
PS:None与0表示的意思并不相同
5.list(列表)
list是一种有序的集合,支持:增加,删除、修改
6.tuple(元组)
tuple和list非常类似,但是tuple一旦初始化就不能修改:
修改元组元素操作是非法的如:tup1[0] = 100
但可以对整个元组进行重新赋值:
>>>tuple1 = ("张三", "王二", "李四")
>>>print(tuple1)
>>>tuple1 = ("张wu", "王二", "李四")
>>>print(tuple1)
('张三', '王二', '李四')
('张wu', '王二', '李四')
7.dict(字典)
使用键-值(key-value)存储,具有极快的查找速度。
>>> dict1 = {'lisi': 89, 'lili':90}
8.set(集合)
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
>>>set = {"lisi", "lisi","wanger"}
>>>print(set)
{'lisi', 'wanger'}
(二)变量
变量:程序可操作的存储区的名称,在运行的期间能够改变的数据,每个变量都是特定的类型
作用:将不同类型的数据存储到内存中
变量的定义: 变量名=初始值
删除变量: del 变量名
(三)常量:
程序运行期间不能改变的数据
五、Number(数字)
1.数字类型之间的转换
int(x) :将x转换为一个整数
float(x) :将x转换为一个浮点数
2.数学函数
abs(x):返回数字的绝对值
max(n1, n2, n3,…):返回给定指定参数的最大值
min(n1, n2, n3):返回给定指定参数最小值
pow(x,y):求x的y次方的值
round(x, n):返回浮点数x的四舍五入值,如果给定n值,则代表舍入到小数点后的位数,若不给n的值,则返回四舍五入的整数
3.math模块
导入math模块
math.ceil(x):返回x的向上取整数值
math.floor(x):返回x的向下取整的数值
math.modf(x):返回x的整数部分和小数部分,两部分的数值符号与x相同,整数部分以浮点数表示。
math.sqrt(x):反回数字的x的开平方根,返回类型为实数【浮点型】
4.随机数函数
导入random模块
random.choice([1,2,3,4]) :随机返回一个元素【从指定序列中挑选一个元素】,可以是列表、元组、字典。
random.random() :随机产生[0,1)之间的数,结果为浮点数
random.shuffle(l1) :将序列中的所有元素进行随机排列
random.uniform(m, n) :随机产生一个[m, n]之间的浮点数
random.randrange(n):从0~n-1之间选择一个随机数、
---random/randrange([star],stop,[step])
---stop必须给,star默认0,step默认1;
---写了step就必须写star,写了star可以不用写step
5.三角函数
需要导入math模块
六、算术运算符与表达式
算术运算符
+ :加 两个对象相加
- :减 标识负数 或 一个数减去另一个数
* :乘 两个数相乘/返回一个被重复若干次的字符串
/ : 除
% : 取模 返回除法的余数
** :幂,返回x的y次幂
// : 取整 返回商的整数部分
七、比较运算符
== 等于,比较对象是否相等,返回布尔类型的值
!= 不等于,比较对象是否不相等
>大于,x > y,返回x是否大于y
< 小于,x < y,返回x是否小于y
>= 大于等于,x >= y,返回x是否大于等于y
<= 小于等于,x <= y,返回x是否小于等于y
------比较字符串的时候是比较字符串的ASCII码值,挨个比较
八、赋值运算符与赋值运算表达式
格式:变量 = 表达式
复合运算符
+= 加法赋值运算符 a += b a = a + b
-= 减法赋值运算符 a -= b a = a - b
*= 乘法赋值运算符 a *= b a = a * b
/= 除法赋值运算符 a /= b a = a / b
%= 取模赋值运算符 a %= b a = a % b
**= 幂赋值运算符 a **= b a = a ** b
//= 取整除赋值运算符 a //= b a = a // b
九、逻辑运算符
and运算是“与”运算,只有所有都为True,and运算的结果才是True;
or运算是“或”运算,只要其中一个为True,or运算结果就是True ;
not 运算是“非”运算,它是一个单目运算符,把True变成False,False变成True
-------输出结果的类型和逻辑运算符后面的那个一致,如:1 or False 输出True
短路原则
表达式1 and 表达式2 and 表达式3 … 如果表达式1为假,则整个表达式的值为假,后面的表达式则没有计算的必要
表达式1 or 表达式2 or 表达式3 … 如果表达式1为真,则整个表达式的值为真,后面的表达式的值就没有计算的必要
十、位运算符
进行位运算的时候,我们需要把数值转换为二进制数(补码)来进行计算:
& 按位与,参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
| 按位或,只要对应的两个二进位有一个为1时,结果位就为1
^ 按位异或,当两对应的二进位相异时,结果为1
~ 按位取反,对数据的每个二进制位取反,即把1变为0,把0变为1
<< 左移,运算数的各二进位全部左移若干位,”<<”右边的数指定移动的位数,低位补0,其实就是乘以2的位数次幂
---print(7<<2,-7<<2)结果:28,-28,相当于7和-7都乘以2^2
>> 右移,运算数的各二进位全部右移若干位,”>>”右边的数指定移动的位数,如果最高位0,右移后,用0补空位,如果最高位1,右移后,用1补空位,右移其实就是除以2的位数次幂。
a>>b 相当于 a//2^b
十、成员运算符
in:如果在指定的序列中找到返回值True,否则返回False
not in:如果在指定的序列中没有找到值返回True,否则返回False
十一、身份运算符
is:is判断两个标识符是不是引用自一个对象
is not:判断两个标识符是不是引用自不同的对象
注意:在[-5, 257)的整数取值范围内,python的内部具有缓存机制,因此在比较这个数值以内的数据可能就会有些问题。
拓展
a.格式化输出
1.%字符:标记转换说明符的开始;
2.如果只有一个参数可以加括号也可以不加
3.根据类型不同使用的格式化符号也不同,例
%d 整数 %f浮点型 %s 字符串
>>> print("the length of %s is %d"%(s,x))
the length of hello is 5
十二、分支语句
if 判断条件:
执行语句...
----------------------------------
if 判断条件:
执行语句...
else:
执行语句...
---------------------------------
可以使用ord 和chr两个内置函数用于字符与ASCII码之间的转换
>>> ord('a')
97
>>> chr(97)
a
附:Python运算符优先级
运算符 | 描述 |
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |