python函数复用_【python学习-4】可复用函数与模块
1、自定義函數
自定義函數格式如下:
def (參數列表):return
#!/usr/bin/python#定義函數,打印數字1~5
defprintNum5():#range函數,生成列表集合,有3個入參:start(可選,起始數),stop(終止數,生成的數不包含),step
for i in range(1,5+1):print(i);
printNum5();
帶參數的函數:
#!/usr/bin/python#定義函數,打印列表數據
defprintNum(x):for i inx:print(i);
printNum(['ls','pwd',6,9,'cd']);
有默認參數的函數:
#!/usr/bin/python#求x的y次方,默認x為2,y為5
def cube(x=2,y=5):return x**y;print(cube()); #x、y都使用默認值
print(cube(3)); #x 設置為 3,y 使用 默認值
print(cube(3,2)); #x、y都不使用默認值
print(cube(y=3)); #x 使用 默認值,y 設置為 3
print(cube(y=2,x=8)); #打亂傳參次序
傳遞任意個參數:
#!/usr/bin/python#傳遞任意個參數:如果參數名前加上一個星號“*”,則表示參數是一個可變長參數
def addNum(*nums):
result=0;for i innums:
result+=i;returnresult;print(addNum()); #0
print(addNum(1,3)); #4
print(addNum(8,8,6)); #22
2、變量作用域
#!/usr/bin/python
deffun(x):
a= [1];
a.append(x);print(a);
a= [3,4,5];
fun(2); #a并沒有變化
print(a);
#!/usr/bin/python
deffun(x):global a; #設置a為全局變量
a = [1];
a.append(x);print(a);
a= [3,4,5]; #全局變量
fun(2); #a發生變化
print(a);
3、使用lambda 聲明函數
使用lambda可以聲明一個匿名函數,lambda聲明的是一個簡單的函數。
lambda 函數中不能使用 print() 函數
#!/usr/bin/python#lambda函數 的好處就是簡潔
fun = lambda x : x*x+1 #聲明一個lambda函數
print(fun(3));print(fun);
4、可重用結構:python模塊
python中的模塊,實際上就是包含函數或者類的python腳本。
對于一個大型腳本,常常需要把功能細化到各個模塊。
導入模塊寫法:
import 模塊名
import 模塊名 as 新名字
from 模塊名 import 函數名
使用 “?from 模塊名 import 函數名 ” 寫法與 “ import 模塊名 ”, 調用函數的區別是,前者可直接使用函數名調用函數,后者需要 “模塊名.函數名” 調用函數。
#!/usr/bin/python
importmathprint(math.sqrt(16));from math importsqrtprint(sqrt(81));
重新載入模塊:
#!/usr/bin/python
importosimportimp
a= imp.reload(os) #重新載入模塊
print(a);
編寫一個模塊:
包括兩個文件,一個是模塊文件,一個是調用文件。
#文件 myPart.py
defshow():print("This is show");
name= "myPart-name";
#!/usr/bin/python
#文件 test.py
importmyPart
myPart.show();print(myPart.name);
python 中的模塊在哪里查找:
編寫好的模塊,如果不和調用文件在同一個目錄,那么要怎么查找呢,或者要怎么放置自己的模塊呢?
#!/usr/bin/python
importsysprint(sys.path) #查看模塊檢索路徑有哪些
如果新加了一個模塊放在當前路徑下的module目錄,如何添加路徑呢?
#!/usr/bin/python
importsysimportos
sys.path.append(os.getcwd()+'\\module'); #添加一個目錄,其中os.getcwd() 方法用于返回當前工作目錄
print(sys.path);importmyPart
myPart.show();
對于模塊腳本,python會在運行后將其編譯成 .pyc 字節碼文件;對于非模塊的腳本,python不會再運行文件之后將其編譯成字節碼形式。
如何查看模塊提供的函數名:
#!/usr/bin/python
importsysimportos
sys.path.append(os.getcwd()+'\\module'); #os.getcwd() 方法用于返回當前工作目錄
importmyPartprint(dir(os)) #使用dir 函數查看模塊提供的函數名
print(dir(myPart))
對于上面的每次運行都要加sys.path,其實是很不方便的,但是有解決辦法,就是使用包。包其實就是一個相對于當前目錄的路徑而已
#!/usr/bin/python
importmodule.myPartprint(dir(module.myPart))
module.myPart.show()
簡潔一點:
#!/usr/bin/python
importmodule.myPart as myPartprint(dir(myPart))
myPart.show()
總結
以上是生活随笔為你收集整理的python函数复用_【python学习-4】可复用函数与模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 收集6 款 Java 8 自带工具,轻松
- 下一篇: python如何抓取微博定时热搜