這一篇文章主要介紹函式、模塊、運行python檔案等知識,
函式
函式猶如小程式,可以用來執行特定的操作,Python本身提供了很多函式,我們稱這些函式為內置函式,內置函式可以用于撰寫數值運算式
>>> abs(-10)
10
>>> 2 // 3 # 整除總是向下取整
0
>>> round(2 / 3) # round()
- 使用函式的程序稱為呼叫函式,呼叫函式的時候需要提供實參,呼叫的結果就是回傳一個值,稱為函式的回傳值,
模塊
可認為模塊是一種擴展,通過將其匯入壯大Python功能,
匯入模塊的關鍵字為import:
>>> import math
>>> math.floor(32.9) # 向下取整函式(floor的本意為地板,所以是向下取整)
32
>>> math.ceil(32.9) # 向上取整函式(ceil的本意為天花板,所以是向上取整)
33
>>>
- 首先使用
import匯入模塊,再使用moudle.function的方式使用模塊中的函式 - floor()函式的功能是向下取整,再計算年齡的類似場景很有用
- 一些類似的函式入str()、float()實際上是類的概念
如果只需要匯入模塊中的某個函式,使用from module import function格式,這種再使用的時候就不需要加上前綴了:
>>> from math import sqrt
>>> sqrt(9)
3.0
>>> foo = math.sqrt # 可以使用變數來參考函式
>>> foo(64)
8.0
>>>
復數
用函式sqrt計算負數的平方根會報錯:
>>> from math import sqrt
>>> sqrt(-1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: math domain error
>>>
- 這是因為負數的平方根為虛數,而函式sqrt限定值域為實數,并使用其近似的浮點數表示,所以無法計算負數的平方跟
由實部和虛部組成的數為復數,Python標準庫提供了一個專用用于處理復數的模塊:cmath
>>> import cmath # 注意這里不能使用 from ... import ... 的格式,否則將無法使用常規函式sqrt()
>>> cmath.sqrt(-1)
1j
>>>
>>> (1 + 3J) * (9 + 4j)
(-3+31j) # 從結果可以看出,python提供了對復數的支持
>>>
>>> type(1j)
<class 'complex'> # Python沒有專門的表示虛數的資料型別,而是將虛數視為實部為0的復數
>>> type(10 + 6j)
<class 'complex'>
1j是個虛數,虛數都是以j或J結尾,- 復數算術運算都基于如下定義:
-1的平方根為1j, - Python沒有專門的表示虛數的資料型別,而是將虛數視為實部為0的復數,
關于python檔案的運行
互動式解釋器的好處就是可以讓你實時運行寫完的代碼,可以幫助學習者了解python的作業原理;但是它也有一個致命的缺點就是退出互動式解釋器之后,撰寫的所有代碼都會丟失,顯然我們不可能每次作業都從頭開始,因為我們的終極目標是撰寫自己和他人都能運行的程式,
那么我們就需要一個文本編輯器可以撰寫代碼,然后保存成檔案復用:
- 打開IDlE,撰寫代碼
- 保存檔案,檔案拓展名務必為.py
命令提示符運行腳本:
- 打開DOS視窗
- 切換到Python可執行檔案
- 運行腳本檔案
IDE運行腳本:
- 找到檔案并打開,運行檔案:Run->Run Moudle
- 查看運行的結果是否與預期一致
需要說明的是,如果要像運行其他程式一樣執行Python腳本,需要再python檔案的第一行加上 #!/usr/bin/env python, 這樣可以保證腳本檔案可以再安裝了python的環境中運行,
有時候,還需要修改腳本的權限才可以運行:$ chmod a+x demo.py
注釋
在Python中,井號(#)比較特殊:在代碼中,井號后面到行尾的內容都將被忽略,稱為注釋,
注釋讓程式更容易理解,注釋的基本原則就是言而有物,不要重復去講通過代碼很容易獲得的資訊,無用而重復的注釋還不如沒有,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/531797.html
標籤:Python
上一篇:淺談PHP設計模式的備忘錄模式
