python语句.docx
- 文档编号:25414705
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:15
- 大小:18.63KB
python语句.docx
《python语句.docx》由会员分享,可在线阅读,更多相关《python语句.docx(15页珍藏版)》请在冰豆网上搜索。
python语句
python语句
print语句
print函数中使用逗号输出多个表达式,打印的结果之间使用空格隔开。
>>>print('name:
','zyj','age:
','24')
name:
zyjage:
24
>>>print(1,2,3)
123
import语句
importsomemodule
fromsomemoduleimportsomefunction
fromsomemoduleimportsomefunction,anotherfunction,yetanotherfunction
fromsomemoduleimport*
importsomemoduleasnewmodulename
fromsomemoduleimportsomefunctionasnewfunctionname
frommodule1importopenasopen1
frommodule2importopenasopen2
赋值语句
1、多个赋值操作同时进行
>>>x,y,z=1,2,3
>>>print(x,y,z)
123
>>>x,y=y,x
>>>y,z=z,y
>>>print(x,y,z)
231
2、序列解包:
将多个值得序列解开,然后放到变量的序列中.注:
必须进行等长元素赋值,否则会报错。
>>>values=1,2,3
>>>print(values)
(1,2,3)
>>>x,y,z=values
>>>print(x)
1
>>>lst=[1,2,3]
>>>a,b,c=lst
>>>print(a,b,c)
123
>>>str='hello'
>>>a,b,c,d,e=str
>>>print(a,b,c,d,e)
hello
3、使用*的特性可以将其他参数都收集在一个变量中的实现,通过此方式返回的均为列表。
>>>
>>>a,b,*rest=[1,2,3,4]
>>>print(a,b,rest)
12[3,4]
>>>*rest,a=(1,2)
>>>print(rest,a)
[1]2
>>>d={'name':
'zyj','score':
'99'}
>>>d1=d.keys()
>>>print(d1)
dict_keys(['name','score'])
>>>*rest,c=d1
>>>print(rest,c)
['name']score
4、链式赋值:
是将同一值赋值给多个变量的捷径
当赋值对象为不可变元素,则赋值相同的对象给不同的变量,其id是相同的,即内存中有一份对象,只是引用计数增加而已。
当赋值对象为可变元素,则赋值相同的对象给不同的变量,其id是不相同的,即内存中有两份对象。
>>>x=y='hello'
>>>print(x,y)
hellohello
>>>y='hello'
>>>x=y
>>>print(id(x),id(y))
4670899246708992
>>>a='hello'
>>>b='hello'
>>>print(id(a),id(b))
4670899246708992
>>>c=d=[1,2,3,4]
>>>print(id(c),id(d))
4227858442278584
>>>g=[1,2]
>>>f=g
>>>print(id(g),id(f))
4662046446620464
>>>e=[1,2,3,4]
>>>f=[1,2,3,4]
>>>print(id(e),id(f))
4661850446626056
>>>
5、增量赋值:
如x+=1等同于x=x+1,对于*/%等标准运算符都适用
>>>x=2
>>>x+=1
>>>print(x)
3
>>>x//=3
>>>print(x)
1
>>>str1='hello,'
>>>str1+='world!
'
>>>str1*=2
>>>print(str1)
hello,world!
hello,world!
条件与条件语句
布尔表达式:
FalseNone0""()[]{}会被解释器视为false,其他的一切都解释为真,包括特殊值Ture
>>>
>>>sum=True+False
>>>print(sum)
1
bool函数用来转换其他值为布尔值
>>>print(bool(''),bool([]),bool(()),bool(0),bool(dict()),bool(True),bool('0'))
FalseFalseFalseFalseFalseTrueTrue
条件执行和if语句
if语句:
如果条件为真,则执行后面的语句块。
为假则不执行
else子句:
属于if语句的子句,当if为假时,则执行else的语句块
elif子句:
如果检查多个条件,就可以使用elif,同时也具有else的子句
print('guessnumbergamebegin!
')
num=500
while(True):
num1=int(input('Enteranumber:
'))
ifnum1>num:
print('sorry,it\'sbiggerthanexpectnum,pleasetryagain')
elifnum1 print('sorry,it\'ssmallerthanexpectnum,pleasetryagain') else: print('good,it\'sright') break 嵌套代码块: if语句中可以嵌套if语句 while(True): name=input('whatisyourname? ') name=name.title() ifname.endswith('Zhao'): ifname.startswith('Mr.'): print('hello,Mr.Zhao') elifname.startswith('Mrs.'): print('hello,Mrs.Zhao') else: print('hello,Zhao') else: print('hello,stranger') break 更复杂的条件 比较运算符: x==y、x =y、xisy、xisnoty、xiny、xnotiny 使用==运算符来判断两个对象是否相等,使用is判定两者是否等同(同一个对象) >>>x=y=[1,2,3,4] >>>z=[1,2,3,4] >>>print(xisy) True >>>print(xisz) False >>>print(id(x),id(y),id(z)) 385564563855645641088104 >>>print(xisnotz) True >>>print(x==z) True >>>a=b=('hello') >>>c=('hello') >>>print(id(a),id(b),id(c)) 386480643864806438648064 >>>print(aisc) True >>> 字符串和序列比较 >>>print('a'<'b') True >>>print('ZYj'.lower()=='zyj') True >>>print([1,2]<[2,1]) True 布尔运算符: andornot number=int(input('enteranumberbetween1and10: ')) ifnumber<=10andnumber>=1: print('Great') else: print('wrong') ifnot0: #返回真; print('Great') else: print('wrong') 短路逻辑和条件表达式: 在Xandy中如果x为假,表达式会返回x的值。 如果x为真,会返回y的值; 在xory中,如果x为真,直接返回x的值,否则就返回y的值。 >>>print(0or4) 4 >>>print(1or4) 1 >>>print(0and4) 0 >>>print(1and4) 4 >>> 断言: 判断语句后的值为真,否则直接报错 >>>age=10 >>>assert0 >>>age=-1 >>>assert0 Traceback(mostrecentcalllast): File" assert0 AssertionError 循环 while循环 name='' whilenotname.strip(): name=input('enteryourname: ') print('hello,%s! '%name) number=0 nums=[] while(number<=100): nums.append(number) number+=1 print(nums) for循环 内建范围函数: range(),range(0,10)range(10)[0,1,2,3,4,5,6,7,8,9] num=range(10) print(num) fornumberinrange(0,10): print(number) 循环遍历字典元素 d={"name": 'zyj','score': '99'} forkeyind: print(key,d[key]) >>> namezyj score99 >>> d1=dict(name1='zyj',score1=90,name2='sl',score2='60') print(d1) print(d1.items()) forkey,valueind1.items(): print(key,value) >>> {'score1': 90,'name1': 'zyj','score2': '60','name2': 'sl'} dict_items([('score1',90),('name1','zyj'),('score2','60'),('name2','sl')]) score190 name1zyj score260 name2sl >>> 并行迭代: 同时迭代两个序列, 使用索引方式实现: names=['zyj','sl','xh'] ages=['10','20','30'] foriinrange(len(names)): print(names[i]+'is'+ages[i]+'yearsold') >>> zyjis10yearsold slis20yearsold xhis30yearsold >>> zip函数可以进行并行迭代,将两个序列“压缩”在一起。 然后返回一个元组的列表或迭代器对象,注意: zip可以处理不等长的序列 names=['zyj','sl','xh'] ages=['10','20','30'] print(zip(names,ages)) forname,ageinzip(names,ages): print(name+'is'+age+'yearsold') >>> zyjis10yearsold slis20yearsold xhis30yearsold s=zip(range(5),range(10)) fori,jins: print(i,j) 00 11 22 33 44 >>> 按索引迭代enumerate函数迭代序列的索引-值对,返回的是索引-值对的元组迭代器 s1=['hello','world'] print(s1) print(enumerate(s1)) forindex,valueinenumerate(s1): #遍历序列中所有的序列和值 s1[index]='hi'#将所有的元素进行替换,不可变序列不可替换 print(index,s1[index]) print(s1) >>> ['hello','world'] 0hi ['hi','world'] 1hi ['hi','hi'] #返回不可变序列的索引-值对。 s2='hello' print(enumerate(s2)) forindex,valueinenumerate(s2): print(index,value) 0h 1e 2l 3l 4o >>> 翻转和排序迭代: reversed和sorted,可作用于任何序列和可迭代对象,不是原地操作,而是返回翻转或排序后的版本,reversed返回迭代器对象 print(sorted([1,2,3,5,6,4,3,1])) print(reversed([1,2,3,5,6,4,3,1])) print(list(reversed([1,2,3,5,6,4,3,1]))) print(tuple(reversed([1,2,3,5,6,4,3,1]))) print(sorted('hello! ')) print(reversed('hello! ')) print(list(reversed('hello! '))) print(tuple(reversed('hello! '))) >>> [1,1,2,3,3,4,5,6] [1,3,4,6,5,3,2,1] (1,3,4,6,5,3,2,1) ['! ','e','h','l','l','o'] ['! ','o','l','l','e','h'] ('! ','o','l','l','e','h') >>> 列表推导式 list=[x*xforxinrange(10)] print(list) list1=[x*xforxinrange(10)ifx%2==0] print(list1) list2=[(x,y)forxinrange(3)foryinrange(3)] print(list2) list2=[[x,y]forxinrange(3)foryinrange(3)] print(list2) list2=[{x: y}forxinrange(3)foryinrange(3)] print(list2) list2=[(x,y)forxinrange(3)foryinrange(3)ifx%2ifx%3] print(list2) >>> [0,1,4,9,16,25,36,49,64,81] [0,4,16,36,64] [(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)] [[0,0],[0,1],[0,2],[1,0],[1,1],[1,2],[2,0],[2,1],[2,2]] [{0: 0},{0: 1},{0: 2},{1: 0},{1: 1},{1: 2},{2: 0},{2: 1},{2: 2}] [(1,0),(1,1),(1,2)] >>> pass语句什么都不做,可以作为占用符使用, del用来删除变量,或者数据结构的一部分,但是不能用来删除值,python有内建垃圾回收,会对值进行删除 exec: 执行python程序 eval(): 函数对写在字符串中的表达式进行计算并返回结果 x=1 delx #print(x)#返回x未定义 x=['hello','world'] y=x y[1]='python' print(x) delx print(y)#y为hellopython exec("print('hello,world')") frommathimportsqrt exec("sqrt=1") #print(sqrt(4))#返回变量不可用 frommathimportsqrt scope={}#scope为放置代码字符串命名空间作用的字典 exec("'sqrt=1'inscope") print(sqrt(4)) print(eval("2*3")) >>> ['hello','python'] ['hello','python'] hello,world 2.0 6 >>> ord()返回单字符字符串的int值 chr(n)返回n所代表的包含一个字符的字符串 >>>print(ord("c")) 99 >>>print(chr(99)) c >>>
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 语句