Python基礎第三課
github博客傳送門
csdn博客傳送門
Python 函數
函數能提高應用的模塊性,和代碼的重復利用率。我們之前已經使用過一些Python提供的內建函數,比如print()。當然我們也可以自己創建函數,叫做自定義函數。
Python 函數定義規則
函數代碼塊以 def 關鍵詞開頭,後接函數標識符名稱和圓括號 ()。
任何傳入參數和自變量必須放在圓括號中間,圓括號之間可以用於定義參數。
函數的第一行語句可以選擇性地使用文檔字符串—用於存放函數說明。
函數內容以冒號起始,並且縮進。
return [表達式] 結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當於返回 None。
Python 函數定義的語法
Python 定義函數使用 def 關鍵字,一般格式如下:
def 函數名(參數列表):
函數體
Python 函數的定義示例
# 例:定義函數,輸出”Hello World”
def hello():
print("Hello World!")
Python 函數的調用
函數不調用就不會執行。調用函數通過函數名完成。
# 例:調用我們之前定義的hello函數:
def hello() :
print("Hello World!")
hello()
輸出:
Hello World!
Python 函數的參數傳遞
def hello(name) : print("Hello {}".format(name)) hello(‘Mrzhang‘)
輸出:
Hello Mrzhang
Python 函數關鍵字參數
def hello(name,age=18) :
print("Hello my name is {},今年{}歲".format(name,age))
hello(‘Mrzhang‘)
hello(‘Mrzhang‘,22)
hello(age=66,name=‘Mrli‘)
輸出:
Hello my name is Mrzhang,今年18歲
Hello my name is Mrzhang,今年22歲
Hello my name is Mrli,今年66歲
註:參數中傳入不可變類型的數據,相當於將原數據復制了一份.
註:參數中傳入可變類型的數據,可以對原有數據進行操作,也可以重新賦值.
Python 函數的return語句
def hello(name) :
print("Hello {}".format(name))
return ‘我是一個字符串返回值‘
hello(‘Mrzhang‘)
print(‘-----我是一條分割線-----‘)
print(hello(‘Mrli‘))
輸出:
Hello Mrzhang
-----我是一條分割線-----
Hello Mrli
我是一個字符串返回值
變量作用域
Python 中只有模塊(module),類(class)以及函數(def、lambda)才會引入新的作用域,其它的代碼塊(如 if/elif/else/、try/except、for/while等)是不會引入新的作用域的,也就是說這些語句內定義的變量,外部也可以訪問.
# 例:
x = int(10) # python內置作用域
y = 2 # 當前模塊中的全局變量Global
def outfuction():
outfx = 2 # 外層作用域
def infunction():
infx = 3 # 局部作用域
全局變量和局部變量
定義在函數內部的變量擁有一個局部作用域,定義在函數外的擁有全局作用域。局部變量只能在其被聲明的函數內部訪問,而全局變量可以在整個程序範圍內訪問。調用函數時,所有在函數內聲明的變量名稱都將被加入到作用域中。
# 例:
total = 0; # 這是一個全局變量
def sum( arg1, arg2 ):
total = arg1 + arg2 # total在這裏是局部變量.
print ("函數內是局部變量 : ", total)
return total
sum( 10, 20 )
print ("函數外是全局變量 : ", total)
內置函數
內置函數見菜鳥教程
http://www.runoob.com/python3/python3-built-in-functions.html
模塊
模塊的概念
模塊是一個包含所有你定義的函數和變量的文件,其後綴名是.py
模塊可以被別的程序引入,以使用該模塊中的函數等功能。這也是使用 python 標準庫的方法。
模塊的使用
import 語句
import os # 導入系統內置模塊 os
print (os.listdir()) # 調用os模塊的listdir()方法 遍歷當前文件夾的所有文件
輸出:
[‘test.py‘] # 你輸出的和我可能不太一樣,需要查看你當前目錄下有哪些文件
自建一個模塊 並寫入兩個方法 一個說你好 一個說拜拜
然後導入 並調用兩個方法
通過絕對路徑調用模塊
from…import 語句
導入模塊中的指定 部分/方法 到當前命名空間下
from tool.test1 import sayHello,sayBye
sayBye()
sayHello()
輸出:
Bye
hello
如下圖:
Python dir()函數
內置的函數 dir() 可以找到模塊內定義的所有名稱。以一個字符串列表的形式返回.
Python基礎第三課