Python函式建立

2021-08-04 11:02:14 字數 1402 閱讀 5209

函式建立:

1.def語句

>>> def hellosomeone(who):

"returns a salutory string customized with the input"

return "hello" + str(who)

>>> hellosomeone("limin")

'hellolimin'

標題行由def關鍵字,函式的名字,以及引數的集合組成。

def子句剩餘的部分包含了乙個雖然可選但是強烈推薦的文件字串和必須的函式體。

2.前向引用

python不允許在函式未宣告之前,對其進行引用或者呼叫。

>>> foo()

in foo()

traceback (most recent call last):

file "", line 1, in

foo()

file "", line 3, in foo

tar()

nameerror: name 'tar' is not defined

如果我們呼叫函式foo(),肯定會失敗,因為函式tar()還沒有宣告。

我們現在定義tar()函式,在foo()函式前給出tar()的宣告。

>>> def tar():

print("in tar()")

>>> def foo():

print("in foo()")

tar()

>>> foo()

in foo()

in tar()

現在我們可以安全的呼叫foo()而不會出現任何問題。

事實上我們可以在函式tar()前定義函式foo()

>>> def foo():

print("in foo()")

tar()

>>> def tar():

print("in tar()")

>>> foo()

in foo()

in tar()

這段**可以非常好的執行,不會有前向引用的問題。

因為即使在(foo()中)對tar()進行的呼叫出現在tar()的定義之前,但foo()本身不是在tar()宣告之前被呼叫的。

換句話誰說,我們宣告foo(),然後再宣告tar(),接著呼叫foo(),但是到那時,tar()已經存在了,所以呼叫成功。

3,函式屬性

你可以獲得每個python模組,類和函式中任意的命名空間。你可以在模組foo()和tar()中都有名為x的乙個變數,但是再將這兩個模組匯入你的程式後,仍然可以使用這兩個變數。所以即使在兩個模組中用了相同的變數名字,這也是安全的,因為句點屬性標示對於兩個模組意味了不同的命名空間,下面**中就沒有命名衝突。

import foo,tar

print(foo.x,tar.x)

python建立目錄函式 python 建立目錄

python對檔案的操作還算是方便的,只需要包含os模組進來,使用相關函式即可實現目錄的建立。主要涉及到三個函式 1 os.path.exists path 判斷乙個目錄是否存在 2 os.makedirs path 多層建立目錄 3 os.mkdir path 建立目錄 demo 直接上 def ...

python 建立函式

一 函式定義和宣告 在某些程式語言裡,函式宣告和函式定義區分開的。乙個函式宣告包括提供對函式名,引數的名字 傳統上還有引數的型別 但不必給出函式的任何 具體的 通常屬於函式定義的範疇。在宣告和定義有區別的語言中,往往是因為函式的定義可能和其宣告放在不同的檔案中。python將這兩者視為一體,函式的子...

python如何建立函式 python函式 生成器

1.理論知識 什麼是生成器?生成器的本質就是迭代器。生成器和迭代器也有不同,唯一的不同就是 迭代器都是python給你提供的已經寫好的工具或者通過資料轉化得來的,比如檔案控制代碼,iter 1,2,3 生成器是需要我們自己用python 構建的工具。最大的區別也就如此了。2.生成器的構建方式?在py...