-
如果在一個函數內部調用其自身,這個函數就是遞歸函數。
計算階乘 n! = 1 * 2 * 3 * ... * n,用函數 fact(n)表示
當輸入值?n?等于1時,函數返回1,因為任何數的0階乘都定義為1。
對于所有大于1的?n?值,函數通過調用自身?fact(n - 1)?來逐步減小問題規模,并將結果與當前的?n?相乘,從而實現階乘的計算過程。
遞歸情況:對于?n > 1,函數調用?fact(n - 1)?來計算?(n - 1)!,然后將其乘以當前的?n,得到?n!。
查看全部 -
return返回結果可以為None
除了返回None、一個值以外,函數也可以返回多個值,在函數中,如果需要返回多個值,多個值之間使用逗號分隔即可,但是需要注意順序。
查看全部 -
names = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
new_names = ['Hally', 'Isen', 'Jenny', 'Karl']
name_set = set(names)
name_set.update(new_names) # ==> set(['Jenny', 'Ellena', 'Alice', 'Candy', 'David', 'Hally', 'Bob', 'Isen', 'Karl'])
print(name_set)查看全部 -
交作業:
八個字就八個字唄
查看全部 -
1.在Python中,定義一個函數要使用 def 語句,依次寫出函數名、括號()、括號中的參數和冒號:,然后,在縮進塊中編寫函數體,函數的返回值用 return 語句返回。return表示返回的意思,函數體內部的語句在執行時,一旦執行到return時,函數就執行完畢,并將結果返回。
查看全部 -
>>> print('\', \", \\, \\\, \\n, \\t')????
', ", \, \\, \n, \t
解析:在此語法中,\只有成功轉意特殊字符才會消除,比如'\\\,'中,第一個\轉意了第二個\使其成為普通字符,第三個\后的,為普通字符,不滿足轉意條件,所以'\\\,'的輸出值
為\\, 。
常用的轉義字符還有:
\n表示換行
\t 表示一個制表符
\轉意特殊字符
(有錯誤的地方還請大神多多指教)查看全部 -
>>> a='python'
>>> print('holo',a or 'world')
holo python
解析:因為a的布爾值為true,根據or運算法則a or 'world'的取值為a,所以輸出值為:
holo python
>>> b=''
>>> print('holo',b or 'world')
holo world
解析:因為b為空字符串布爾值為false,同上
b or 'world'.的取值為'world'所以輸出值為:holo world
>>> c=' '
>>> print('holo',c or 'world')
holo?
解析:因為c為 空格字符串 布爾值為true
同理,c or 'world'的取值為c所以輸出值為:holo (空格)
(有錯誤的地方還請大佬多多指教!)查看全部 -
b=''
print('holo,',b or 'world')
holo, world
print('holo',b or 'world')
holo world
a='python'
print('holo',a or 'world')
holo python查看全部 -
《編程必備基礎知識》查看全部
-
我們把封裝重復邏輯代碼的過程叫做抽象.函數就是一種代碼抽象的方式。
abs()函數:求絕對值的函數 abs(),它接收一個參數數字。
cmp()函數,可以比較兩個數的大小,這個時候,cmp()函數就接收兩個參數。對于cmp(x, y),如果x < y 返回 -1,如果x == y 函數返回0,如果x > y函數返回1。
int()函數可以將合法的其它類型數據轉換為整數.
str()函數可以將其它類型的數據轉換為字符串。
sum()函數接收一個list作為參數,并返回list所有元素之和
Python內置的大部分函數文檔:https://docs.python.org/3/library/functions.html
內置函數及其簡要功能說明:
abs():返回數字(整數、浮點數或復數)的絕對值。
all():檢查可迭代對象中的所有元素是否都為True。
any():如果可迭代對象中有任意元素為True,則返回True。
bool():將對象轉換為布爾類型。
bytearray():創建一個可變字節數組。
dir():列出一個對象的所有屬性和方法。
delattr():刪除對象的屬性。
dict():創建一個字典。
enumerate():將可遍歷的數據對象(如列表、元組或字符串)組合為一個索引序列,同時列出數據和數據下標。
filter():根據提供的函數測試條件,過濾序列并返回通過測試的元素的新列表。
float():將對象轉換為浮點數。
getattr():獲取對象的屬性值。
help():提供交互式幫助或者顯示有關模塊、類、函數、方法等的幫助信息。
int():將對象轉換為整數。
len():返回對象(如列表、元組、字符串等)的長度。
list():將可迭代對象轉換為列表。
max():返回序列或數值的最大值。
min():返回序列或數值的最小值。
open():打開文件,并返回一個文件對象用于讀寫操作。
print():輸出指定的表達式到控制臺。
range():生成一個整數序列,通常用于循環遍歷。
set():創建一個無序且不包含重復元素的集合。
str():將對象轉換為字符串形式。
tuple():將可迭代對象轉換為元組。
type():返回對象的類型。
查看全部 -
常用的轉義字符還有:
\n表示換行
\t?表示一個制表符
\\表示?\?字符本身查看全部 -
not計算的優先級是高于and和or的。
True and not False # ==> True
短路計算
在計算a and b時,如果 a 是 False,則根據與運算法則,整個結果必定為 False,因此返回 a;如果 a 是 True,則整個計算結果必定取決與 b,因此返回 b。
在計算a or b時,如果 a 是 True,則根據或運算法則,整個計算結果必定為 True,因此返回 a;如果 a 是 False,則整個計算結果必定取決于 b,因此返回 b。
查看全部 -
set集合元素刪除:除了使用remove()方法刪除元素以外,還可以使用discard()方法刪除元素,并且,和remove()不同的是,當元素不存在時,使用discard()并不會引發錯誤
清除所有元素的方法clear():set集合.clear()
判斷集合是否重合: set提供isdisjoint()方法,可以快速判斷兩個集合是否有重合。如果有重合(即兩個集合中有相同的元素),isdisjoint()會返回False,否則返回True。
子集判斷: 判斷一個集合是否是另一個集合的子集,應該使用issubset()方法,而不是isdisjoint()方法。正確的用法是:set集合1.issubset(set集合2),如果set集合1中的所有元素都在set集合2中,那么返回True,否則返回False。
超集判斷方法: 判斷一個集合是否是另一個集合的超集,應該使用issuperset()方法。正確的用法是:set集合2.issuperset(set集合1),如果set集合2包含了set集合1中的所有元素,那么返回True,否則返回False。
intersection()方法用于計算兩個或多個集合的交集。它返回一個新的集合,其中包含了所有同時存在于傳入集合中的元素。
intersection()方法賦值變量可以直接打印元素出來,而isdisjoint()方法不能直接打印元素.
查看全部 -
set提供了remove()方法允許我們刪除set中的元素。,需要注意的是,如果remove的元素不在set里面的話,那么將會引發錯誤。
set集合.remove(去除元素).
set_name.remove(element)
參數解釋:
set_name:這是你要修改的集合的名稱。
element:這是你要從集合中刪除的元素。
查看全部 -
set提供了add()方法,我們可以使用add()方法,往set里面添加單個元素。
如果添加的元素已經存在于集合中,add()方法不會報錯,也不會對集合產生任何影響,因為集合中的元素是唯一的。
set提供了update()方法,可以一次性給set添加多個元素.它可以接受一個可迭代對象(如列表、元組、集合或其他set)作為參數,并將其中的所有元素添加到原set集合中。如果添加的元素已經在集合中,同樣不會報錯,也不會對集合產生額外的影響。
原set集合.update(新set集合).
查看全部
舉報