python函数体以冒号起始、并且是缩进格式的_Python基础第三课
Python 函數(shù)
函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率。我們之前已經(jīng)使用過一些Python提供的內(nèi)建函數(shù),比如print()。當(dāng)然我們也可以自己創(chuàng)建函數(shù),叫做自定義函數(shù)。
Python 函數(shù)定義規(guī)則
函數(shù)代碼塊以 def 關(guān)鍵詞開頭,后接函數(shù)標(biāo)識符名稱和圓括號 ()。
任何傳入?yún)?shù)和自變量必須放在圓括號中間,圓括號之間可以用于定義參數(shù)。
函數(shù)的第一行語句可以選擇性地使用文檔字符串—用于存放函數(shù)說明。
函數(shù)內(nèi)容以冒號起始,并且縮進(jìn)。
return [表達(dá)式] 結(jié)束函數(shù),選擇性地返回一個(gè)值給調(diào)用方。不帶表達(dá)式的return相當(dāng)于返回 None。
Python 函數(shù)定義的語法
Python 定義函數(shù)使用 def 關(guān)鍵字,一般格式如下:
def 函數(shù)名(參數(shù)列表):
函數(shù)體
Python 函數(shù)的定義示例
# 例:定義函數(shù),輸出”Hello World”
def hello():
print("Hello World!")
Python 函數(shù)的調(diào)用
函數(shù)不調(diào)用就不會(huì)執(zhí)行。調(diào)用函數(shù)通過函數(shù)名完成。
# 例:調(diào)用我們之前定義的hello函數(shù):
def hello() :
print("Hello World!")
hello()
輸出:
Hello World!
Python 函數(shù)的參數(shù)傳遞
def hello(name) :
print("Hello {}".format(name))
hello('Mrzhang')
輸出:
Hello Mrzhang
Python 函數(shù)關(guān)鍵字參數(shù)
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歲
注:參數(shù)中傳入不可變類型的數(shù)據(jù),相當(dāng)于將原數(shù)據(jù)復(fù)制了一份.
注:參數(shù)中傳入可變類型的數(shù)據(jù),可以對原有數(shù)據(jù)進(jìn)行操作,也可以重新賦值.
Python 函數(shù)的return語句
def hello(name) :
print("Hello {}".format(name))
return '我是一個(gè)字符串返回值'
hello('Mrzhang')
print('-----我是一條分割線-----')
print(hello('Mrli'))
輸出:
Hello Mrzhang
-----我是一條分割線-----
Hello Mrli
我是一個(gè)字符串返回值
變量作用域
Python 中只有模塊(module),類(class)以及函數(shù)(def、lambda)才會(huì)引入新的作用域,其它的代碼塊(如 if/elif/else/、try/except、for/while等)是不會(huì)引入新的作用域的,也就是說這些語句內(nèi)定義的變量,外部也可以訪問.
# 例:
x = int(10) # python內(nèi)置作用域
y = 2 # 當(dāng)前模塊中的全局變量Global
def outfuction():
outfx = 2 # 外層作用域
def infunction():
infx = 3 # 局部作用域
全局變量和局部變量
定義在函數(shù)內(nèi)部的變量擁有一個(gè)局部作用域,定義在函數(shù)外的擁有全局作用域。局部變量只能在其被聲明的函數(shù)內(nèi)部訪問,而全局變量可以在整個(gè)程序范圍內(nèi)訪問。調(diào)用函數(shù)時(shí),所有在函數(shù)內(nèi)聲明的變量名稱都將被加入到作用域中。
# 例:
total = 0; # 這是一個(gè)全局變量
def sum( arg1, arg2 ):
total = arg1 + arg2 # total在這里是局部變量.
print ("函數(shù)內(nèi)是局部變量 : ", total)
return total
sum( 10, 20 )
print ("函數(shù)外是全局變量 : ", total)
內(nèi)置函數(shù)
模塊
模塊的概念
模塊是一個(gè)包含所有你定義的函數(shù)和變量的文件,其后綴名是.py
模塊可以被別的程序引入,以使用該模塊中的函數(shù)等功能。這也是使用 python 標(biāo)準(zhǔn)庫的方法。
模塊的使用
import 語句
import os # 導(dǎo)入系統(tǒng)內(nèi)置模塊 os
print (os.listdir()) # 調(diào)用os模塊的listdir()方法 遍歷當(dāng)前文件夾的所有文件
輸出:
['test.py'] # 你輸出的和我可能不太一樣,需要查看你當(dāng)前目錄下有哪些文件
自建一個(gè)模塊 并寫入兩個(gè)方法 一個(gè)說你好 一個(gè)說拜拜
然后導(dǎo)入 并調(diào)用兩個(gè)方法
通過絕對路徑調(diào)用模塊
from…import 語句
導(dǎo)入模塊中的指定 部分/方法 到當(dāng)前命名空間下
from tool.test1 import sayHello,sayBye
sayBye()
sayHello()
輸出:
Bye
hello
如下圖:
Python dir()函數(shù)
內(nèi)置的函數(shù) dir() 可以找到模塊內(nèi)定義的所有名稱。以一個(gè)字符串列表的形式返回.
總結(jié)
以上是生活随笔為你收集整理的python函数体以冒号起始、并且是缩进格式的_Python基础第三课的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 720斤,除以1毛5等于多少?
- 下一篇: mysql一次读取500条数据_mysq