Python函數初學者指南
Python函數簡介
在當今快節奏的IT世界中,就某種技術的深入了解而言,在其他方面擁有優勢總是一種優勢。Python是一種廣泛使用的語言,它為熱情的學習者提供了'n'個機會。學習正確使用Python中的函數是任何Python開發人員的一項顯著技能。
在此Python Functions博客中,目標是為您提供入門和使用Python進行函數工作所需的專業知識。我將在此Python Functions博客中介紹以下主題:
為什么需要Python函數?
什么是Python函數?
Python函數類型
Python中的內置函數
Python遞歸函數
Python Lambda函數
Python中的用戶定義函數
讓我們通過首先檢查為什么需要Python函數開始這個Python函數博客。
為什么我們需要Python函數?
函數管理計算機程序中的輸入和輸出。編程語言旨在處理數據,而功能則是管理和轉換數據的有效方法。
通常進行修改以驅動諸如執行任務和查找結果之類的結果。并且,這樣做所需的一組操作或指令來自可以獨立于主程序重用的邏輯功能代碼塊。
實際上,主代碼也是一個函數,只是一個非常重要的函數。所有其他函數在邏輯上都進行了對齊和維護,以從您的主代碼執行功能。但是,如果該函數以前未定義,則只需要在使用它之前定義一個即可。這是因為該定義列出了其操作步驟。
您是要編寫10次還是僅使用一次并使用10次,來編寫一條代碼?
因此,功能不過是用戶想要執行的任務。但是,一次用名稱定義它可以讓您重用該功能,而又不會使您的主程序看起來太恐怖。這大大減少了代碼行,甚至使調試更加容易。
我們很快就會講到這一點,但是為什么使用一個函數的第一個原因是因為它的可重用性。甚至可以將復雜的操作組合為單項任務,而只需按其名稱運行即可運行的事實,這也使當今的計算機代碼變得更加清晰。
每種編程語言都可以讓您創建并使用這些功能來執行各種任務,而只需一個調用。而且,您可以多次調用它,而不必擔心每次都在邏輯上將其代碼結構化為您的主代碼。
讓我們首先通過一個簡單的示例來嘗試了解他們的需求。
假設您有一臺電視機,上面存儲著許多頻道,接收它們的數字廣播,將它們轉換為我們所觀看的內容,同時還為我們提供了多種其他功能的其他選擇。
但這并不意味著有人在邏輯上為每次打開電視或翻轉頻道時所觀看的內容編寫代碼行。而是,在邏輯上定義了每個任務在工作中的功能,并根據您嘗試使用的功能一次又一次地重復使用它們。
通過從正在運行的主函數中多次調用其不同的函數,可以實現所有這些功能。因此,即使您調高或調低音量,其定義的功能也會被反復調用。
而且,讓系統運行主要代碼來在需要時不斷調用這些函數,這也使得在其上進行設計和創新變得更加容易。
需要注意的重要一點是,每當調用此函數時,它就會根據其中指定的指令執行其任務。
這就是機器可以具有不同功能的方式。計算器可能是最常見的例子。它具有加,減,乘,除和其他功能。它的所有功能都已經明確地預定義了,但是它僅執行您選擇通過按其各自的按鈕來調用的功能。
程序員通過使用功能減少了編碼時間和調試時間,從而減少了總體開發時間。
接下來,在這個Python Functions博客上,讓我們看一下Python Functions的實際含義。
什么是Python函數?
Python中的函數是此類可重用性的經典示例。因此,為了為從GUI和數學計算到Web開發和測試的廣泛應用提供服務,Python的解釋器已經配備了許多可隨時使用的功能。而且,您還可以將其他包含易于使用的預定義功能的庫或模塊引入程序。
您真正需要做的就是下載所需的程序包,并根據其說明文件將其導入代碼中以自由使用其所有有用的功能。
因此,一旦定義了一個函數,就可以在任何代碼中的任意位置多次使用該函數。現在,這是因為Python符合軟件工程的DRY原理,該原理旨在用抽象替換任何重復的軟件模式或代碼,以避免冗余,并確保可以自由使用它們而不會透露其實現的任何內部細節。 。
DRY擴展為“不要重復自己”,擁有可重復使用的代碼塊的概念對于在Python中實現抽象至關重要。因此,要使用一個函數,您真正需要的就是它的名稱,用途,參數(如果需要)以及結果的類型(如果返回)。
這幾乎就像在使用汽車或電話一樣,您不必一定要了解其組件的工作原理才能使用它們。相反,它們已經被構建用于一般目的,您可以直接使用它們來實現目標,并花費寶貴的時間來實現應用程序的所有創新方面。而且,沒有人真正想知道程序中的函數在內部如何工作,只要它能完成任務。
因此,使用Python,除非您必須編寫一個新函數或更改現有函數的工作方式,否則您甚至不需要了解內部發生的一切,直到它按所需的方式工作為止。就像再次使用車輛或電話一樣,您需要在其中了解其工作方式以制造或修理它。同樣,一旦編寫了工作功能,就可以重復使用它,而無需再次查看其內部內容。
一個函數可以被稱為一次編寫的程序的一部分,并且可以在程序中需要的任何時候執行,從而使代碼具有可重用性。
該函數是處理數據并產生一些輸出的子程序。
要定義Python函數,您必須在函數名稱前使用'?def?'關鍵字,并在其末尾添加括號,后跟冒號(:)。
Python使用縮進來表示塊而不是括號,以使代碼更具可讀性。
Python中的函數可以包含任意數量的參數,也可以不包含任何參數。因此,在某些情況下,當您需要函數對其他代碼塊或主程序中的變量進行操作時,它可能會使用任意數量的參數并產生結果。
Python函數還可以選擇返回一個值。該值可能是函數執行所產生的結果,甚至可能是您在關鍵字“ return”之后指定的表達式或值。并且,在執行return語句后,程序流返回到函數調用旁邊的狀態,并從那里開始執行。
因此,要在代碼中的任何位置調用Python函數,只需使用其名稱并在括號中傳遞參數(如果有)。
命名函數的規則與命名變量的規則相同。它以AZ字母,大寫和小寫字母a或下劃線(_)開頭。其名稱的其余部分可以包含下劃線(_),數字(0-9),大寫或小寫字母。
不能選擇保留關鍵字作為標識符。
良好地使用語法,以確保增強的代碼可讀性。
最好根據其功能命名Python函數。在函數聲明的第一行下方使用文檔字符串。這是一個文檔字符串,它說明了該功能的作用。
接下來在這個Python函數博客中,讓我們檢查Python中可用的函數類型。
Python函數類型
有很多類型的Python函數。他們每個人都以自己的方式至關重要。以下是不同類型的Python函數:
Python內置函數
Python遞歸函數
Python Lambda函數
Python用戶定義函數
讓我們詳細檢查這些功能。從內置函數開始,因為它們非常易于理解和實現。
Python內置函數:
Python解釋器具有許多始終可用的功能。這些功能稱為內置功能。例如,print()函數將給定的對象打印到標準輸出設備(屏幕)或文本流文件中。
在Python 3.6中,有68個內置函數。但是為了簡單起見,讓我們考慮主要使用的功能,然后就可以在此基礎上進行構建。
Python abs()函數:
定義
abs()方法返回給定數字的絕對值。如果該數字是復數,則abs()返回其大小。
句法
abs()方法的語法為:
它(是否)
參數
abs()方法采用一個參數:
num??–要返回其絕對值的數字。該數字可以是:
整數
浮點數
復數
例子
# random integer integer = -20 print('Absolute value of -20 is:', abs(integer)) #random floating number floating = -30.33 print('Absolute value of -30.33 is:', abs(floating))
輸出
-20的絕對值是:20 -30.33的絕對值是:30.33
Python all()函數:
定義
當給定的iterable中的所有元素均為true時,all()方法將返回True。如果不是,則返回False。
句法
all()方法的語法為:
全部(可迭代)
參數
all()方法采用一個參數:
可迭代?–包含元素的任何可迭代(列表,?元組,?字典等)
例子
# all values true l = [1, 3, 4, 5] print(all(l)) # all values false l = [0, False] print(all(l)) # one false value l = [1, 3, 4, 0] print(all(l)) # one true value l = [0, False, 5] print(all(l)) # empty iterable l = [] print(all(l))
輸出
真 假 假 假 真
Python ascii()函數:
定義
ascii()方法返回一個字符串,其中包含對象的可打印表示形式。它使用x,u或U轉義符轉義字符串中的非ASCII字符。
句法
ascii()方法的語法為:
ascii(對象)
參數
ascii()方法采用一個對象(如?字符串,?列表?等)。
例子
normalText = 'Python is interesting' print(ascii(normalText)) otherText = 'Pyth?n is interesting' print(ascii(otherText)) print('Pythn is interesting')
輸出
“ Python很有趣” “ Pythn很有趣” Pyth?n很有趣
Python bin()函數:
定義
bin()方法轉換并返回給定整數的等效二進制字符串。如果參數不是整數,則必須實現__index __()方法以返回整數。
句法
bin()方法的語法為:
bin(數字)
參數
bin()方法采用一個參數:
num??–要計算其二進制當量的整數。
如果不是整數,則應實現返回整數的方法。?__index__()
例子
number = 5 print('The binary equivalent of 5 is:', bin(number))
輸出
5的二進制等效項是:0b101
Python bool()函數:
定義
bool()方法轉換并返回給定整數的二進制等效字符串。如果參數不是整數,則必須實現__index __()方法以返回整數。
句法
bool()方法的語法為:
bool([值])
參數
將值傳遞給bool()不是強制性的。如果不傳遞值,則bool()返回。?False
通常,bool()使用單個參數。?value
例子
test = [] print(test,'is',bool(test)) test = [0] print(test,'is',bool(test)) test = 0.0 print(test,'is',bool(test)) test = None print(test,'is',bool(test)) test = True print(test,'is',bool(test)) test = 'Easy string' print(test,'is',bool(test))
輸出
[]是False [0]是True 0.0是False None是False True是True Easy字符串是True
Python compile()函數:
定義
compile()方法從源返回Python代碼對象(正常字符串,字節字符串或AST對象)。
句法
compile()方法的語法為:
編譯(源,文件名,模式,標志= 0,dont_inherit = False,優化= -1)
參數
source?–普通字符串,字節字符串或AST對象
filename?–從中讀取代碼的文件。如果不是從文件中讀取,則可以自己命名
mode?–或或。?exec??eval??single
eval?–僅接受單個表達式。
exec?–它可能需要一個包含Python語句,類和函數等的代碼塊。
single?–如果它包含單個交互式語句
flags?(可選)和(可選)–控制將來的哪些語句會影響源代碼的編譯。默認值:0?dont_inherit
optimize?(可選)–編譯器的優化級別。默認值-1。
例子
codeInString = 'a = 5 b=6 sum=a+b print("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)
輸出
總和= 11
Python dict()函數:
定義
dict()構造函數在Python中創建一個字典。
句法
dict()構造函數的不同形式是:
class dict(** kwarg) class dict(mapping,** kwarg) class dict(iterable,** kwarg)
例子
numbers = dict(x=5, y=0) print('numbers = ',numbers) print(type(numbers)) empty = dict() print('empty = ',empty) print(type(empty))
輸出
空= dict() 打印('空=',空) 打印(類型(空))
Python enumerate()函數:
定義
enumerate()方法向可迭代對象添加計數器,然后將其返回(枚舉對象)。
句法
enumerate()方法的語法為:
枚舉(可迭代,開始= 0)
參數
enumerate()方法采用兩個參數:
可迭代?–支持迭代的序列,迭代器或對象
start?(可選)– enumerate()從該數字開始計數。如果省略開始,則將0作為開始。
例子
grocery = ['bread', 'milk', 'butter'] enumerateGrocery = enumerate(grocery) print(type(enumerateGrocery)) # converting to list print(list(enumerateGrocery)) # changing the default counter enumerateGrocery = enumerate(grocery, 10) print(list(enumerateGrocery))
輸出
Python eval()函數:
定義
eval()方法解析傳遞給此方法的表達式,并在程序中運行python表達式(代碼)。
句法
eval()方法的語法為:
eval(表達式,全局變量=無,本地變量=無)
參數
eval()具有三個參數:
表達式?–該字符串被解析并評估為Python表達式
全局變量?(可選)–字典
locals?(可選)-映射對象。字典是Python中標準且常用的映射類型。
例子
x = 1 print(eval('x + 1'))
輸出
總和= 11
Python filter()函數:
定義
filter()方法從可迭代的元素構造一個迭代器,函數針對該迭代器返回true。
句法
filter()方法的語法為:
過濾器(函數,可迭代)
參數
filter()方法采用兩個參數:
函數?–測試可迭代元素是否返回true或false
的函數如果為None,則該函數默認為Identity函數–如果任何元素為false則返回false
可迭代?–要過濾的可迭代,可以是?集合,?列表,?元組或任何迭代器的容器
例子
# list of alphabets alphabets = ['a', 'b', 'd', 'e', 'i', 'j', 'o'] # function that filters vowels def filterVowels(alphabet): vowels = ['a', 'e', 'i', 'o', 'u'] if(alphabet in vowels): return True else: return False filteredVowels = filter(filterVowels, alphabets) print('The filtered vowels are:') for vowel in filteredVowels: print(vowel)
輸出
過濾后的元音為: a e i o
Python getattr()函數:
定義
getattr()方法返回對象的命名屬性的值。如果找不到,它將返回提供給該函數的默認值。
句法
getattr()方法的語法為:
getattr(object,name [,默認])
參數
getattr()方法采用多個參數:
對象?–要返回其命名屬性值的對象
name??–包含屬性名稱的字符串
默認值(可選)??–找不到命名屬性時返回的值
例子
class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)
輸出
年齡是:23 年齡是:23
Python help()函數:
定義
help()方法調用內置的Python幫助系統。
句法
help()方法的語法為:
幫助(對象)
參數
help()方法最多使用一個參數。
對象?(可選)–您要生成給定的幫助?object
例子
>>> help('print')
Python id()函數:
定義
id()函數返回對象的身份(唯一整數)。
句法
id()方法的語法為:
id(對象)
參數
id()函數采用單個參數object。
例子
class Foo: b = 5 dummyFoo = Foo() print('id of dummyFoo =',id(dummyFoo))
輸出
dummyFoo的ID = 140343867415240
Python len()函數:
定義
len()函數返回一個對象中的項目數(長度)。
句法
len()方法的語法為:
鏡片)
參數
s??–序列(字符串,字節,元組,列表或范圍)或集合(字典,集合或凍結集合)
例子
testList = [] print(testList, 'length is', len(testList)) testList = [1, 2, 3] print(testList, 'length is', len(testList)) testTuple = (1, 2, 3) print(testTuple, 'length is', len(testTuple)) testRange = range(1, 10) print('Length of', testRange, 'is', len(testRange))
輸出
[]長度為0 [1、2、3]長度為3 (1、2、3)長度為3 range(1,10 )的長度為9
Python max()函數:
定義
max()方法返回兩個或更多參數的可迭代或最大的最大元素。
句法
max()方法的語法為:
max(iterable,* iterables [,key,default]) max(arg1,arg2,* args [,key])
參數
max()有兩種形式的參數可以使用。
max(iterable, *iterables[, key, default])
可迭代?–序列(元組,?字符串),集合(集合,?字典)或要查找其最大元素的迭代器對象
* iterables(可選)??–數量最多的可迭代對象
key(可選)??–傳遞可迭代對象并根據其返回值執行比較的鍵函數
默認值(可選)??–如果給定的iterable為空,則為默認值
max(arg1, arg2, *args[, key])
arg1??–強制比較的第一個對象(可以是數字,字符串或其他對象)
arg2??–用于比較的必需第二個對象(可以是數字,字符串或其他對象)
* args(可選)??–其他要比較的對象
key??–傳遞每個參數并根據其返回值執行比較的鍵函數
例子
# using max(arg1, arg2, *args) print('Maximum is:', max(1, 3, 2, 5, 4)) # using max(iterable) num = [1, 3, 2, 8, 5, 10, 6] print('Maximum is:', max(num))
輸出
最大值為:5 最大值為:10
Python min()函數:
定義
min()方法返回可迭代的最小元素或兩個或多個參數中的最小元素。
min()方法的語法為:
min(iterable,* iterables [,key,默認]) min(arg1,arg2,* args [,key])
參數
min()有兩種形式的參數可以使用。
min(iterable, *iterables[, key, default])
可迭代?–序列(元組,?字符串),集合(集合,?字典)或一個迭代器對象,其最小元素將被找到
* iterables(可選)??–數量最小的可迭代項
key(可選)??–傳遞可迭代對象并根據其返回值執行比較的鍵函數
默認值(可選)??–如果給定的iterable為空,則為默認值
min(arg1, arg2, *args[, key])
arg1??–強制比較的第一個對象(可以是數字,字符串或其他對象)
arg2??–用于比較的必需第二個對象(可以是數字,字符串或其他對象)
* args(可選)??–其他要比較的對象
key??–傳遞每個參數并根據其返回值執行比較的鍵函數
例子
# using min(arg1, arg2, *args) print('Minimum is:', min(1, 3, 2, 5, 4)) # using min(iterable) num = [3, 2, 8, 5, 10, 6] print('Minimum is:', min(num))
輸出
最小值為:1 最小值為:2
Python oct()函數:
定義
oct()方法采用整數并返回其八進制表示形式。如果給定的數字是整數,則必須實現__index __()方法以返回整數。
oct()方法的語法為:
oct(x)
參數
oct()方法采用單個參數?x。
該參數可以是:
整數(二進制,十進制或十六進制)
如果不是整數,則必須實現返回整數的方法?__index__()
例子
# decimal number print('oct(10) is:', oct(10)) # binary number print('oct(0b101) is:', oct(0b101)) # hexadecimal number print('oct(0XA) is:', oct(0XA))
輸出
oct(10)是:0o12 oct(0b101)是:0o5 oct(0XA)是:0o12
Python pow()函數:
定義
pow()方法將x返回y的冪。如果給定第三個參數(z),則它將x返回到y模數z的冪,即pow(x,y)%z。
pow()方法的語法為:
pow(x,y [,z])
參數
pow()方法采用三個參數:
x??–要供電的數字
y??–用x供電的數字
z(可選)??–用于模運算的數字
例子
# positive x, positive y (x**y) print(pow(2, 2)) # negative x, positive y print(pow(-2, 2)) # positive x, negative y (x**-y) print(pow(2, -2)) # negative x, negative y print(pow(-2, -2))
輸出
4 4 0.25 0.25
Python reversed()函數:
定義
reversed()方法返回給定序列的反向迭代器。
reversed()方法的語法為:
反轉(seq)
參數
reversed()方法采用一個參數:
seq??–應該反轉的序列
可能是支持序列協議(__len __()和__getitem __()方法)為?元組,?字符串,?列表?或?范圍
的對象可能是已實現__reversed __()的對象
例子
# for string seqString = 'Python' print(list(reversed(seqString))) # for tuple seqTuple = ('P', 'y', 't', 'h', 'o', 'n') print(list(reversed(seqTuple))) # for range seqRange = range(5, 9) print(list(reversed(seqRange))) # for list seqList = [1, 2, 4, 3, 5] print(list(reversed(seqList)))
輸出
['n','o','h','t','y','P'] ['n','o','h','t','y','P'] [8、7、6、5] [5、3、4、2、1]
Python sum()函數:
定義
sum()方法返回給定序列的反向迭代器。
sum()方法的語法為:
總和(可迭代,開始)
參數
可迭代?–可迭代(列表,元組,字典等),其項的總和將被找到。通常,可迭代項應為數字。
開始?(可選)–此值被添加到可迭代項的總和中。start的默認值為0(如果省略)
例子
numbers = [2.5, 3, 4, -5] # start parameter is not provided numbersSum = sum(numbers) print(numbersSum) # start = 10 numbersSum = sum(numbers, 10) print(numbersSum)
輸出
4.5 14.5
Python type()函數:
定義
如果將單個參數(對象)傳遞給內置的type(),它將返回給定對象的類型。如果傳遞了三個參數(名稱,基數和字典),則它將返回一個新的類型對象。
type()方法的語法為:
類型(對象) 類型(名稱,基數,字典)
參數
如果將單個?對象?參數傳遞給type(),則它將返回給定對象的類型。
例子
numberList = [1, 2] print(type(numberList)) numberDict = {1: 'one', 2: 'two'} print(type(numberDict)) class Foo: a = 0 InstanceOfFoo = Foo() print(type(InstanceOfFoo))
輸出
接下來在這個Python Functions博客上,讓我們看看Python中的遞歸函數。
Python遞歸函數
什么是Python中的遞歸?
遞歸是根據自身定義某些內容的過程。
一個物理世界的例子是放置兩個相互面對的平行反射鏡。它們之間的任何對象都將遞歸地反映出來。
Python遞歸函數
我們知道在Python中,一個?函數?可以調用其他函數。函數甚至可能會自行調用。這些類型的構造稱為遞歸函數。
以下是查找整數的階乘的遞歸函數的示例。
數字的階乘是從1到該數字的所有整數的乘積。例如,階乘5(表示為5!)為1 * 2 * 3 * 4 * 5 = 120。
例子:
# An example of a recursive function to # find the factorial of a number def calc_factorial(x): """This is a recursive function to find the factorial of an integer""" if x == 1: return 1 else: return (x * calc_factorial(x-1)) num = 4 print("The factorial of", num, "is", calc_factorial(num))
在上面的示例中,calc_factorial()?是一個遞歸函數,因為它調用了它自己。
當我們使用正整數調用此函數時,它將通過減少數量來遞歸調用自身。
每個函數調用將數字乘以1的階乘,直到數字等于1。
當數字減少到1時,遞歸結束。這稱為基本條件。每個遞歸函數必須具有停止遞歸的基本條件,否則該函數將無限調用自身。
遞歸的優點
遞歸函數使代碼看起來干凈整潔。
可以使用遞歸將復雜的任務分解為更簡單的子問題。
遞歸序列生成比使用嵌套嵌套迭代更容易。
遞歸的缺點
有時,遞歸背后的邏輯很難遵循。
遞歸調用很昂貴(效率低 ),因為它們占用大量內存和時間。
遞歸函數很難調試。
接下來在這個Python函數博客上,讓我們看看Python中的Lambda函數。
Python Lambda函數
什么是Lambda函數?
在Python中,匿名函數是沒有名稱定義的?函數?。
雖然通常的功能是使用關鍵字定義的,但在Python中,匿名功能是使用關鍵字定義的。?def??lambda
因此,匿名函數也稱為lambda函數。
如何在Python中使用Lambda函數?
python中的Lambda函數具有以下語法:
lambda參數:表達式
Lambda函數可以具有任意數量的參數,但只能有一個表達式。該表達式將被求值并返回。Lambda函數可在需要函數對象的任何地方使用。
例子
# Program to show the use of lambda functions double = lambda x: x * 2 # Output: 10 print(double(5))
輸出
10
在[1]中:
在上面的程序中,是Lambda函數。這里X是參數,是被評估,返回的表達。?lambda x: x * 2????x * 2
此功能沒有名稱。它返回一個分配給標識符的函數對象,double我們現在可以將其稱為普通函數。該聲明
double = lambda x:x * 2
幾乎與
def double(x): 返回x * 2
接下來在這個Python Functions博客上,讓我們看看如何在Python中使用用戶定義的函數
Python用戶定義函數
Python中用戶定義的函數是什么?
我們將自己定義為執行某些特定任務的功能稱為用戶定義功能。我們?已經討論了在Python中定義和調用函數的方式。
Python附帶的函數稱為內置函數。如果我們使用他人以庫的形式編寫的函數,則可以將其稱為庫函數。
我們自己編寫的所有其他函數都屬于用戶定義的函數。因此,我們的用戶定義函數可能是其他人的庫函數。
用戶定義功能的優點
用戶定義的函數有助于將大型程序分解為小段,從而使程序易于理解,維護和調試。
如果程序中出現重復的代碼。該函數可用于包含這些代碼,并在需要時通過調用該函數執行。
從事大型項目的程序員可以通過執行不同的功能來劃分工作量。
句法
def function_name(argument1,arguments2,...): ??? statement_1 ??? statement_2 ??? ....
例子
# Program to illustrate # the use of user-defined functions def add_numbers(x,y): sum = x + y return sum num1 = 5 num2 = 6 print("The sum is", add_numbers(num1, num2))
輸出
輸入一個數字:2.4 輸入另一個數字:6.5 總和為8.9
接下來在這個Python Functions博客上,讓我們看看如何使用Python創建一個簡單的應用程序。
使用Python程序創建一個簡單的計算器應用程序
在此示例中,您將學習創建一個簡單的計算器,該計算器可以根據用戶的輸入進行加,減,乘或除。
代碼
# Program make a simple calculator that can add, subtract, multiply and divide using functions # This function adds two numbers def add(x, y): return x + y # This function subtracts two numbers def subtract(x, y): return x - y # This function multiplies two numbers def multiply(x, y): return x * y # This function divides two numbers def divide(x, y): return x / y print("Select operation.") print("1.Add") print("2.Subtract") print("3.Multiply") print("4.Divide") # Take input from the user choice = input("Enter choice(1/2/3/4):") num1 = int(input("Enter first number: ")) num2 = int(input("Enter second number: ")) if choice == '1': print(num1,"+",num2,"=", add(num1,num2)) elif choice == '2': print(num1,"-",num2,"=", subtract(num1,num2)) elif choice == '3': print(num1,"*",num2,"=", multiply(num1,num2)) elif choice == '4': print(num1,"/",num2,"=", divide(num1,num2)) else: print("Invalid input")
輸出
選擇操作。 1.增加 2.Subtract 3.Multiply 4.Divide 輸入選擇(1/2/3/4):3 輸入第一數目:15 輸入第二個數字:14 15 * 14 = 210
在此程序中,我們要求用戶選擇所需的操作。選項1、2、3和4有效。取兩個數字,并使用一個?if...elif...else?分支來執行特定的部分。用戶定義的函數?add(),??subtract(),?multiply()?和?divide()?評估各自的操作。
結論
本教程中討論的概念應通過向Python添加功能和可操作性來幫助您使用Python構建自己的函數。
當您嘗試通過簡化過程并使其適合您的個人需求來創建應用程序時,這將非常方便。現在,您還應該能夠直接在Python的幫助下使用這些Python函數輕松地開發應用程序。
在閱讀了有關Python函數的博客之后,我很確定您想了解有關Python的更多信息。要了解有關Python的更多信息,可以參考以下博客:
Python教程–適用于初學者的Python編程
數據科學用Python
為什么要學習Python的十大理由
Python請求教程
Python
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。