Python_函數調用_數學函數_組合


在編程的語境下,“函數”這個詞的意思是對一系列語句的組合,這些語句共同完成一種運算。

定義函數的時候,你要給這個函數指定一個名字,另外還要寫出進行運算的語句。定義完成后,就可以通過函數名來“調用”函數。

一,函數調用

一個函數調用的例子:

>>> type(42)

<class 'int'>

這個函數的名字就是tpye,括號里面的表達式叫做函數的參數,這個函數的結果是返回參數的類型。

一般來說,函數都要“傳入”一個參數,“返回”一個結果。結果也被叫做返回值。Python提供了 一些轉換數值類型的函數。

比如

(1)int這個函數就可以把值轉換成整形,但不是什么都能轉的, 遇到不能轉換的就會報錯了,如下所示:

>>> int('42')

42

>>> int('Hello')

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

ValueError: invalid literal for int() with base 10: 'Hello'

int這個函數能把浮點數轉成整形,但不是很完美,小數部分就都給砍掉了。

>>> int(3.1415927)

3

>>> int(-2.1314)

-2

(2)float能把整形和字符串轉變成浮點數

>>> float(32)

32.0

>>> float('3.1415927')

3.1415927

(3)str可以把參數轉變成字符串

>>> str(32)

'32'

>>> str(3.1415927)

'3.1415927'

二,數學函數

Python內置了一個數學模塊,這一模塊提供了絕大部分常用的數學函數。模塊就是一系列相關函數的集合成的文件。

在使用模塊中的函數之前,必須先要導入這個模塊,使用導入語句import:

>>> import math

這個語句建立了一個模塊對象,名字叫做math。把這個模塊對象顯示一下,得到與之相關的信息:

>>> math

<module 'math' from '/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/lib-dynload/math.cpython-37m-darwin.so'>

模塊對象包含了一些已經定義好的函數和變量。指定模塊名和函數名,要用點.(英文輸入法)來連接模塊名和函數名,比如下方的math.pi

例子:對弧度值計算正弦值。

通過變量名你應該能推測出正弦以及其他的三角函數 (比如余弦、正切等等)都要用弧度值作為參數。所以要把角度的值從度轉換成弧度,方法 就是除以180然后再乘以圓周率π

>>> degrees = 45

>>> radians = degrees / 180.0 * math.pi

>>> math.sin(radians)     #計算正弦值

0.7071067811865475

math.pi這個表達式從數學模塊中得到π的一個大概精確到15位的近似值,存成一個浮點數。

也可以試着把2的平方根除以二,可以得到與上面一致的結果。

>>> math.sqrt(2) / 2.0

0.7071067811865476

畫一個三角形,45度角兩直角邊是單位1,斜邊必然是2的平方根了,對應的正弦余弦也都是這個值(0.7071067811865476)。

三,組合

一門編程語言最有用的功能莫過於能夠用一個個小模塊來拼接創作。例如函數的參數可以是任何一種表達式,包括代數運算符:

>>> x = math.sin(degrees / 360.0 * 2 * math.pi)

再或者函數的調用本身也可以作為參數,如下的math.log()

>>> x = math.exp(math.log(x+1))

值得注意的是,一個聲明語句的左邊必須是變量名,任何其他的表達式放到等號左邊都會導致語法錯誤。

>>> hours = minutes * 60

>>> minutes * 60 = hours

  File "<stdin>", line 1

SyntaxError: can't assign to operator

結束。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM