python亂七八糟知識點

數值相關

  • 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寫在相應函數中。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章