Python 有很多有用的內置函數, 但還是不能滿足程序員的需求, 所以需要 自定義函數 。
創新互聯專業為企業提供涼山州網站建設、涼山州做網站、涼山州網站設計、涼山州網站制作等企業網站建設、網頁設計與制作、涼山州企業網站模板建站服務,10多年涼山州做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
如何編寫 自定義函數 , 需要用到 def語句, 函數名, 括號及參數, 冒號, 函數說明,內置縮進編碼模塊,return 語句 , 其中有一些也可省略不寫,后面會慢慢介紹。
編寫函數不可或缺的元素, 一定都要寫。函數名盡量寫得簡單易懂。
一般是對函數的描述說明。
這是編寫具體的 操作命令 的地方, 如果還未想好如何編寫, 可以使用 pass 來占位,讓程序可以運行起來,防止調試出錯。
參數放在最后講, 是因為這里面的東西還是很多的。首先看個例子。
如上的案例都是限制了參數個數的, 最多傳三個參數 name/age/city , 但是如果有一些特例,需要傳多個參數怎么辦呢。 參數前面加個 * , 變成 可變參數 。
那如果想要傳多個包含名稱的參數,例如a=1,b=2,c=3......,那該怎么寫呢。參數前面加個 ** , 變成 關鍵字參數 。
1.1 例如:print(hex(2))案例
1.2 輸出函數:print(hex(2))
1.3 輸出結果:0x2
1.4 解析說明:返回16進制的數。
2.1 例如:print(chr(10))案例
2.2 輸出函數:print(chr(10))
2.3 輸出結果:0o12
2.4 解析說明:返回當前整數對應的ASCll碼
3.1 例如:print(ord("b"))案例
3.2 輸出函數:print(ord("b"))
3.3 輸出結果:98
3.4 解析說明:返回當前ASCll碼的10進制數
4.1 例如:print(chr(97))
4.2 輸出函數:print(chr(97))
4.3 輸出結果:b
4.4 解析說明:返回當前ASCll碼的10進制數。
案例一:給你一個字符串,s = 'hello kitty'
1.1 輸出函數:print(s.capitalize())
1.2 輸出結果:0x2
1.3 解析說明:返回16進制的數。
2.1輸出函數:print(s.replace('kitty','kuang'))
2.2 輸出結果:hello kuang
2.3 解析說明:替換功能,將kitty換成kuang。
2.4 輸出函數:print(s.replace('4','KK'))
2.5 輸出結果:12KK12KK
2.6 解析說明:所有的4都替換成KK
2.7 輸出函數:print(s.replace('4','KK'))
2.8 輸出結果:12KK12KK124
2.9 解析說明:將前兩個的4替換成go
案例一:給你一個字符串,ip = '192.168.1.1'
3.1 輸出函數:print(ip.split(','))
3.2 輸出結果:['192.168.1.1']
3.3 解析說明:將字符串分割成列表
案例一:給你一個字符串,ip = '192.168.1.1'
3.3 輸出函數:print(ip.split(',',2))
3.4 輸出結果:['192.168.1.1']
3.5 解析說明:從第二個開始分割成列表
8個超好用內置函數set(),eval(),sorted(),reversed(),map(),reduce(),filter(),enumerate()
python中有許多內置函數,不像print那么廣為人知,但它們卻異常的強大,用好了可以大大提高代碼效率。
這次來梳理下8個好用的python內置函數
1、set()
當需要對一個列表進行去重操作的時候,set()函數就派上用場了。
用于創建一個集合,集合里的元素是無序且不重復的。集合對象創建后,還能使用并集、交集、差集功能。
2、eval()之前有人問如何用python寫一個四則運算器,輸入字符串公式,直接產生結果。用eval()來做就很簡單:eval(str_expression)作用是將字符串轉換成表達式,并且執行。
3、sorted()在處理數據過程中,我們經常會用到排序操作,比如將列表、字典、元組里面的元素正/倒排序。這時候就需要用到sorted() ,它可以對任何可迭代對象進行排序,并返回列表。對列表升序操作:
對元組倒序操作:
使用參數:key,根據自定義規則,按字符串長度來排序:
根據自定義規則,對元組構成的列表進行排序:
4、reversed()如果需要對序列的元素進行反轉操作,reversed()函數能幫到你。reversed()接受一個序列,將序列里的元素反轉,并最終返回迭代器。
5、map()做文本處理的時候,假如要對序列里的每個單詞進行大寫轉化操作。這個時候就可以使用map()函數。
map()會根據提供的函數,對指定的序列做映射,最終返回迭代器。也就是說map()函數會把序列里的每一個元素用指定的方法加工一遍,最終返回給你加工好的序列。舉個例子,對列表里的每個數字作平方處理:
6、reduce()前面說到對列表里的每個數字作平方處理,用map()函數。那我想將列表里的每個元素相乘,該怎么做呢?這時候用到reduce()函數。
reduce()會對參數序列中元素進行累積。第一、第二個元素先進行函數操作,生成的結果再和第三個元素進行函數操作,以此類推,最終生成所有元素累積運算的結果。再舉個例子,將字母連接成字符串。
你可能已經注意到,reduce()函數在python3里已經不再是內置函數,而是遷移到了functools模塊中。這里把reduce()函數拎出來講,是因為它太重要了。
7、filter()一些數字組成的列表,要把其中偶數去掉,該怎么做呢?
filter()函數輕松完成了任務,它用于過濾序列,過濾掉不符合條件的元素,返回一個迭代器對象。filter()函數和map()、reduce()函數類似,都是將序列里的每個元素映射到函數,最終返回結果。我們再試試,如何從許多單詞里挑出包含字母w的單詞。
8、enumerate()這樣一個場景,同時打印出序列里每一個元素和它對應的順序號,我們用enumerate()函數做做看。
enumerate翻譯過來是枚舉、列舉的意思,所以說enumerate()函數用于對序列里的元素進行順序標注,返回(元素、索引)組成的迭代器。再舉個例子說明,對字符串進行標注,返回每個字母和其索引。
python的常用內置函數
1.abs() 函數返回數字的絕對值
abs(-40)=40
2. dict() 函數用于創建一個字典
dict()
{} ? ? ?#創建一個空字典類似于u={},字典的存取方式一般為key-value
例如u = {"username":"tom", ?"age":18}
3. help() 函數用于查看函數或模塊用途的詳細說明
help('math')查看math模塊的用處
a=[1,2,3,4]
help(a)查看列表list幫助信息
4.dir()獲得當前模塊的屬性列表
dir(help)
['__call__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
5.min() 方法返回給定參數的最小值 /參數可以為序列
a=? min(10,20,30,40)
a
10
6. next() 返回迭代器的下一個項目
it = iter([1, 2, 3, 4, 5])
next(it)
1
next(it)
2
7. id() 函數用于獲取對象的內存地址
a=12
id(a)
1550569552
8.enumerate() 函數用于將一個可遍歷的數據對象(如列表、元組或字符串)組合為一個索引序列,同時列出數據和數據下標,一般用在 for 循環當中。
a=["tom","marry","leblan"]
list(enumerate(a))
[(0, 'tom'), (1, 'marry'), (2, 'leblan')]
9. oct() 函數將一個整數轉換成8進制字符串
oct(15)
'0o17'
oct(10)
'0o12'
10. bin() 返回一個整數 int 或者長整數 long int 的二進制表示
bin(10)
'0b1010'
bin(15)
'0b1111'
11.eval() 函數用來執行一個字符串表達式,并返回表達式的值
eval('2+2')
4
12.int() 函數用于將一個字符串會數字轉換為整型
int(3)
3
int(3.6)
3
int(3.9)
3
int(4.0)
4
13.open() 函數用于打開一個文件,創建一個file對象,相關的方法才可以調用它進行讀寫
f=open('test.txt')
14.str() 函數將對象轉化為適于人閱讀的形式
str(3)
'3'
15. bool() 函數用于將給定參數轉換為布爾類型,如果沒有參數,返回 False
bool()
False
bool(1)
True
bool(10)
True
bool(10.0)
True
16.isinstance() 函數來判斷一個對象是否是一個已知的類型
a=5
isinstance(a,int)
True
isinstance(a,str)
False
17. sum() 方法對系列進行求和計算
sum([1,2,3],5)
11
sum([1,2,3])
6
18. super() 函數用于調用下一個父類(超類)并返回該父類實例的方法。super 是用來解決多重繼承問題的,直接用類名調用父類方法
class ? User(object):
? def__init__(self):
class Persons(User):
? ? ? ? super(Persons,self).__init__()
19. float() 函數用于將整數和字符串轉換成浮點數
float(1)
1.0
float(10)
10.0
20. iter() 函數用來生成迭代器
a=[1,2,3,4,5,6]
iter(a)
for i in iter(a):
... ? ? ? ? print(i)
...
1
2
3
4
5
6
21.tuple 函數將列表轉換為元組
a=[1,2,3,4,5,6]
tuple(a)
(1, 2, 3, 4, 5, 6)
22.len() 方法返回對象(字符、列表、元組等)長度或項目個數
s = "playbasketball"
len(s)
14
a=[1,2,3,4,5,6]
len(a)
6
23. property() 函數的作用是在新式類中返回屬性值
class User(object):
?def __init__(self,name):
? ? ? ? ? self.name = name
def get_name(self):
? ? ? ? ? return self.get_name
@property
?def name(self):
? ? ? ? ?return self_name
24.type() 函數返回對象的類型
25.list() 方法用于將元組轉換為列表
b=(1,2,3,4,5,6)
list(b)
[1, 2, 3, 4, 5, 6]
26.range() 函數可創建一個整數列表,一般用在 for 循環中
range(10)
range(0, 10)
range(10,20)
range(10, 20)
27. getattr() 函數用于返回一個對象屬性值
class w(object):
... ? ? ? ? ? ? s=5
...
a = w()
getattr(a,'s')
5
28. complex() 函數用于創建一個復數或者轉化一個字符串或數為復數。如果第一個參數為字符串,則不需要指定第二個參數
complex(1,2)
(1+2j)
complex(1)
(1+0j)
complex("1")
(1+0j)
29.max() 方法返回給定參數的最大值,參數可以為序列
b=(1,2,3,4,5,6)
max(b)
6
30. round() 方法返回浮點數x的四舍五入值
round(10.56)
11
round(10.45)
10
round(10.45,1)
10.4
round(10.56,1)
10.6
round(10.565,2)
10.56
31. delattr 函數用于刪除屬性
class Num(object):
...? ? a=1
...? ? b=2
...? ? c=3.
.. print1 = Num()
print('a=',print1.a)
a= 1
print('b=',print1.b)
b= 2
print('c=',print1.c)
c= 3
delattr(Num,'b')
print('b=',print1.b)
Traceback (most recent call last):? File "", line 1, inAttributeError: 'Num' object has no attribute 'b'
32. hash() 用于獲取取一個對象(字符串或者數值等)的哈希值
hash(2)
2
hash("tom")
-1675102375494872622
33. set() 函數創建一個無序不重復元素集,可進行關系測試,刪除重復數據,還可以計算交集、差集、并集等。
a= set("tom")
b = set("marrt")
a,b
({'t', 'm', 'o'}, {'m', 't', 'a', 'r'})
ab#交集
{'t', 'm'}
a|b#并集
{'t', 'm', 'r', 'o', 'a'}
a-b#差集
{'o'}
概述
在Python3中,字符串格式化操作通過format()方法或者f'string'實現。而相比于老版的字符串格式化方式,format()方法擁有更多的功能,操作起來更加方便,可讀性也更強。該函數將字符串當成一個模板,通過傳入的參數進行格式化,并且使用大括號{}作為特殊字符代替%。
位置設定
默認位置
不指定格式化位置,按照默認順序格式化
示例結果:
設置位置
設置數字順序指定格式化的位置
示例結果:
設置關鍵字
設置關鍵字指定格式化的內容
示例結果:
參數傳遞
我們可以傳入各種類型參數格式化字符串,即不限于字符串變量或數字等。
元組傳參
利用元組傳參,傳參形式 *tuple
示例結果:
字典傳參
示例結果:
列表傳參
示例結果:
新聞名稱:python3+函數說明 Python3命令
URL標題:http://vcdvsql.cn/article24/hpjoce.html
成都網站建設公司_創新互聯,為您提供全網營銷推廣、網站導航、電子商務、網站設計公司、搜索引擎優化、面包屑導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯