[TOC] 控制流程之for迴圈 基本語法 while可以迴圈一切事物 for 迴圈提供了一種手段,不依賴索引取值 for+break for+continue for+else for迴圈不被break終止就執行else後面的代碼,否則就不執行 for迴圈列印lodaing 數字類型內置方法 整型 ...
目錄
控制流程之for迴圈
基本語法
for 變數名(會拿到容器類元素的每一個值) in 容器類元素:
print(變數名)
for i in range(5):
print(i)
# 列印結果:
0
1
2
3
4
while可以迴圈一切事物
for 迴圈提供了一種手段,不依賴索引取值
for+break
for i in range(1, 101): # 取1-100,range顧頭不顧尾
if i == 50:
break # 中斷迴圈,只取到1-49
print(i)
for+continue
for i in range(1, 101):
if i == 51:
continue # continue跳出本次迴圈,不執行下麵代碼
print(i)
for+else
for i in range(1, 101):
if i == 51:
break
print(i)
print('沒有被break中斷我就出來')
for迴圈不被break終止就執行else後面的代碼,否則就不執行
for迴圈列印lodaing
import time
print('Loading', end='')
for i in range(10):
print('.', end='')
time.sleep(0.2)
print(1, end='*') # print後面的end控制列印的狀態
print(1, end='*')
print(1, end='*')
print(1, end='*')
# 列印結果:1*1*1*1*
數字類型內置方法
整型 int
作用:描述年齡
定義方式:x = 10
使用方法:+ - * / % // **
有序or無序:數字類型沒有有序無序一說
可變不可變:(值變id值變,為不可變;值變id值不變,為可變)整型不可變
浮點型 float
作用:描述薪資
定義方式:x = 2.1
使用方法:+ - * / % // **
有序or無序:數字類型沒有有序無序一說
可變不可變:(值變id值變,為不可變;值變id值不變,為可變)浮點型不可變
字元串內置方法
作用:描述姓名
定義:單引號 / 雙引號 / 三單引號 / 三雙引號
使用方法:
優先掌握:
- 索引取值
s = 'hello world'
print(s[1]) # 取到e
- 切片
s = 'hello world'
print(s[0:4]) # hell
print(s[4:0:-1]) # olle
print(s[:]) # hello world
- 長度 len
s = 'hello world'
print(len(s)) # 字元長度為11
- 成員運算 in / not in
s = 'hello world'
print('hello' in s) # True
print('hello' not in s) # False
- 移除strip
s = ' hello world '
print(s.strip()) # hello world 預設去除兩端空白
s = ' **hello world **'
print(s.strip('* ')) # hello world
- split切分
s = 'cwz|19|180|140'
print(s.split('|')) # ['cwz', '19', '180', '140']
- 迴圈
s = 'cwz123'
for i in s:
print(i)
# 列印結果:
c
w
z
1
2
3
需要掌握:
- startswith / endswith 以...開始 / 以...結束
s = 'hello world'
print(s.startswith('hello')) # True
print(s.endswith('world')) # True
- lstrip或rstrip
s1 = '**hello world**'
s2 = '**hello world**'
print(s1.lstrip('*')) # hello world**
print(s2.rstrip("*")) # **hello world
lower或upper
s3 ='HellO WOrLD' print(s3.lower()) print(s3.upper())
rsplit
s4 = 'cwz|123|neo|140'
print(s4.split('|',1)) # ['cwz', '123|neo|140']
print(s4.rsplit('|',1)) # ['cwz|123|neo', '140']
- join
s4 = 'cwz|123|neo|140'
s_list = s4.split('|')
print('*'.join(s_list) # cwz*123*neo*140
- replace
s5 = 'hello world'
print(s5.replace('h', '6')) # 6ello world
- isdigit和isalpha
s6 = '122324'
print(s6.isdigit()) # True 判斷是否全為數字
print(s6.isalpha()) # False 判斷是否全為字母
其他操作:
- find / rfind / index / rindex / count
s = 'my name is cwz, age is 20'
print(s.find('m')) # 0 find查找索引值,找到第一個就不往後找了,找不到返回-1
print(s.rfind('s')) # 21 rfind從右往左查找索引值
print(s.index('s')) # 9 返回索引值
print(s.rindex('s')) # 21
print(s.count('s')) # 2 計數
- center()、ljust()、rjust()、zfill()
s = 'hello world'
print(s.center(20,'*')) # ****hello world***** 居中
print(s.ljust(20, '*')) # hello world********* 居左
print(s.rjust(20, '#')) # #########hello world 居右
print(s.zfill(20)) # 預設用0填充 000000000hello world
- expandtabs()
s = 'aaa\tbbb'
print(s.expandtabs()) # aaa bbb 預設製表符8個字元
- capitalize()、swapcase()、title()
s = 'HeLlO WoRlD'
print(s.capitalize()) # Hello world 首字母大寫,其他小寫
print(s.swapcase()) # hElLo wOrLd 大小寫轉換
print(s.title()) # Hello World 每個單詞首字母大寫
有序or無序: 字元串可以索引,有序
可變or不可變:字元串值變id值改變,--》字元串不可變
列表內置方法
作用:[]記憶體儲多個值,各元素以逗號隔開
定義方式:lt = [1,23,4]
使用方法:
優先掌握:
- 索引取值 / 索引修改值
lt = [1,2,3,4,5]
print(lt[1]) # 2
lt[0] = 66
print(lt) # [66, 2, 3, 4, 5]
- 切片
lt = [1,2,3,4,5]
print(lt[0:4]) # [1, 2, 3, 4]
- 成員運算
lt = [1,2,3,4,5]
print(1 in lt) # True
print(0 in lt) # False
- for 迴圈
lt = [1,2,3,4,5]
for i in lt:
print(i)
- append 追加值
lt = [1,2,45]
lt.append([12,3]) # [1, 2, 45, [12, 3]]
print(lt)
- del 刪除值
lt = [1,2,3,4,5]
del lt[4]
print(lt) # [1,2,3,4]
- len
lt = [1,23,4,[8,5],'www']
print(len(lt)) # 5
需要掌握:
- sort
# sort
lt = [1,23,8,9,4,21,412]
lt.sort() # 排序
print(lt) # [1, 4, 8, 9, 21, 23, 412]
- reverse
# reverse 反轉
lt = [9,23,1,4,0,8]
lt.reverse() # 列表反轉
print(lt) # [8, 0, 4, 1, 23, 9]
- remove
# remove
lt = [9,23,1,4,0,8]
lt.remove(9) # 按值刪除
print(lt) # [23, 1, 4, 0, 8]
- pop
lt = [9,23,1,4,0,8]
lt.pop(1) # 按索引刪除值
print(lt) # [9, 1, 4, 0, 8]
- extend
# extend
lt1 = [9,23,1,4,0,8]
lt2 = [1111,2222]
lt1.extend(lt2) # 擴展列表
print(lt1) # [9, 23, 1, 4, 0, 8, 1111, 2222]
- copy
# copy
print([1,23,4,0].copy()) # [1, 23, 4, 0]
- clear
# clear
lt = [9,23,1,4,0,8]
lt.clear() # 清空列表
print(lt) # []
- count
# count
lt = [9,23,1,4,0,1,23,4]
print(lt.count(1)) # 計數 2
- index
# index
lt = [9,23,1,4,0,8]
print(lt.index(0)) # 返回索引值 4
- insert
# insert
lt = [9,23,1,4,0,8]
lt.insert(0, 777) # 按索引前插入值
print(lt) # [777, 9, 23, 1, 4, 0, 8]
有序or無序:能索引取值,列表有序
可變or不可變:列表可變