2018-11-21 python學習第六天
print(len(l)) #顯示三個字符
i=0
while i<len(l):
print(l[i])
i+=1
l=[‘a‘,‘b‘,‘c‘]
for item in l: #item=‘a‘ # for循環打印列表內的元素
print(item)
dic={‘x‘:111,‘y‘:222,‘z‘:333}
for k in dic: #k=‘x‘ #for取值字典 也只是取值key,不取值value
print(k,dic[k]) #逐行打印key 和value的值
#while循環 VS for循環
#1.
#while循環:稱之為條件循環,循環的次數取決於條件何時為False ,條條件為False是循環終止
#2.
#for循環專門用來取值,在循環取值方面比while循環要強大,以後但凡
#遇到循環取值的場景,就應該用for循環
0 1 2
l=[‘a‘,‘b‘,‘c‘]
for i in range(3):
print(i,l[i])
for+break
names=[‘egon‘,‘kevin‘,‘alex‘,‘hulaoshi‘]
for name in names:
if name == ‘alex‘:break #當碰到break時,直接結束,所以alex 和hulaoshi都不會打印出來
print(name)
for+continue
names=[‘egon‘,‘kevin‘,‘alex‘,‘hulaoshi‘]
for name in names:
if name == ‘alex‘:continue #continue 與break最大區別就是 alex不會的打印,但是hulaoshi會打印出來
print(name)
for+else
names=[‘egon‘,‘kevin‘,‘alex‘,‘hulaoshi‘]
for name in names:
if name == ‘alex‘:break #else作用就是循環結束打印else的內容,但是碰到break之後,else內容不打印出來
print(name)
else:
print(‘=====>‘)
for循環嵌套
for i in range(3): #i=2
for j in range(2): #j=1
print(i,j) #2,1
‘‘‘
外層循環第一次:i=0
內層循環
0,0
0,1
外層循環第二次:i=1
內層循環
1,0
1,1
外層循環第三次: i=2
內層循環
2,0
2,1
‘‘‘
print(‘aaa ‘,end=‘‘) #這個知識點就是考核 讓兩個打印的內容並為一行,不用他默認的換行符,默認是用一個空格隔開
print(‘bbbbb‘,end=‘‘)
1. 整型int
======================================基本使用======================================
1、用途:記錄年齡、等級、號碼等
2、定義方式
age=10 # age=int(10)
類型轉換
print(int(3.1)) #吧浮點數轉換為整數
res=int(‘1111111‘)
print(res,type(res)) #查看轉換後的整數和查看類型
res=float(‘111111.1‘) #吧字符串轉換為浮點數
print(res,type(res))
了解(**)
十進制轉成。。。進制
print(bin(13))
print(oct(13))
print(hex(13))
3、常用操作+內置的方法
======================================該類型總結====================================
存一個值
不可變
x=10
print(id(x))
x=11
print(id(x))
1. 浮點型float
======================================基本使用======================================
1、用途:記錄身高、體重、薪資等
2、定義方式
salary=10.1 # salary=float(10.1)
類型轉換
print(float(10))
print(float(1.1))
print(float(‘1.1‘))
3、常用操作+內置的方法
======================================該類型總結====================================
存一個值
不可變
x=10.3
print(id(x))
x=11.2
print(id(x))
#字符串類型str
======================================基本使用======================================
1、用途:記錄描述性值的狀態,比如名字、性別等
2、定義方式
msg=‘hello world‘ #msg=str(‘hello world‘)
類型轉換: 可以把任意類型專場字符串類型
res1=str(10)
res2=str(10.3)
res3=str([1,2,3])
res4=str({‘x‘:1}) #res4="{‘x‘:1}"
#
print(type(res1))
print(type(res2))
print(type(res3))
print(type(res4))
3、常用操作+內置的方法
#優先掌握的操作:(*****)
#1、按索引取值(正向取+反向取) :只能取
msg=‘hello world‘
#
print(type(msg[0])) #查看第一個取出來元素的屬性
print(msg[-1]) #取最後一個值
msg[0]=‘H‘
#2、切片(顧頭不顧尾,步長)
msg=‘hello world‘
print(msg[0]+msg[1]+msg[2])
print(msg[0:5])
print(msg[0:5:2]) #0 2 4
print(msg[0:])
print(msg[:])
print(msg[-1:-5:-1]) #-1 -2 -3 -4
print(msg[::-1]) #-1 -2 -3 -4 #讓整個字符串全部反過來顯示
#3、長度len:統計的是字符的個數
msg=‘h你d‘
print(len(msg)) #統計msg內有幾個字符數 ,中文也算一個字符
#4、成員運算in和not in:判斷一個子字符串是否存在與一個大字符串中
msg=‘hello world‘
print(‘ho‘ in msg)
print(‘ho‘ not in msg)
#5、移除空白strip:移除字符串左右兩邊的某些字符
msg=‘ hello ‘
print(msg.strip(‘ ‘))
print(msg.strip()) #去除整個字符串的空格 常用於讓用戶輸入賬號和密碼用的
print(msg)
name=input(‘name>>>: ‘).strip() #name=‘egon‘
pwd=input(‘password>>>: ‘).strip()
#
if name == ‘egon‘ and pwd == ‘123‘:
print(‘login successfull‘)
else:
print(‘username or password error‘)
msg=‘*hello**‘
print(msg.strip(‘*‘)) #strip內可以自行定義,但是只能去除左右兩邊的,這裏顯示h**ello
msg=‘-=+h/ello(_+__‘
print(msg.strip(‘*-=+/(_‘))
#6、切分split: 把有規律的字符串切成列表從而方便取值
info=‘egon:18:180:150‘
res=info.split(‘:‘,1) #split 是讓他以什麽為標識,來切分
print(res)
print(res[1]) #切分好的還可以用標識符來顯示 這裏顯示18:180:150 如果是0就是顯示egon
info=‘egon:18:180:150‘
res=info.split(‘:‘) #吧他們以:為標識,全部切分開來
print(res)
#
#
s1=res[0]+‘:‘+res[1]+‘:‘+res[2]+‘:‘+res[3]
s1=‘‘
for item in res:
s1+=item
print(s1)
#
#
s1=‘:‘.join(res) #join是用:吧剛剛split切分開來的元素結合起來
print(s1)
‘:‘.join([1,2,3,4,5])
#7、循環
for i in ‘hello‘: #吧hello這個字符串完全切分出來
print(i)
需要掌握的操作(****)
#1、strip,lstrip,rstrip
msg=‘*hello‘
print(msg.strip(‘‘)) #去除左右兩邊的
print(msg.lstrip(‘‘)) #去除左邊的
print(msg.rstrip(‘‘)) #去除右邊的
#2、lower,upper
msg=‘AaBbCc123123123‘
print(msg.lower()) #全部改為小寫
print(msg.upper()) #全部改為大寫
#3、startswith,endswith
msg=‘alex is dsb‘
print(msg.startswith(‘alex‘)) #查看是不是以alex開頭的
print(msg.endswith(‘sb‘)) #查看是不是以sb結尾的
#4、format的三種玩法
msg=‘my name is %s my age is %s‘ %(‘egon‘,18)
print(msg)
msg=‘my name is {name} my age is {age}‘.format(age=18,name=‘egon‘)
print(msg) #格式化輸入,要添加的值用{}替換
了解
msg=‘my name is {} my age is {}‘.format(18,‘egon‘)
msg=‘my name is {0}{0} my age is {1}{1}{1}‘.format(18,‘egon‘)
print(msg)
#5、split,rsplit
cmd=‘get|a.txt|33333‘
print(cmd.split(‘|‘,1)) #split是以什麽為切割
print(cmd.rsplit(‘|‘,1)) #從右邊開始以| 來切割
#6、replace
msg=‘kevin is sb kevin kevin‘
print(msg.replace(‘kevin‘,‘sb‘,2)) #吧kevin 改為SB 改2次
#7、isdigit #當字符串內為純數字時結果為True
res=‘11111‘
print(res.isdigit())
int(res)
age_of_bk=18
inp_age=input(‘your age: ‘).strip()
if inp_age.isdigit():
inp_age=int(inp_age) #int(‘asdfasdfadfasdf‘)
if inp_age > 18:
print(‘too big‘)
elif inp_age < 18:
print(‘to small‘)
else:
print(‘you got it‘)
else:
print(‘必須輸入純數字‘)
了解(**)
#1、find,rfind,index,rindex,count
print(‘xxxkevin is sb kevin‘.find(‘kevin‘))
print(‘xxxkevin is sb kevin‘.index(‘kevin‘))
print(‘xxxkevin is sb kevin‘.rfind(‘kevin‘))
print(‘xxxkevin is sb kevin‘.rindex(‘kevin‘))
#
res=‘xxxkevin is sb kevin‘.find(‘kevasdfsadfin‘) #區別就是find錯誤有返回值,而index錯誤直接報錯
print(res)
res=‘xxxkevin is sb kevin‘.index(‘kevasdfsadfin‘)
print(‘kevin is kevin is kevin is sb‘.count(‘kevin‘)) #顯示kevin出現了幾次
#2、center,ljust,rjust,zfill
print(‘egon‘.center(50,‘‘)) #總共五十個字符 不足用頂替,egon放中間
print(‘egon‘.ljust(50,‘*‘))
print(‘egon‘.rjust(50,‘*‘))
print(‘egon‘.zfill(50))
#3、captalize,swapcase,title
print(‘my name is kevin‘.capitalize())
print(‘AaBbCc‘.swapcase())
print(‘my name is kevin‘.title())
#4、is其他
name=‘egon123‘
print(name.isalnum()) #字符串由字母或數字組成
print(name.isalpha()) #字符串只由字母組成
print(name.islower())
print(name.isupper())
name=‘ ‘
print(name.isspace())
msg=‘I Am Egon‘
print(msg.istitle())
======================================該類型總結====================================
存一個值
有序
不可變(1、可變:值變,id不變。可變==不可hash 2、不可變:值變,id就變。不可變==可hash)
x=‘aaa‘
print(id(x))
x=‘bbb‘
print(id(x))
2018-11-21 python學習第六天