Python的编码规范:
1.分号:不要在行尾加分号,也不要使用分号将两条命令放在同一行
2.行长度:一般情况下每行不要超过80个字符
3.括号:宁缺毋滥的使用括号
4.缩进:使用4个空格来缩进代码
5.空行:顶级定义之间空两行,方法定义之间空一行
6.语句:每个语句应该独占一行
7.命名:尽量避免使用中文或者空格来对文件进行命名
注意:在python中区分大小写
标识符:
本质:就是一个字符串
作用:给变量,类以及函数命名
命名规则:
1.只能使用字母数字下划线
2.不能用数字开头
3.不能使用python关键字
4.区分大小写
5.取名的时候要做到见名知意
6.避免使用函数名
#查看所有关键字
import keyword
print(keyword.kwlist)
Python中基本数据类型:
1.number数字
整型(整数):python可以处理任意大小的整数包括正整数与复数
浮点数(小数):在python中表示浮点数的时候会存在一些误差
复数:a+bj
2.str字符串
使用单引号或者双引号括起来的任意文本,我们称之为字符串
3.bool布尔值
取值只有True和False
4.None
在python中None表示的是空值,空值是一个特殊的值,与零并不相同
5.list列表
本质:是一个有序的集合
6.tuple元组
本质:是一个有序的集合,一旦初始化则不能修改
7.dict字典
使用键值的方式来进行存储,key-value的形式进行存储
特点:具有极快的查找速度
8.set集合
具有去重功能
#type()查看变量类型
num1 = 10
print(type(num1))
变量与常量:
变量:在程序运行期间可以改变的量,我们称之为常量
作用:将不同的数据类型存储到内存中
变量名:遵循标识符的命名规则
注意:变量的数据类型是由给变量赋的值来决定的
常量:在程序运行期间不能改变的量
作用:给变量赋值
删除变量:
del 变量名
变量名一旦删除,就不能继续使用
number数据类型常用函数:
int(x)
功能:将x转化为int类型
float(x)
功能:将x转为浮点型
abs(x)
功能:返回x的绝对值
print(abs(-12)) #12
max(num1,num2,num3…)
功能:返回最大的num值
print(max(12,34,3,932,83)) #932
min(num1,num2,num3…)
功能:返回最小的num值
print(min(23,4,5,324,789,34)) #4
pow(x,y)
功能:求x的y次方
print(pow(2,10)) #1024
round(x[,n])
功能:返回x的四舍五入值,若n不写,则默认不保留小数
若指定n,则保留n位小数
在python3.x中遇到 .5的时候自动向偶数靠拢
print(round(12.54)) #13
print(round(13.5)) #14
print(round(12.5)) #12
math模块:
导入math模块
import math
math.ceil(x)
功能:对x进行向上取整
print(math.ceil(12.32)) #13
print(math.ceil(12.01)) #13
print(math.ceil(12.98)) #13
math.floor(x)
功能:对x向下取整
print(math.floor(12.32)) #12
print(math.floor(12.01)) #12
print(math.floor(12.98)) #12
math.modf
功能:返回x的小数部分与整数部分,以元组的方式返回
print(math.modf(12.32)) #(0.3200000000000003, 12.0)
print(math.modf(12.01)) #(0.009999999999999787, 12.0)
print(math.modf(12.98)) #(0.9800000000000004, 12.0)
math.sqrt(x)
功能:返回x的开平方值(只返回正数部分)
print(math.sqrt(9)) #3.0
print(math.sqrt(16)) #4.0
random模块:
导入random模块
import random
random.choice(序列)
序列:字符串, 列表, 元组
功能:从序列中随机挑选一个元素并且返回
print(random.choice([1,2,3,4])) #从列表中随机挑选一个数字
random.randrange([start,]stop[,step])
start:开始,若不写默认从0开始
stop:结束
取值返回[start,stop)
step:步长
功能:随机的从[start,stop)中以step为步长取一个数值
print(random.randrange(10)) #从1到10随机挑选一个
random.random()
功能:返回一个从[0,1)的浮点数
print(random.random()) #取值[0,1)
random.uniform(m,n)
功能:从[m,n]中随机取一个浮点数,两边都能取到
print(random.uniform(1,100)) #从1到100中随机取一个浮点数,两边都可以取到
random.shuffle(list1)
功能:将序列进行随机排列
list1 = [1,2,3,4,5,6]
random.shuffle(list1)
[1, 2, 6, 4, 3, 5]
算术运算符及表达式:
+ 加
- 减
* 乘
/ 除
% 取模(取余数)
** 求幂(x**y ==> x^y)
// 取整(求商):使用算术运算的时候,变量只参与运算,而不会改变变量的值
a = 10
b = 20
print(a + b) #30
print(a - b) # -10
print(a * b) #200
print(a / b) #0.5
print(a % b) #10
print(a ** b) #10^20
print(a // b) #0
比较运算符:
== 比较两个变量是否相等,若相等返回True,否则返回False
!= 比较两个变量是否不相等,若不相等则分会True,否则返回Flase
> 大于
< 小于
>= 大于等于 满足大于或者等于的条件即可
<= 小于等于 满足小于或者等于的条件即可
注意:使用比较运算的时候,返回的结果就是bool值
当变量为字符串的时候,比较的是字符串的ASCII码值
print(a == b) #False
print(a != b) #True
print(a >= b) #False
print(a <= b) #True
print(a > b) #False
print(a < b) #True
赋值运算符以及表达式:
+= a += b ==> a = a+b
-= a -= b ==> a = a-b
*= a = b ==> a = ab
/= a /= b ==> a = a/b
%= a %= b ==> a = a%b
* *=a = b ==> a = a**b
//= a //= b ==> a = a//b
注意:使用赋值运算表达式的时候,写在等号左边的变量值会发生
变化,写在等号右边的变量只参与运算,值不发生变化。
a = 10
b = 20
a += b
print("a=",a) # 30
print("b=",b) #20
a -= b
print("a=",a) #10
print("b=",b) #20
a *= b
print("a=",a) #200
print("b=",b) #20
a /= b
print("a=",a)#10
print("b=",b)#20
a %= b
print("a=",a)#10
print("b=",b)#20
a **= b
print("a=",a)#10^20
print("b=",b)#20
a //= b
print("a=",a) #5x10^18
print("b=",b)#20
逻辑运算:
and 运算:与运算,用and连接,当所有结果都为真的时,and运算的结果才为真,
全真则真,一假则假
or 运算:或运算,使用or连接,当所有结果都为假的时候,or运算的结果才为假,
一真则真,全假则假
not 运算:又称非运算,假变真,真变假(单目运算)
表示假:
False, 0, None, " ", [], (), {}
短路原则:
当使用and进行连接的时候,若发现有一个表达式的结果为假,
剩余表达式不再进行运算直接返回假。
使用or连接的时候,若发现有一个表达式为真,剩余的表达式
则不再继续进行运算直接返回真。
注意:bool值可以与number值参与运算
参与运算的时候True代表1,False代表0
逻辑运算符的优先级
()优先级最高 > not优先级 > and优先级 > or优先级
位运算:
使用位运算的时候需要把数值转为二进制再来进行运算。
& 按位与:对应为的结果都为1的时候,则该位结果为1否则为0
| 按位或:对应为的结果有一个为1的时候,则该位结果为1否则为0
^ 按位异或:对应为的结果相异的时候,则该位结果为1否则为0
~ 按位取反:将对应位的结果的1变为0,0变为1
<< 左移 :x<<y x*2^y
>> 右移: x>>y x//2^y
成员运算符:
in:若在指定的序列中找到指定的元素则返回True,否则返回False
not in: 若在指定的序列中找不到指定的元素则返回True,否则返回False
print(1 in [1,2,3,4]) #True
print("1" in "12334") #True
print("1" not in "12334") #False
身份运算符:
is :判断两个标识符是否引用同一个对象,若引用同一个对象
返回True,否则返回False
注意:当我们使用 = 来进行对对象赋值的时候,两个变量则视为
引用同一个对象
is not:判断两个标识符是否引用不同一个对象,若引用不同
的对象返回True,否则返回False
id(x)
功能:查看变量的id地址
分支语句:
分支语句语法:
单分支语句
if 判断条件:
语句块
执行过程:
首先执行判断条件,当判断条件成立【结果为真的时候】会执行语句块,
若条件不成立,则不会执行。
双分支语句:
if 判断条件:
语句块1
else:
语句块2
执行过程:
首先执行判断条件,当判断条件成立【结果为真的时候】会执行语句块1,
若条件不成立,则执行语句块2.
age = int(input("请输入您的年龄"))
sex = input("请输入您的性别")
if age>=18 and sex == "男":
print("欢迎光临")
else:
print("未成年人禁止入内")
分支语句:
多分支:
语法:
if 判断条件1:
语句块
elif 判断条件2:
语句块2
elif 判断条件3:
语句块3
…
else:
语句块n
高考分数线:
一本 540
二本 480
三本 440
大专 360
score = int(input("请输入您的高考分数"))
if score < 0 or score > 750:
print("输入有误")
else:
if score > 540:
print("恭喜,一本")
elif score > 480:
print("恭喜,二本")
elif score > 440:
print("恭喜,三本")
elif score >360:
print("恭喜,大专")
else:
print("要不在来一年?")
分支语句嵌套:
在分支语句中是可以嵌套分支语句的
if 判断条件1:
if 判断条件2:
语句块2-1
else:
语句块2-2
else:
语句块1-2
if语句的三目运算
本质:将if语句强制写在一行,完成一个二选一的效果
语法:
result1 if 判断条件 else result2
判断某个数是否是偶数
res = “偶数” if num%2 == 0 else “奇数”
print(res)
if语句的三目运算:
本质:将if语句强制写在一行,完成一个二选一的效果
语法:
result1 if 判断条件 else result2
判断某个数是否是偶数
res = "偶数" if num%2 == 0 else "奇数"
print(res)