欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python內(nèi)建函數(shù)教程,python自建函數(shù)

python中如何調(diào)用自己寫的函數(shù)

在python中,除了調(diào)用下載的擴展庫之外,還可以自定義函數(shù),方便自己。把基礎模塊放在固定文件夾(或相對固定文件夾),使用sys.append(r’自定義的模塊路徑’)實例如下:

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序制作、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了西峰免費建站歡迎大家使用!

1、在E:pycharm新建hello.py實現(xiàn)基礎功能函數(shù)(定義一個hello()函數(shù))

2、 調(diào)用自定義的函數(shù)

3、 運行結果為:

更多Python相關技術文章,請訪問Python教程欄目進行學習!以上就是小編分享的關于python中如何調(diào)用自己寫的函數(shù)的詳細內(nèi)容希望對大家有所幫助,更多有關python教程請關注環(huán)球青藤其它相關文章!

python文作操作函數(shù)open()

1.并非只能訪問文本文件

open可以訪問任何形式的文件,在訪問非文本格式文件(二進制文件)的時候,訪問模式通常加上‘b’(即二進制模式:‘rb’或‘wb’),但并不必須,依情況而定

2.路徑是填寫在前面的filename參數(shù)處的

如你的例子,若要只讀這個文件,則是:

open('D:\\123.txt', 'r')

(由于\是轉義符,所以要將他再轉義,才能得到\符號本身)

若要寫入,則是:

open('D:\\123.txt', 'w')

以此類推

如果是不加路徑,只有一個文件名:

open('123.txt', 'r')

則會在python運行的當前目錄下尋找該文件名的文件

另:讀模式(r)必須保證文件存在,寫模式(w)至少要保證文件所在目錄存在(文件本身可以不存在)

如果不滿足,則系統(tǒng)會拋出一個IOError

Python中冷門但非常好用的內(nèi)置函數(shù)

Python中有許多內(nèi)置函數(shù),不像print、len那么廣為人知,但它們的功能卻異常強大,用好了可以大大提高代碼效率,同時提升代碼的簡潔度,增強可閱讀性

Counter

collections在python官方文檔中的解釋是High-performance container datatypes,直接的中文翻譯解釋高性能容量數(shù)據(jù)類型。這個模塊實現(xiàn)了特定目標的容器,以提供Python標準內(nèi)建容器 dict , list , set , 和 tuple 的替代選擇。在python3.10.1中它總共包含以下幾種數(shù)據(jù)類型:

容器名簡介

namedtuple() 創(chuàng)建命名元組子類的工廠函數(shù)

deque 類似列表(list)的容器,實現(xiàn)了在兩端快速添加(append)和彈出(pop)

ChainMap 類似字典(dict)的容器類,將多個映射集合到一個視圖里面

Counter 字典的子類,提供了可哈希對象的計數(shù)功能

OrderedDict 字典的子類,保存了他們被添加的順序

defaultdict 字典的子類,提供了一個工廠函數(shù),為字典查詢提供一個默認值

UserDict 封裝了字典對象,簡化了字典子類化

UserList 封裝了列表對象,簡化了列表子類化

UserString 封裝了字符串對象,簡化了字符串子類化

其中Counter中文意思是計數(shù)器,也就是我們常用于統(tǒng)計的一種數(shù)據(jù)類型,在使用Counter之后可以讓我們的代碼更加簡單易讀。Counter類繼承dict類,所以它能使用dict類里面的方法

舉例

#統(tǒng)計詞頻

fruits = ['apple', 'peach', 'apple', 'lemon', 'peach', 'peach']

result = {}

for fruit in fruits:

if not result.get(fruit):

result[fruit] = 1

else:

result[fruit] += 1

print(result)

#{'apple': 2, 'peach': 3, 'lemon': 1}下面我們看用Counter怎么實現(xiàn):

from collections import Counter

fruits = ['apple', 'peach', 'apple', 'lemon', 'peach', 'peach']

c = Counter(fruits)

print(dict(c))

#{'apple': 2, 'peach': 3, 'lemon': 1}顯然代碼更加簡單了,也更容易閱讀和維護了。

elements()

返回一個迭代器,其中每個元素將重復出現(xiàn)計數(shù)值所指定次。元素會按首次出現(xiàn)的順序返回。如果一個元素的計數(shù)值小于1,elements()將會忽略它。

c = Counter(a=4, b=2, c=0, d=-2)

sorted(c.elements())

['a', 'a', 'a', 'a', 'b', 'b']most_common([n])

返回一個列表,其中包含n個最常見的元素及出現(xiàn)次數(shù),按常見程度由高到低排序。如果n被省略或為None,most_common()將返回計數(shù)器中的所有元素。計數(shù)值相等的元素按首次出現(xiàn)的順序排序:

Counter('abracadabra').most_common(3)

[('a', 5), ('b', 2), ('r', 2)]這兩個方法是Counter中最常用的方法,其他方法可以參考 python3.10.1官方文檔

實戰(zhàn)

Leetcode 1002.查找共用字符

給你一個字符串數(shù)組words,請你找出所有在words的每個字符串中都出現(xiàn)的共用字符(包括重復字符),并以數(shù)組形式返回。你可以按任意順序返回答案。

輸入:words = ["bella", "label", "roller"]

輸出:["e", "l", "l"]

輸入:words = ["cool", "lock", "cook"]

輸出:["c", "o"]看到統(tǒng)計字符,典型的可以用Counter完美解決。這道題是找出字符串列表里面每個元素都包含的字符,首先可以用Counter計算出每個元素每個字符出現(xiàn)的次數(shù),依次取交集最后得出所有元素共同存在的字符,然后利用elements輸出共用字符出現(xiàn)的次數(shù)

class Solution:

def commonChars(self, words: List[str]) - List[str]:

from collections import Counter

ans = Counter(words[0])

for i in words[1:]:

ans = Counter(i)

return list(ans.elements())提交一下,發(fā)現(xiàn)83個測試用例耗時48ms,速度還是不錯的

sorted

在處理數(shù)據(jù)過程中,我們經(jīng)常會用到排序操作,比如將列表、字典、元組里面的元素正/倒排序。這時候就需要用到sorted(),它可以對任何可迭代對象進行排序,并返回列表

對列表升序操作:

a = sorted([2, 4, 3, 7, 1, 9])

print(a)

# 輸出:[1, 2, 3, 4, 7, 9]對元組倒序操作:

sorted((4,1,9,6),reverse=True)

print(a)

# 輸出:[9, 6, 4, 1]使用參數(shù):key,根據(jù)自定義規(guī)則,按字符串長度來排序:

fruits = ['apple', 'watermelon', 'pear', 'banana']

a = sorted(fruits, key = lambda x : len(x))

print(a)

# 輸出:['pear', 'apple', 'banana', 'watermelon']all

all() 函數(shù)用于判斷給定的可迭代參數(shù)iterable中的所有元素是否都為 TRUE,如果是返回 True,否則返回 False。元素除了是 0、空、None、False外都算True。注意:空元組、空列表返回值為True。

all(['a', 'b', 'c', 'd']) # 列表list,元素都不為空或0

True

all(['a', 'b', '', 'd']) # 列表list,存在一個為空的元素

False

all([0, 1,2, 3]) # 列表list,存在一個為0的元素

False

all(('a', 'b', 'c', 'd')) # 元組tuple,元素都不為空或0

True

all(('a', 'b', '', 'd')) # 元組tuple,存在一個為空的元素

False

all((0, 1, 2, 3)) # 元組tuple,存在一個為0的元素

False

all([]) # 空列表

True

all(()) # 空元組

Trueany函數(shù)正好和all函數(shù)相反:判斷一個tuple或者list是否全為空,0,F(xiàn)alse。如果全為空,0,F(xiàn)alse,則返回False;如果不全為空,則返回True。

F-strings

在python3.6.2版本中,PEP 498提出一種新型字符串格式化機制,被稱為 “字符串插值” 或者更常見的一種稱呼是F-strings,F(xiàn)-strings提供了一種明確且方便的方式將python表達式嵌入到字符串中來進行格式化:

s1='Hello'

s2='World'

print(f'{s1} {s2}!')

# Hello World!在F-strings中我們也可以執(zhí)行函數(shù):

def power(x):

return x*x

x=4

print(f'{x} * {x} = {power(x)}')

# 4 * 4 = 16而且F-strings的運行速度很快,比傳統(tǒng)的%-string和str.format()這兩種格式化方法都快得多,書寫起來也更加簡單。

本文主要講解了python幾種冷門但好用的函數(shù),更多內(nèi)容以后會陸陸續(xù)續(xù)更新~

python、什么是內(nèi)建函數(shù)?

python內(nèi)建函數(shù)總結

1. abs(x)

abs()函數(shù)返回數(shù)字(可為普通型、長整型或浮點型)的絕對值。如果給出復數(shù),返回值就是該復數(shù)的模。例如:

print abs(-2,4)

2.4

print abs(4+2j)

4.472135955

2. apply(function,args[,keywords])

apply()函數(shù)將args參數(shù)應用到function上。function參數(shù)必須是可調(diào)用對象(函數(shù)、方法或其他可調(diào)用對象)。args參數(shù)必須以

序列形式給出。列表在應用之前被轉換為元組。function對象在被調(diào)用時,將args列表的內(nèi)容分別作為獨立的參數(shù)看待。例如:

apply(add,(1,3,4))

等價于

add(1,3,4)

在以列表或元組定義了一列參數(shù),且需要將此列表參數(shù)分別作為個個獨立參數(shù)使用的情況下,必須使用apply()函數(shù)。在要把變長參數(shù)列應用到已函數(shù)上時,apply()函數(shù)非常有用。

可選項keywords參數(shù)應是個字典,字典的關鍵字是字符串。這些字符串在apply()函數(shù)的參數(shù)列末尾處給出,它們將被用作關鍵字參數(shù)。

3. buffer(object[,offset[,size]])

如果object對象支持緩存調(diào)用接口buffer()函數(shù)就為object對象創(chuàng)建一個新緩存。這樣的對象包括字符串、數(shù)組和緩存。該新緩存通過使用從

offset參數(shù)值開始知道該對象末尾的存儲片段或從offset參數(shù)值開始直到size參數(shù)給出的尺寸為長度的存儲片段來引用object對象。如果沒

給出任何選項參數(shù),緩存區(qū)域就覆蓋整個序列,最終得到的緩存對象是object對象數(shù)據(jù)的只讀拷貝。

緩存對象用于給某個對象類型創(chuàng)建一個更友好的接口。比如,字符串對象類型通用緩存對象而變得可用,允許逐個字節(jié)地訪問字符串中的信息。

4. callable(object)

callable()函數(shù)在object對象是可調(diào)用對象的情況下,返回真(true);否則假(false),可調(diào)用對象包括函數(shù)、方法、代碼對象、類(在調(diào)用時返回新的實例)和已經(jīng)定義‘調(diào)用’方法的類實例

5. chr(i)

chr()函數(shù)返回與ASCII碼i相匹配的一個單一字符串,如下例所示:

print chr(72)+chr(101)+chr(108)+chr(111)

hello

chr()函數(shù)是ord()函數(shù)的反函數(shù),其中ord()函數(shù)將字符串轉換回ASCII整數(shù)碼,參數(shù)i的取值應在0~255范圍內(nèi)。如果參數(shù)i的取值在此范圍之外,將引發(fā)ValueError異常。

6. cmp(x,y)

cmp()函數(shù)比較x和y這兩個對象,且根據(jù)比較結果返回一個整數(shù)。如果xy,則返回正數(shù)。請注意,此函數(shù)特別用來比較數(shù)值大小,而不是任何引用關系,因而有下面的結果:

a=99

b=int('99')

cmp(a,b)

7. coerce(x,y)

coerce()函數(shù)返回一個元組,該元組由兩個數(shù)值型參數(shù)組成。此函數(shù)將兩個數(shù)值型參數(shù)轉換為同一類型數(shù)字,其轉換規(guī)則與算術轉換規(guī)則一樣。一下是兩個例子:

a=1

b=1.2

coerce(a,b)

(1.0,1.2)

a=1+2j

b=4.3e10

coerce(a,b)

((1+2j),(43000000000+0j))

8 compile(string,filename,kind)

compile()函數(shù)將string編譯為代碼對象,編譯生成的代碼對象接下來被exec語句執(zhí)行,接著能利用eval()函數(shù)對其進行求值。

filename參數(shù)應是代碼從其中讀出的文件名。如果內(nèi)部生成文件名,filename參數(shù)值應是相應的標識符。kind參數(shù)指定string參數(shù)中所含代碼的類別。

舉例如下:

a=compile(‘print “Hello World”’,’’,’single’)

exec(a)

Hello World

eval(a)

Hello World

9. complex(real,[image])

Complex()函數(shù)返回一個復數(shù),其實部為real參數(shù)值。如果給出image參數(shù)的值,則虛部就為image;如果默認image參數(shù),則虛部為0j。

10. delattr(object,name)

delattr()函數(shù)在object對象許可時,刪除object對象的name屬性,此函數(shù)等價于如下語句:

del object.attr

而delattr()函數(shù)允許利用編程方法定義來定義object和name參數(shù),并不是在代碼中顯示指定。

python中的filter函數(shù)怎么用

python filter內(nèi)建函數(shù)

filter函數(shù)是python內(nèi)建函數(shù),可以操作任何可迭代類型,如list,tuple,string.

filter需要帶上一個函數(shù)function和一個可迭代序列作為參數(shù)。filter()將調(diào)用該function作用于每一個可迭代序列的元素,并返回一個由該function驗證后返回值為true的元素組成新的可迭代序列,新序列的類型保持與filter參數(shù)序列的類型一致

2.filter與數(shù)字

下面用這個例子來說明:

#建個數(shù)字列表

numbers?=?[1,5,9,8,4,6,3,7]

#定義一個過濾標準,取小于5的數(shù)

def?lessThanFive(element):

return?element??5

print?filter(lessThanFive,?numbers)

輸出結果是列表:[1,4,3]

解說:此處的過濾函數(shù)lessThanFive必需帶入一個參數(shù)(filter()會調(diào)用lessThanFive,參數(shù)是列表nembers中的每一個元素,一次一個)。filter()返回所有值都是小于5的列表

3.filter與字符串

下面用如下例子說明:

#定義元組類型

names?=?('Jack',?'Jill,?'Steve',?'')

#篩選出名字

new_names?=?filter(None,?names)

print?new_names

輸出結果是元組:

('Jack',?'Jill,?'Steve')

在元組names最后一個名字是空字符串,而filter的第一個參數(shù)是None,這說明需要使用identity函數(shù)(該函數(shù)是簡單的返回該元素的)

因為python對空字符串,0和None作為False,所以上面的filter的語句就是移除空元素。

4.filter和函數(shù)

目的:找出以J開頭的名字

def?startsWithJ(element):

if?element:

return?element[0]?==?'J'

return?False

j_names?=?filter(startsWithJ,?names)

print?j_names

輸出結果是元組:('Jack',?'Jill')

注意到了嗎,上面的2個結果都是tuple而不是list,再一次說明fliter的返回值類型與參數(shù)序列的類型保持一致

Python中的input()、isinstance()函數(shù)如何使用?

Python解釋器內(nèi)置了許多函數(shù),這意味著我們無需定義,始終可以它們。接下來和大家一起討論一個常用的內(nèi)建函數(shù)-input()和isinstance()。

input()

input()函數(shù)讀取用戶輸入,并轉換成字符串:

a?=?input()??#?將input()返回的值賦值給a

Python

a????????????#?查看a的值(為字符串'Python')

'Python'

input()函數(shù)可以提供一個參數(shù),用來提示用戶:

b?=?input('請輸入你最喜歡的水果:??')???#?給用戶必要的提示

請輸入你最喜歡的水果:??香蕉

b

'香蕉'

需要注意的是,input()函數(shù)返回的值總是字符串,當用戶輸入的是數(shù)字也是這樣,所以當使用它時一定要注意:

num?=?input('請輸入一個數(shù)字:?')

請輸入一個數(shù)字:?10

num?+?9????????????????????????????#?試圖把num和數(shù)字相加

Traceback?(most?recent?call?last):

File?"",?line?1,?in

TypeError:?must?be?str,?not?int

num

'10'

type(num)???????????????????????????#?查看num的數(shù)字類型

class?'str'

isinstance()

isinstance()函數(shù)用于檢查對象是否為指定類(或者說數(shù)據(jù)類型)的實例。isintance()的第一個參數(shù)為一個對象,第二個參數(shù)為要檢查的數(shù)據(jù)類型。

舉個例子,比如有有一個變量,你想檢查它是否為數(shù)字類型,可以使用isinstance()函數(shù):

score?=?90

result?=?isinstance(score,?int)

if?result:

...?????print('score為int數(shù)據(jù)類型')

...?else:

...?????print('score不為int數(shù)據(jù)類型')

...

score為int數(shù)據(jù)類型

除了能檢查是否為int類型外,isintance()還能檢查其他數(shù)據(jù)類型(當然了),下面是一個綜合示例:

pi?=?3.14

name?=?'Wang'

complex_num?=?1?+?2j

isinstance(pi,?float)??????????????#?3.14為浮點數(shù)類型

True

isinstance(name,?str)??????????????#?'Wang'為字符串類型

True

isinstance(complex_num,?complex)???#??1?+?2j為復數(shù)

True

isinstance()還可以驗證某個對象是否為自定義的類型:

class?Developer:?????????????????????????????#?定義一個叫做Developer的類

...

...?????def?__init__(self,?name):????????????????#?__init__方法中,需要輸入名字

...?????????self.name?=?name

...?????def?display(self):???????????????????????#?定義了display()方法

...?????????print("Developer:",?self.name,?"-")

...

class?PythonDeveloper(Developer):????????????#?PythonDeveloper類,繼承了Developer類

...

...?????def?__init__(self,?name,?language):

...?????????self.name?=?name

...?????????self.language?=?language

...

...?????def?display(self):????????????????????????#?覆蓋了父類的display方法

...?????????print("Python?Developer:",?self.name,?"language:",?self.language,?"-")

...

dev?=?Developer('Zhang')?????????????????????#?創(chuàng)建一個Developer對象

dev.display()????????????????????????????????#?調(diào)用display()方法,以查看該對象

Developer:?Zhang?-

isinstance(dev,?Developer)???????????????????#?判斷dev是否為Developer類,答案是肯定的

True

isinstance(dev,?PythonDeveloper)?????????????#?判斷dev是否為PythonDeveloper類,當然不是

False

python_dev?=?PythonDeveloper('Liu',?'Python')??#?創(chuàng)建一個PythonDeveloper對象,注意PythonDeveloper是Developer的子類

python_dev.display()??????????????????????????#?調(diào)用display方法

Python?Developer:?Liu?language:?Python?-

isinstance(python_dev,?Developer)?????????????#?判斷python_dev是否為Developer類,答案是肯定的

True

isinstance(python_dev,?PythonDeveloper)??????#?判斷python是否為PythonDeveloper類,答案也是肯定的

True

關于Python的基礎問題可以看下這個網(wǎng)頁的視頻教程,網(wǎng)頁鏈接,希望我的回答能幫到你。

新聞標題:python內(nèi)建函數(shù)教程,python自建函數(shù)
當前鏈接:http://chinadenli.net/article16/hshcgg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化Google商城網(wǎng)站App設計虛擬主機App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化