數值相關
round(1.2345, 2)
:保留兩位小數(四捨五入)
列表相關
[].sort()
:原地從小到大排序列表,返回None
['a']*3 == ['a', 'a', 'a']
'a'*3 == 'aaa'
- 如果a是一個list,則
a[:]
相當於創建了一個a的副本,下面的示例可以同時更改a,而不會影響迭代
for i in a[:]:
a.remove(i)
字符串相關
''.join(['a', 'b'])
:把列表中的字符鏈接起來,列表中的元素類型必須爲str
'a b c d'.split(' ')
:以空格分隔字符串,返回一個list
'ABCD'.lower()
:把字符串都變成小寫字母
'123'.isdigit()
:如果字符串中都是數字,返回True
'hello'.isalpha()
:如果字符串中都是字母,返回True
'JIJI'.isupper()
:如果字符串中都是大寫字母,返回True
'jiji'.islower
:如果字符串中都是小寫字母,返回True
-
random包相關
random.random()
:返回0-1之間的隨機浮點數
random.choise([])
:返回列表中的一個隨機元素
random.randint(a, b)
:返回a-b之間的一個隨機整數
random.uniform(a, b)
:返回a-b之間的一個隨機浮點數
random.sample([], n)
:返回列表中的n個元素構成的新列表
random.randrange(0, 101, 2)
:返回0-100之間的偶數
random.shuffle([])
:打亂列表中元素的順序
注意
- 在python中,向函數傳遞一個列表,類似於向C++的函數中傳遞一個引用,函數中對這個列表的操作會改變函數外的列表。只要改變list中的元素,原list就會改變,即使這個list是在其他結構中(如dict)。如果想在函數中改變實參,就傳入list,否則,最好傳入tuple。
- python中的短路運算:在運行
a or b
的時候,如果a is True
,那麼python會跳過對b的判斷,表達式直接返回True
。例:if (a not in ['1', '2'] or int(a) is not 3)
,如果此時a=='2'
,是不會報錯的
type()
和isinstance()
的區別:type不會考慮繼承,isinstance會考慮繼承,例:
class A:
pass
class B(A):
pass
print(type(A()) == A)
print(type(B) == A)
print(isinstance(A(),A))
print(isinstance(B(),A))
- python3.6以後是可以在函數定義時寫類型提示的,例:
def func(a:int, b:str)->bool:
,如果引用函數時傳入的參數類型不對,pycharm會給出提示,但是python解釋器並不會報錯。
- python不同文件中間最好不要相互import,否則會報錯,如果非要互相引用的話,可以把import寫在相應函數中。