一、变量
1.变量名必须是大小写英文字母、数字或下划线_的组合,不能用数字开头,并且对大小写敏感
2.关键字不能用于命名变量(31个),如and、as、assert、break、class、continue、def、del、elif、else、except、exec、finally、for、from、global、if、import、in、is、lambda、not、or、pass、print、raise、return、try、while、with、yield等
二、注释
1.使用#进行单行注释,使用’’’进行多行注释(英文的三引号)
2.多行代码注释快捷键ctrl+/
三、数据类型
1.常用数据类型包括:整型(int)、浮点型(float)、字符串(str)、布尔型(bool)和空值()
2.定义字符串用单引号或者双引号都可
3.转义字符:\n表示换行, \t表示制表符,python还允许用r“”表示引号内的字符串默认不转义
4.布尔型值True和False
5.空值是None
6.数据类型转换
type(a)返回的是a的数据类型
以下函数可以进行数据类型转换:
Int()————转换成整型
float()————转换成浮点型
bool()————转换成布尔值
str()————转换成字符串
注:转换成布尔型变量时,空值、0、空字符串转换成False,其他均会转换成True
并不是所有值均可以随意转换,如int(“hello”)转换时会报错
四、运算符
1.四种运算符:算术、赋值、比较、逻辑运算符
2.二元算术运算符
运算 | 说明 |
a+b | a加b |
a-b | a减b |
a*b | a乘以b |
a/b | a除以b |
a//b | a除以b后向下取整,丢弃小数部分 |
a**b | a的b次方 |
3.关系运算符返回值为布尔值
运算符 | 描述 |
== | 等于- 比较对象是否相等 |
!= | 不等于- 比较两个对象是否不相等 |
> | 大于- 返回x是否大于y |
< | 小于- 返回x是否小于y |
>= | 大于等于- 返回x是否大于等于y |
<= | 小于等于- 返回x是否小于等于y |
注:所有比较运算符返回1表示真,返回0表示假,这分别与特殊的变量True和False等价 |
4.赋值运算符
运算符 | 描述 | 实例 |
= | 简单的赋值运算符 | c=a+b 将a+b的运算结果赋值为c |
+= | 加法赋值运算符 | c+=a 等效于c=c+a |
-= | 减法赋值运算符 | c-=a 等效于c=c-a |
*= | 乘法赋值运算符 | c*=a 等效于c=c*a |
/= | 除法赋值运算符 | c/=a 等效于c=c/a |
%= | 取模赋值运算符 | c%=a 等效于c=c%a |
**= | 幂赋值运算符 | c**=a 等效于c=c**a |
//= | 取整除赋值运算符 | c//=a 等效于c=c//a |
1. 逻辑运算符
运算符 | 逻辑表达式 | 描述 |
and | x and y | 布尔“与”- x和y同时为True返回True,其他情况均返回False |
or | x or y | 布尔“或”- 如果x或者y为True,返回True,否则返回False |
not | not x | 布尔“非”- 如果x为True,返回False,如果x为False,返回True |
五、列表(list)
1.列表格式
a=[1,2,3,”hello”]
2.列表的索引
a[1]
3. 列表的切片
a[0:4] 指列表索引从0到3的元素
a[-4:-1] -1指列表的最后一个元素,该切片指索引从-4到-2的元素
a[0:4:2] 指列表索引从0到3的元素,步长为2,步长为负,前面的下边也需要是负数,或者不填
4. 修改列表
a. append(“hello”) append函数可以在列表a最后添加一个元素“hello”
a. remove(“hello”) remove函数可以将列表a中的hello元素删除
del a[4] del函数可以将列表a中索引为4的元素删除
a. pop(5) pop函数可以将列表a中索引为5的元素删除
a. insert(3,”hello”) insert函数可以在列表a中索引为3的位置处添加hello元素
len(a) len函数可以获取列表a的长度,即元素个数
a.count("hello") 查询元素在列表中的个数
a.index("hello") 查询某元素的索引
a.reverse() 将列表反转
a.sort() 将列表排序,默认为正序
a.sort(reverse=True) 将列表倒序排序
a.clear() 情况列表
a.extend(b) 将列表b合并到列表a里
5.列表生成式
l = [1,2,3,4,5]
l3 = [ i for i in range(10) if i%2==0 ]#这一行代码和下面4行效果是一样的
l3=[]
for i in range(10):
if i%2==0:
l3.append(i)
print(l3)
l2 = [ str(i) for i in l ] #这一行代码和下面2行是一样的
for i in l:
l2.append(str(i))
六、元组(tuple)
1. 元组数据结构与列表类似,元素可以有不同的类型,但是元组中的元素是不可变的,即一旦初始化之后,就不能再做修改(报错:元组对象不支持赋值)
2. 元组定义
a=(1,2,3,”hello”)
a=(1) 不是元组,只有一个元素不是元组
a=(1,) 是元组,只有一个元素的元组,定义时要加逗号
3. 元组的索引与切片同列表
a[1]
a[0:4]
4.可变数据类型:list、dict
不可变数据类型:tuple、str、float、int
七、字典(dict)
1. 字典是一种大小可变的键值对集,其中的键(key)和值(value)都是python对象,字典用在需要高速查找的地方
2. 字典的键是不允许重复的,值可以重复
3. 字典的定义
a={“name”:”张三”,”age”:14}
a={1:”张三”,2:3.25,3:”hello”}
4. 字典可以通过键取到对应的值
print(a[“name”]) 该函数可以打印出张三
print(a.get["name"]) get也可以取到对应得值,字典中不存在name这个key值时,返回none
print(a.get["name",0]) 字典中不存在name这个key值时,返回0
5.增加
a["age"]=18 增加键值对,key值存在,则直接修改值
a.setdefault("age",18) 增加键值对,key存在,则保留原来的值
6.删除
a.pop("age") 删除指定的key,会返回对应的值
del a["age"] 删除指定的值
a.clear() 清除字典
7.其他方法
a.keys() 把所有key值放到一个列表里
a.values 把所有值放到一个列表里
a.items() 将字典转换成二维数组
八、集合(set)
1. 集合是一种无序集,它是一组键的集合,不存储值
2. 在集合中,重复的键是不允许的,集合可以用于去除重复值
3. 集合也可以进行数学集合运算,如并、交、差以及对称差等
4. 应用:集合可以对列表去重,
5. 集合的定义
a={1,2,3,4,”hello”}
b=set([1,2,3,4,”hello”])
a.add('name') 添加元素
a.remove('name') 删除元素
6. 集合的差并集
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a-b) 集合的差集,结果为{1,2,3}
print(a.difference(b)) 取差集,结果为{1,2,3}
print(a|b) 集合的并集,结果为{1,2,3,4,5,6,7,8,9}
print(a.union(b) 取并集,结果为{1,2,3,4,5,6,7,8,9}
print(a&b) 集合的交集,结果为{4,5,6}
print(a.intersection(b)) 取交集,结果为{4,5,6}
print(a^b) 集合的对称差,结果为{1,2,3,7,8,9}
九、循环结构
1. for循环
1)格式
for 元素变量 in 序列:
执行语句
for循环循环指定次数:for i in range(初始值,结束值,步长):
2)例:
for i in range(1,100,1):
print(i)
2. while循环
1)与for循环不同的是,while循环的停止条件是个人自己设定的
2)格式:
while 判断条件:
执行语句
3)确定满足条件而不确定循环次数的时候使用
4)例:
i=0
while i<=100:
print(i)
i=i+1
3. continue 结束本次循环,直接开始下一次循环
遇到continue,continue之后的代码不执行,直接执行下一次循环
4. break 结束整个循环
5. 无限循环
1)循环中条件始终为True时,会出现无限循环(死循环)
2)例:
import time
i=1
while 1==1:
print(i)
i=i+1
time.sleep(1)
每个一秒打印一个递增的数字
十、函数
1. 定义函数
def square(x):
S=x*x
Return s
2. 函数里参数传递方式:顺序传入、关键词、默认参数、不定长参数;默认参数必须放到参数列表的末位。
3. 不定长参数定义的时候使用*,如:def add(*args)
4. 内置函数:
1)max(list):求取list最大值,max([1,2,3])
2)min(list):求取list最小值,max([1,2,3])
3)Round(a,b):获取指定位的小数,a代表浮点数,b代表要保留的位数
4)sum(list):求取list元素的和,
5)abs(a):求取绝对值,abs(-1)
6)sorted(list):排序,返回排序后的list
7)len(list):list长度
8)pow(2,3):获取乘方数
9)divmod(a,b):获取商和余
10)类型转换也属于内置函数,如int(a)
11)count()统计字符串里某个字符出现的次数,可以选择字符串索引的起始位置和结束位置
语法:str.count("char",start,end)或str.count("char") -> 返回整数
star —— 为索引字符串的起始位置,默认参数为0。
end —— 为索引字符串的结束位置,默认参数为字符串长度即len(str)
name = '小黑'
s='你的名字是{}'.format(name)
s='你的名字是{name}'
print(s.format_map({'name':'小白'})
19)a.islower() 判断是否为小写字母
20)a.isupper() 判断是否为大写字母
21) a.isdigit() 判断是否为数字
22)a.startswith('138') 判断以哪些字符开头
23) a.endswith('png') 判断以哪些字符结尾
24)a.isspace() 判断是否是空格
25)print(s.isalpha()) #如果是字母和汉字的话返回true26)print(s.isalnum()) #如果是字母、汉字和数字的返回true,只要不包含特殊字符都返回true
27)a.center() 居中设置
例:
s='欢迎光临'
print(s.center(50,'*'))
28)a.zfill() 补零,如将5填充为005
29)a.replace('a','A',2) 将a替换为A,后边的2为替换个数参数
30)a.split(',') 按照指定符号将字符串分割,返回一个列表,不传参数默认按空格分割
十一、模块
1.import是引入模块的关键字
只使用某模块下的一种方法:from random import choice
引用多个方法,方法之间用逗号隔开:from random import choice,random
引入模块里所有方法:from random import *
2.random模块
1)random.choice(['a','b','c']) 随机选择一个元素
2)random.randint(1,10) 随机产生一个1到10的整数
3)random.randrange(1,100,2) 随机产生一个1到100间隔为2的整数
4)random.uniform(1.1,5.4) 随机产生一个1.1到5.4的之间的浮点数,区间可以不是整数
5)random.sample('abcdefg',3) 多个字符中生成指定数量的随机字符
6)random.shuffle([1,3,5,7]) 打乱排序
3.copy模块
1)copy.deepcopy(a) 深拷贝对象a
2)copy.copy(a) 浅拷贝
4.pprint模块
pprint.pprint() 打印字符串类型
例:
a=['a','b','c']
pprint.pprint(''.join(a))
返回值为:‘abc’
5.string模块
string.ascii_uppercase 所有大写字母
string.ascii_lowercase 所有小写字母
string.digits 所有数字
string.punctuation 所有符号
十二、文件读写
1.所有文件分为两大类:一是文本文件,如文本文档;二是二进制文件,如图片、excel文件、word文档
2.文件读取
fh1=open(r“C:\001.txt”,”r”): open函数可以实现文件的读写,第一个r是转义字符,第一个引号里是文件路径,第二个r是读取,fh1是文件句柄
1)read()方法是读取文件,readline()是按行读取,readlines()按行读取所有
2)使用for循环也可以读取文件
fh1=open(r“C:\001.txt”,”r”)
for i in fh1:
print(i)
fh1.close()
3.文件的写入
1)fh1=open(r“C:\001.txt”,”w”): open函数可以实现文件的读写,第一个r是转义字符,第一个引号里是文件路径,w是写入,fh1是文件句柄
2)write(“写入的内容”)方法是文件写入,将需要写入的内容写到括号里,如果文件存在,就重新写入,如果文件不存在,则新建一个并写入
3)fh1=open(r“C:\001.txt”,”a”):a是append的缩写,追加写入
例:
f = open('a.txt','w',encoding='utf-8')
l = ['abc','123','abc1']
for i in l:
f.write(i+'\n')
f.close()
4.二进制文件读取
1)fh1=open(r“C:\001.jpg”,”rb”):文件读取
2)fh1=open(r“C:\001.jpg”,”wb”):文件写入,下图可实现文件复制
例:
f = open('users.txt',encoding='utf-8')
result = f.read()
print(result.split(','))
print(result)
f.close()