日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python函数和模块有什么特性_python-函数包和模块

發(fā)布時(shí)間:2023/12/10 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python函数和模块有什么特性_python-函数包和模块 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

python函數(shù)的作用: 在Python代碼段中如果有一段幾十行的代碼,需要多次重復(fù)使用這幾十行代碼時(shí),為了提高代碼的可用性,將代碼段放進(jìn)函數(shù)體內(nèi),以后在使用中直接調(diào)用該函數(shù)模塊即可,函數(shù)是一個(gè)獨(dú)立的函數(shù)體或是一段獨(dú)立的功能體,最主要的作用是解決代碼的重用性。同時(shí)函數(shù)也具備一定的靈活性。

包定義與使用

一、包定義:

含有__init__.py文件的目錄我們稱之為包

二、包使用:

目錄內(nèi)的文件我們稱之為模塊,我們利用包和模塊的目的是找模塊也就是Python文件內(nèi)的內(nèi)容,主要是哪些內(nèi)容,一般都是功能體、代碼段比較封閉,主要有兩個(gè),一個(gè)是類、一個(gè)是函數(shù)。

import package.module

package.module.myfunc()

三、包的定義和使用——示例

、首先創(chuàng)建一個(gè)目錄,命名為pack。目錄內(nèi)包含_init_.py的就稱之為包。

、在包內(nèi)創(chuàng)建一個(gè)模塊,命名為main.py。

、在模塊main.py中我們定義一個(gè)函數(shù),名稱為myfunc();

、在主程序下的index.py下調(diào)用函數(shù),其中as bm是為包下的main.py起的別名。

其包含關(guān)系為:包(pack)模塊(main.py)函數(shù)(myfunc();)

函數(shù)的定義與使用

、myfunc函數(shù)定義與使用

def myfunc():

//函數(shù)體

print('hello world');

myfunc();

運(yùn)行結(jié)果:

hello world

[Finished in 0.1s]

變量作用域

、全局變量

在一個(gè)函數(shù)體外的變量,我們稱之為全局變量,可以在函數(shù)內(nèi)直接使用。

a=10;

def myfunc():

print(a);

myfunc();

運(yùn)行結(jié)果:

10

[Finished in 0.2s]

、局部變量

在一個(gè)函數(shù)體內(nèi)的變量,我們稱之為局部變量,不可以在函數(shù)外面直接使用。

def myfunc():

a=10;

myfunc();

print(a);

運(yùn)行結(jié)果:

Traceback (most recent call last):

File "D:pythonindex.py", line 9, in

print(a);

NameError: name 'a' is not defined

[Finished in 0.1s with exit code 1]

函數(shù)參數(shù)

、普通參數(shù)

參數(shù)把外面真實(shí)的值傳遞給里面去使用,外面的稱之為實(shí)參、里面的稱之為形參

a=10;

def myfunc(i):

print(i);

myfunc(a);

注:a就是實(shí)參、i就是形參,將a的值傳遞給i,被i使用。

運(yùn)行結(jié)果:

10

[Finished in 0.1s]

計(jì)算兩數(shù)之和

普通參數(shù)示例

#已知2018年,求2018年是閏年還是平年?

#閏年的條件有兩個(gè):

#1、能被4整除,但不能被100整除。

#2、能被4整除,同時(shí)如果能被100整除的話,則必須同是能被400整除。

year=2000;

def getYear(y):

if (y%4==0) and (y%100!=0) or (y%400==0):

print('yes');

else:

print('no');

getYear(year);

注:通過函數(shù)傳參,將year傳遞給y,然后在內(nèi)部進(jìn)行計(jì)算。

、默認(rèn)參數(shù)

#默認(rèn)參數(shù)

a=10;

b=20;

def sum(i=1,j=2):

print(i+j);

sum();

注:如果將a和b傳給了i和j,則執(zhí)行傳遞的值進(jìn)行計(jì)算,如果沒有傳遞值,則使用默認(rèn)的1和2進(jìn)行計(jì)算,這就是默認(rèn)參數(shù)。默認(rèn)參數(shù)一般在沒有傳遞參數(shù)的時(shí)候使用。

另外,參數(shù)傳值是按照順序傳值的。

x運(yùn)行結(jié)果:

3

[Finished in 0.1s]

、序列參數(shù)

#序列參數(shù)

def sum(i):

print(i);

arr=[1,3,5,7,9]

sum(arr);

運(yùn)行結(jié)果:

[1, 3, 5, 7, 9]

[Finished in 0.1s]

、任意參數(shù)

#任意參數(shù)

def sum(*vals):

tot=0;

for i in vals:

tot+=i;

print(tot);

sum(2,4,6,8,10);

運(yùn)行結(jié)果:

30

[Finished in 0.1s]

、字典參數(shù)

#字典參數(shù)

def sum(**vals):

print(vals);

sum(name1='user1',name2='user2',name3='user3');

住:變量和值的關(guān)系,變量不能加單引號(hào)

x運(yùn)行結(jié)果:

{'name1': 'user1', 'name2': 'user2', 'name3': 'user3'}

[Finished in 0.1s]

字典遍歷:

#字典參數(shù)

def sum(**vals):

for i in vals:

print(i,vals[i]);

sum(name1='user1',name2='user2',name3='user3');

運(yùn)行結(jié)果:

name1 user1

name2 user2

name3 user3

[Finished in 0.1s]

函數(shù)的返回值

、print();

#函數(shù)返回值

ef sum(i,j):

# print(i+j);

return(i+j);

print(sum(1,2));

注:return(i+j);只返回,不打印,誰調(diào)用就返回給誰,如果想打印,在sum前使用print即可。

運(yùn)行結(jié)果:

3

[Finished in 0.1s]

、return()或return;

是直接打印好,還是直接返回好?

返回能體現(xiàn)出函數(shù)的特點(diǎn),是一個(gè)獨(dú)立的代碼段或功能體,如果用print它不獨(dú)立,為什么,如果我用sum(1,2)傳進(jìn)去得到的值就是3呢,但是結(jié)果3并不著急打印,后續(xù)還要處理。

函數(shù)如果沒有返回值,返回的就是none。

def sum(i,j):

# print(i+j);

return(i+j);

a=10;

b=20;

str='{}+{}={}'.format(a,b,sum(a,b));

print(str);

運(yùn)行結(jié)果:

10+20=30

[Finished in 0.1s]

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的python函数和模块有什么特性_python-函数包和模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。