0.补充知识
- python IDE中的快捷键:
- alt+3 批量注释
- alt+4 批量取消注释
- ctrl+c 终止程序运行
输出:如果字符串内部有很多换行,用
\n写在一行里不好阅读(/n表示换行),为了简化,Python允许用'''...'''的格式表示多行内容>>> print('''line1... line2... line3''')#输出结果line1...line2...line3
1.注释
注释可以用快捷键:ctrl+/(单行注释:#;多行注释:’’’或”””)
- 单行注释:# 注释内容
- 多行注释:
2.数据类型
- 浮点型
对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x10就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
b=( ) 元组类型
c=[ ] 列表类型<br /> d={ } 字典类型
使用type()可以查看数据类型,如:
3.变量命名规则
- 必须以字母(a-z,A-Z)或下划线(_)开头
- 其他字符可以是字母、数字或下划线
- 变量区分大小写
-
4.运算符
4.1.算数运算符
+加 ,-减,乘,/除,%求余数,求指数(如t2就是求t的平方,t*3求t的三次方),//求除取整
4.2.比较运算符

a,b=4,5 #给a赋值4,给b赋值5 rise1,rise2=a>b,a<=b print(rise1) print(rise2) #------也可比较字符串------ c,d='xiaoli','xiaoming' rise3,rise4=c==d,c!=d print(rise3) print(rise4)运行结果:False
True
False
True
也可比较字符串:4.3.逻辑运算符
4.4.赋值运算符

对多个变量赋值时可以这样写:
a,b,c,d=10,2,4,6
表示把10赋给a,把2赋给b,把4赋给c,把6赋给d4.5.in和notin
in:判断值是否在列表中
- not in:判断值是否不在列表中
运行结果:True Truel=['xiaoli','xiaoming','xiaohong','xiaoyu','xiaoti'] res1='xiaoli' in l res2='dali' not in l print(res1,res2)5.输入和输出
5.1格式化输出方式1
以上代码显示结果为:name='小李' classpro='三年一班' print('我的名字是%s,来自[%s]'%(name,classpro)) # %为占位符,后面跟的是变量类型。 #如%s中s表示str(字符串)的数据类型(因为name和classpro均为字符串类型) age=22 print('今年%d岁了'%(age)) #age为int型,用d表示(digit:数字)
我的名字是小李,来自[三年一班]
今年22岁了
比较常用的占位符:
| %s | 通过str( )字符转换来格式化 | |
|---|---|---|
| %d | 有符号十进制整数 | |
| %f | 浮点实数 |
5.2格式化输出方式2
name='小李'
classpro='三年一班'
age=22
print('我的名字是{},来自{}'.format(name,classpro))
print('今年{}岁了'.format(age))
#花括号{}表示要填坑的地方
5.3输入
name=input("请输入您的姓名")
print('您的姓名是{}'.format(name))
6.流程控制(循环)
循环中的语句前有缩进,无缩进则表示该语句在循环体外。具体例子可看10.9的代码示例。
6.1顺序流程
6.2选择流程
if
if 条件表达式:
……
score=60
if score<60:
print(‘不及格’)
pass #此处可使用pass来占空,如果没想好写什么可以先用 pass占着
print('语句结束')
if else
if 条件表达式:
……
else:
……
if与else的缩进必须相同,否则会出错
age=10
if age<=4:
print('可以免费进入')
else:
if age<=12: #if与else的缩进必须相同,否则会出错
print('可以买半价票')
else:
print('要买全价票')
if elif
if 条件表达式:
……
elif 条件表达式:
……
age=4
if age<=4:
print('可以免费进入')
#当age满足<=4时,语句只执行到这里,剩下的语句不执行;若不满足,则执行elif;再不满足执行else
elif age<=12:
print('可以买半价票')
else:
print('要买全价票')
if语句的其他形式
- else语句中的情况只能有0个或1个,elif的情况可以有0个或多个。
在条件表达式中可以使用and或or。
age=56 if age<=4 or age>=60: print('可以免费进入') elif age<=12: print('可以买半价票') else: print('要买全价票') #运行结果为:要买全价票6.3循环流程
while 条件表达式:
……
for … in 可迭代集合对象:
……7.列表
7.1.定义列表
变量名 = [‘数据1’,’数据2’,’数据3’,. . . ]
- 生成有规律的数字列表:list(range(a,b,c))
生成a到b-1的数字列表,步长为c。步长为1时可写为list(range(a,b)。
l=list(range(3,10,2))生成3到10的数字列表,步长为2
print(l)
7.2.访问列表
变量名[数据序号]
names=['xiaoli','xiaoming','xiaohong'] #定义列表
print(names[1]) #访问‘xiaoming’这一元素
print(names[-1]) #访问倒数第1个元素'xiaohong'
7.3.截取子列表
变量名1=变量名2[元素序号n:元素序号m]
此处的变量名2也就是事先定义的列表的名称。
截取第n个元素到第m-1个元素(从0开始,左闭右开)。
names=['xiaoli','xiaoming','xiaohong','xiaoyu','xiaoti']
I0=names[0:3]#截取第0个到第2个元素(左闭右开)
print(I0)
I1=names[2:4]#截取第2个到第3个元素
print(I1)
7.4.元素的增加、删除和修改
- 增加:
- 在列表末尾增加元素:变量名.append(‘要增加的内容’)
- 在列表任意位置增加元素:变量名.insert(插入位置,’插入内容’)
- 删除:
- 按元素序号删除:del(变量名[删除元素的序号])
- 按数据删除:变量名.remove(‘要删除元素的内容’)。若列表中有相同内容的元素,remove会首先删除顺序靠前的元素。
修改:变量名[元素序号]=’要修改的内容’
names=['xiaoli','xiaoming','xiaohong','xiaoyu','xiaoti'] names[1]='daming'#修改元素 names.append('zhangsan')#在列表末尾增加元素 names.insert(1,'lisi')#在1号元素位置插入‘lisi’ del(names[3])#删除第3个元素,按序号删除元素 del(names[-1])#删除倒数第1个元素 names.remove('xiaoli')#按数据删除元素 print(names)7.5.method使用总结
methon()
- method(arg)
- xxV.methon()
- xxV.method(arg)
-
7.6.使用pop弹出列表数据
变量名.pop() #默认弹出列表中的最后一个数据
变量名.pop(元素序号) #弹出列表中相应序号的元素
names=['xiaoli','xiaoming','xiaohong','xiaoyu','xiaoti'] print(names.pop()) #弹出xiaoti print(names.pop(1)) #弹出xiaoming7.7.列表排序和翻转
排序:(永久排序,影响原列表,排序后列表变为排序后的列表)
- 正序排列:变量名.sort() #数字>大写字母>小写字母。
- 倒序排列:变量名.sort(reverse=True) #数字>大写字母>小写字母。
临时排序:(不影响原列表,排序后列表顺序不改变)
多维列表
name2=[['pingguo','xiangjiao','dongzao'],['lizi','putao','fanqie','xigua'],['liulian','caomei']] name3=[[['pingguo','xiangjiao'],['dongzao']],['lizi','putao','fanqie','xigua'],['liulian','caomei']] #name2是一个二维列表,name3是一个三维列表 print(name2[0][0]) #输出pingguo print(name2[1][2])#输出fanqie print(name3[0][0][1])#输出xiangjiao查询元素下标
变量名.index(‘查询内容’)
names=['lihua','Rain','Jack','Xiuxiu','Peiqi','Black']
l1=names.index('Peiqi')#查询元素下标
print(l1) #结果为4
合并列表
变量名1.append(变量名2)
将变量名2的所有列表元素作为一个元素加到变量名1的列表中变量名1.extend(变量名2)
将两个列表合并names=['lihua','Rain','Jack','Xiuxiu','Peiqi','Black'] names1=[1,2,3,4,'lihua'] names.extend(names1) #合并两个列表 print(names) names.append(names1) #将names1的所有元素作为一个元素追加到列表中 print(names)运行结果:

两个列表相加
l1=['lihua','Rain','Jack'] l2=['Xiuxiu','Peiqi','Black'] l=l1+l2#放入新列表中 l1=l1+l2#相加后放入原列表中 print(l)7.9.列表遍历
使用for循环遍历列表
names=['lihua','Rain','Jack'] for name in names: #每次循环都将names中的元素存入变量name中 print(name+‘你很棒!’) print(继续加油)#前面有缩进该语句时在循环体里面 print(全体加油)#前面无缩进时该语句在循环体外运行结果:
lihua你很棒!
继续加油
Rain你很棒!
继续加油
Jack你很棒!
继续加油
全体加油使用索引遍历列表
names=['lihua','Rain','Jack'] for t in range(0,len(names)): #此处len(names)获取列表names的长度,那么t就等于0,1,2 names[t]=names[t].upper() #把相应索引的元素变为大写字母,类似使用这样的方法可以按要求修改列表中的元素 print(names[t])遍历列表的简易方式
#----------常规方式----------------- l=[] #建立一个空列表l for t in range(1,11): #生成一个1到10的列表 l.append(t*10) #列表中的每个元素都乘以10并存入空列表l中 print(l) #----------简单方式----------------- l=[t*10 for t in range(1,11)] print(l)练习:将原列表中的元素平方后放入新列表中
#----------方法一--------------- newl=[] l=list(range(1,11)) #range()生成随机数闭右开,如此处生成1到10的随机数 for t in l: newl.append(t**2) print(newl) #----------方法二--------------- newl=[] for t in range(1,11): newl.append(t**2) print(newl) #----------方法三--------------- l=list(range(1,11)) for t in l: l[t-1]=t**2 print(l)7.10.复制列表
方式一
将原列表中的数据放入一个新列表。改变新列表中的元素,原列表元素不变
l=['lihua','Rain','Jack','Xiuxiu','Peiqi','Black']
newl=l[:]
newl[0]='梨花' #改变新列表中的元素,原列表元素不变
print(l)
print(newl)
运行结果:
[‘lihua’, ‘Rain’, ‘Jack’, ‘Xiuxiu’, ‘Peiqi’, ‘Black’]
[‘梨花’, ‘Rain’, ‘Jack’, ‘Xiuxiu’, ‘Peiqi’, ‘Black’]
- 方式二
改变新列表中的元素,原列表元素也同样变化
l=['lihua','Rain','Jack','Xiuxiu','Peiqi','Black']
newl=l #在这一步与方式一有所不同
newl[0]='梨花' #改变新列表中的元素,原列表元素也同样变化
print(l)
print(newl)
运行结果:
[‘梨花’, ‘Rain’, ‘Jack’, ‘Xiuxiu’, ‘Peiqi’, ‘Black’]
[‘梨花’, ‘Rain’, ‘Jack’, ‘Xiuxiu’, ‘Peiqi’, ‘Black’]
复制多份
l=['lihua','Rain','Jack','Xiuxiu','Peiqi','Black'] newl=l*2 #复制两份 newl[0]='梨花' #当复制两份时,改变新列表的元素,原列表元素不变 print(l) print(newl)运行结果:
[‘lihua’, ‘Rain’, ‘Jack’, ‘Xiuxiu’, ‘Peiqi’, ‘Black’]
[‘梨花’, ‘Rain’, ‘Jack’, ‘Xiuxiu’, ‘Peiqi’, ‘Black’, ‘lihua’, ‘Rain’, ‘Jack’, ‘Xiuxiu’, ‘Peiqi’, ‘Black’]7.11.元组(tuple)
与列表的区别:不可修改,也没有append()、insert()这样的方法,其他操作与列表相同。(即元组就是不可修改的列表)
因为tuple不可改变,所以数据更安全,能用tuple就不用list(列表)。
a=('lihua','Rain','Jack','Xiuxiu','Peiqi','Black')
a[0]='梨花' #执行该语句会报错,因为元组不可修改
for t in a: #其他操作与列表相同,如遍历列表
print(t)


