-
函數參數是需要傳遞給函數內部的數據
函數參數可以是任意的數據類型,只要函數內部邏輯可以處理即可。
有時候由于函數的實現關系,需要特定的參數,就比如前面實現的求絕對值的函數my_abs(),如果傳遞一個字符串,就會引起錯誤。
為了保證函數的正常運行,有時候需要對函數入參進行類型的校驗,Python提供isinstance()函數,可以判斷參數類型,它接收兩個參數,第一個是需要判斷的參數,第二個是類型。
以下是絕對值的優化
def my_abs(x):
??? if not isinstance(x, int) or not isinstance(x, float):
??????? print('param type error.')
??????? return None
??? if x >= 0:
??????? return x
??? else:
??????? return -x查看全部 -
在函數內部,還可以調用其他函數
在函數內部調用其他函數,是非常常見的,通過合理拆分邏輯,可以降低程序的復雜度。如果在一個函數內部調用其自身,這個函數就是遞歸函數
使用遞歸函數需要注意防止棧溢出。在計算機中,函數調用是通過棧(stack)這種數據結構實現的,每當進入一個函數調用,棧就會加一層棧幀,每當函數返回,棧就會減一層棧幀。由于棧的大小不是無限的,所以,遞歸調用的次數過多,會導致棧溢出。查看全部 -
注意打印的result,其實它是tuple類型,如果我們需要取出結果中的周長或者面積,使用對應位置的下標就可以獲得對應的結果。查看全部
-
在Python中,定義一個函數要使用 def 語句,依次寫出函數名、括號()、括號中的參數和冒號:,然后,在縮進塊中編寫函數體,函數的返回值用 return 語句返回
請注意,return表示返回的意思,函數體內部的語句在執行時,一旦執行到return時,函數就執行完畢,并將結果返回。查看全部 -
win+R打開運行窗口查看全部
-
True or True # ==> True
True or False # ==> True
False or True # ==> True
False or False # ==> False查看全部 -
True and True # ==> True
True and False # ==> False
False and True # ==> False
False and False # ==> False查看全部 -
因為Python把0、空字符串和None看成False,其他數值和非空字符串都看成True,所以:
True and 0計算結果是0
繼續計算0 or 99計算結果是 99
因此,結果是99。
需要注意的是,not計算的優先級是高于and和or的。查看全部 -
在set里面,使用remove()函數進行元素的刪除,使用add()函數添加元素,使用update()函數批量添加元素
求list的長度len()函數
要調用一個函數,需要知道函數的名稱和參數,比如求絕對值的函數 abs(),它接收一個參數。
對于abs()函數,abs就是函數的名稱,括號()內,就是函數的參數,當函數沒有參數時,默認就是一個空括號。abs接收一個參數,這個參數就是需要求絕對值的數,這個參數可以是整數,也可以是浮點數
cmp()函數,可以比較兩個數的大小,這個時候,cmp()函數就接收兩個參數。
還有基礎數據類型的轉換函數,int()函數可以將合法的其它類型數據轉換為整數,str()函數可以將其它類型的數據轉換為字符串。查看全部 -
如果同學名字的列表和同學成績的列表是一一對應的,那么通過下標,我們也可以找到每個同學的成績。
names = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
scores = [45, 60, 75, 86, 49]
index = 0
for name in names:
? ?score = scores[index]
? ?print('name = {}, score = {}'.format(name, score))
? ?index = index + 1查看全部 -
num = 0
L = ['Alice', 66, 'Bob', True, 'False', 100]
for item in L:
? ? num = num + 1
? ? if num % 2 != 0:
? ? ? ? continue
? ? print(item)
查看全部 -
# Enter a code
L = ['Alice','Chinese',92,'Math',75,'Englise',99]
print(L)
查看全部 -
# Enter a code
s1 = 'ABC'
s2 = '123'
s3 = 'xyz'
for x in s1:
? ? for y in s2:
? ? ? ? for z in s3:
? ? ? ? ? ? print(x + y + z)
查看全部 -
# Enter a code
num = 0
sum = 0
while num <= 1000:
? ? num = num + 1
? ? if num % 2 == 1:
? ? ? ? continue
? ? sum = sum + num
print(sum)查看全部 -
# Enter a code
num = 2
sum = 0
while True:
? ? if num > 1000:
? ? ? ? break
? ? sum = sum + num
? ? num = num + 2
print(sum)
查看全部
舉報