學習心得2020.07.19
阿新 • • 發佈:2020-07-19
012 列表
>>> list1=[123] >>> list2=[234] >>> list1>list2 False >>> list3=[123,456] >>> list1=[234,123] >>> list2=[123,456] >>> list1>list2 and list3==list2 True >>> list4=list1+list2 >>> list4 [234, 123, 123, 456] >>> list3*3 [123, 456, 123, 456, 123, 456] >>> list3*=3 >>> list3 [123, 456, 123, 456, 123, 456] >>> 123 in list3 True >>> '小甲魚' not in list3 True >>> 123 not in list3 False >>> list5=[123,['小甲魚','牡丹'],456] >>> '小甲魚'in list5 False >>> '小甲魚' in list5[1] True >>> list5[1][1] '牡丹' >>>
列表型別的內建函式
count()計算括號中引數在列表中出現的次數
>>> list3.count(123)
3
index()返回引數在列表中的位置
>>> list3.index(123)
0
>>> list3.index(123,3,5)
4
reverse()將整個列表原地翻轉
>>> list3.reverse()
>>> list3
[456, 123, 456, 123, 456, 123]
sort()指定的方式對列表的成員進行排序
>>> list6=[4,2,5,1,9,23,32,0] >>> list6.sort() >>> list6 [0, 1, 2, 4, 5, 9, 23, 32] >>> list6.sort(reverse=True) >>> list6 [32, 23, 9, 5, 4, 2, 1, 0]
013 元組:戴了枷鎖的列表
元組裡面的元素不能改變
列表可以任意的修改其中的元素
建立和訪問一個元組
>>> tuple1=(1,2,3,4,5,6,7,8)
>>> tuple1
(1, 2, 3, 4, 5, 6, 7, 8)
>>> tuple1[1]
2
>>> tuple1[5:]
(6, 7, 8)
更新和刪除一個元組
>>> temp=('小甲魚','黑夜','迷途','小布丁') >>> temp=temp[:2]+('怡靜',)+temp[2:] >>> temp ('小甲魚', '黑夜', '怡靜', '迷途', '小布丁')
014 字串的內建方法
- capitalize() 把字串的第一個字元改為大寫
>>> str2='xiaoxie'
>>> str2.capitalize()
'Xiaoxie'
- casefold() 把整個字串的所有字元改為小寫
>>> str3='DAXIExiaoxie'
>>> str3.casefold()
'daxiexiaoxie'
- center(width) 將字串居中,並使用空格填充至長度width的新字串
>>> str3.center(40)
' DAXIExiaoxie '
- count(sbu[,start[,end]])
返回sub在字串裡邊出現的次數,start和end引數表示範圍,可選。 - encode(encoding='utf-8', errors='strict')
以 encoding 指定的編碼格式對字串進行編碼。 - endswith(sub[, start[, end]])
檢查字串是否以 sub 子字串結束,如果是返回 True,否則返回 False。start 和 end 引數表示範圍,可選。 - expandtabs([tabsize=8])
把字串中的 tab 符號(\t)轉換為空格,如不指定引數,預設的空格數是 tabsize=8。 - find(sub[, start[, end]])
檢測 sub 是否包含在字串中,如果有則返回索引值,否則返回 -1,start 和 end 引數表示範圍,可選。 - index(sub[, start[, end]])
跟 find 方法一樣,不過如果 sub 不在 string 中會產生一個異常。 - isalnum()
如果字串至少有一個字元並且所有字元都是字母或數字則返回 True,否則返回 False。 - isalpha()
如果字串至少有一個字元並且所有字元都是字母則返回 True,否則返回 False。 - isdecimal()
如果字串只包含十進位制數字則返回 True,否則返回 False。 - isdigit()
如果字串只包含數字則返回 True,否則返回 False。 - islower()
如果字串中至少包含一個區分大小寫的字元,並且這些字元都是小寫,則返回 True,否則返回 False。 - isnumeric()
如果字串中只包含數字字元,則返回 True,否則返回 False。 - isspace()
如果字串中只包含空格,則返回 True,否則返回 False。 - istitle()
如果字串是標題化(所有的單詞都是以大寫開始,其餘字母均小寫),則返回 True,否則返回 False。 - isupper()
如果字串中至少包含一個區分大小寫的字元,並且這些字元都是大寫,則返回 True,否則返回 False。 - join(sub)
以字串作為分隔符,插入到 sub 中所有的字元之間。 - ljust(width)
返回一個左對齊的字串,並使用空格填充至長度為 width 的新字串。 - lower()
轉換字串中所有大寫字元為小寫。 - lstrip()
去掉字串左邊的所有空格 - partition(sub)
找到子字串 sub,把字串分成一個 3 元組 (pre_sub, sub, fol_sub),如果字串中不包含 sub 則返回 ('原字串', '', '') - replace(old, new[, count])
把字串中的 old 子字串替換成 new 子字串,如果 count 指定,則替換不超過 count 次。 - rfind(sub[, start[, end]])
類似於 find() 方法,不過是從右邊開始查詢。 - rindex(sub[, start[, end]])
類似於 index() 方法,不過是從右邊開始。 - rjust(width)
返回一個右對齊的字串,並使用空格填充至長度為 width 的新字串。 - rpartition(sub)
類似於 partition() 方法,不過是從右邊開始查詢。 - rstrip()
刪除字串末尾的空格。 - split(sep=None, maxsplit=-1)
不帶引數預設是以空格為分隔符切片字串,如果 maxsplit 引數有設定,則僅分隔 maxsplit 個子字串,返回切片後的子字串拼接的列表。 - splitlines(([keepends]))
在輸出結果裡是否去掉換行符,預設為 False,不包含換行符;如果為 True,則保留換行符。。 - startswith(prefix[, start[, end]])
檢查字串是否以 prefix 開頭,是則返回 True,否則返回 False。start 和 end 引數可以指定範圍檢查,可選。 - strip([chars])
刪除字串前邊和後邊所有的空格,chars 引數可以定製刪除的字元,可選。 - swapcase()
翻轉字串中的大小寫。 - title()
返回標題化(所有的單詞都是以大寫開始,其餘字母均小寫)的字串。 - translate(table)
根據 table 的規則(可以由 str.maketrans('a', 'b') 定製)轉換字串中的字元。 - upper()
轉換字串中的所有小寫字元為大寫。 - zfill(width)
返回長度為 width 的字串,原字串右對齊,前邊用 0 填充。
015 字串:格式化
>>> "{0} love {1}.{2}".format("1","FishC","com")
'1 love FishC.com'
>>> "{a} love {b}.{c}".format("1","FishC","com")
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
"{a} love {b}.{c}".format("1","FishC","com")
KeyError: 'a'
>>> "{a} love {b}.{c}".format(a="1",b="FishC",c="com")
'1 love FishC.com'
字串格式化符號含義
%c 格式化字元及其 ASCII 碼
%s 格式化字串
%d 格式化整數
%o 格式化無符號八進位制數
%x 格式化無符號十六進位制數
%X 格式化無符號十六進位制數(大寫)
%f 格式化浮點數字,可指定小數點後的精度
%e 用科學計數法格式化浮點數
%E 作用同 %e,用科學計數法格式化浮點數
%g 根據值的大小決定使用 %f 或 %e
%G 作用同 %g,根據值的大小決定使用 %f 或者 %E
格式化操作符輔助命令
m.n m 是顯示的最小總寬度,n 是小數點後的位數
- 用於左對齊
- 在正數前面顯示加號(+)
在八進位制數前面顯示 '0o',在十六進位制數前面顯示 '0x' 或 '0X'
0 顯示的數字前面填充 '0' 取代空格
Python 的轉義字元及其含義
' 單引號
" 雙引號
\a 發出系統響鈴聲
\b 退格符
\n 換行符
\t 橫向製表符(TAB)
\v 縱向製表符
\r 回車符
\f 換頁符
\o 八進位制數代表的字元
\x 十六進位制數代表的字元
\0 表示一個空字元
\ 反斜槓
>>> '%c' % 97
'a'
>>> '%c %c %c' % (97,98,99)
'a b c'
>>> '%d + %d = %d' % (4,5,4+5)
'4 + 5 = 9'
>>> '%f' % 27.658
'27.658000'
>>> '%e' % 27.658
'2.765800e+01'
' 27.7'
>>> '%.2e' %27.658
'2.77e+01'
>>> '%-10d' % 5
'5 '
>>> '%#o' % 10
'0o12'
>>> '%#X' % 108
'0X6C'
016 序列!序列!
- 列表、元組和字串的共同點
++ 都可以通過索引得到每一個元素
++ 預設索引值總是從0開始
++ 可以通過分片的方法得到一個範圍內的元素的集合
++ 有很多共同的操作符(重複操作符、拼接操作符、成員關係操作符)
list()把一個可迭代物件轉化為列表
>>> a=list()
>>> a
[]
>>> b='I love FishC.com'
>>> b=list(b)
>>> b
['I', ' ', 'l', 'o', 'v', 'e', ' ', 'F', 'i', 's', 'h', 'C', '.', 'c', 'o', 'm']
>>> c=(1,1,2,3,5,8,13,21,34)
>>> c=list(c)
>>> c
[1, 1, 2, 3, 5, 8, 13, 21, 34]
tuple([iterable])把一個可迭代物件轉換為元組
str(obj)把obj物件轉換為字串
max()返回序列或者引數集合中的最大值
min()返回序列或者引數集合中的最小值
sum(iterable[,start=0])返回序列iterable和可選引數start的總和
>>> tuple2=(3.1,2.3,3.4)
>>> sum(tuple2)
8.8
sorted()返回從小到大的排序
>>> numbers=(1,18,32,0,-98,45,73,20)
>>> sorted(numbers)
[-98, 0, 1, 18, 20, 32, 45, 73]
>>> reversed(numbers)
<reversed object at 0x0000023EE499F908>
>>> list(reversed(numbers))
[20, 73, 45, -98, 0, 32, 18, 1]
017 函式:python的樂高積木
用 def 關鍵字建立一個函式
>>> def MyFirstFunction():
print('這是我建立的第一個函式')
print('我表示很激動')
print('在此,我要感謝各位……')
>>> MyFirstFunction()
這是我建立的第一個函式
我表示很激動
在此,我要感謝各位……
>>> def MySecondFunction(name):
print(name+'我愛你!')
>>> MySecondFunction()
Traceback (most recent call last):
File "<pyshell#31>", line 1, in <module>
MySecondFunction()
TypeError: MySecondFunction() missing 1 required positional argument: 'name'
>>> MySecondFunction('小甲魚')
小甲魚我愛你!
>>> MySecondFunction('小魷魚')
小魷魚我愛你!
>>> def add(num1,num2):
result=num1+num2
print(result)
>>> add(1,2)
3
return()函式的返回值
>>> def add(num1,num2):
return (num1+num2)
>>> print(add(5,6))
11