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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python函数和模块的使用方法_Python学习06_函数和模块的使用

發布時間:2023/12/2 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python函数和模块的使用方法_Python学习06_函数和模块的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引入

在寫有些代碼的時候,會發現有些步驟重復了多次,他也不像循環,都是相同的東西在重復,而是指做某件事情的步驟方法,做事的人或對象發生了改變,但是方法卻沒有改變。

要想寫出高質量的代碼,首先要解決的就是重復代碼的問題。我們可以將某些解決問題的步驟,封裝在一個稱之為“函數”的功能模塊中,當需要重復使用的時候,再調用這個“函數”就可以了。

定義函數

在Python中,使用關鍵字def來定義函數,函數的名字的命名規則和變量名的命名規則是一樣的。在函數名后面的圓括號中放置傳遞給函數的參數,可以理解成要對什么樣的東西產生影響,類似數學上函數的自變量。在函數完成后可以通過return關鍵字返回一個值。

請說出下面的方程有多少組正整數解。

實上,上面的問題等同于將8個蘋果分成四組每組至少一個蘋果有多少種方案。想到這一點問題的答案就呼之欲出了。

可以用Python的程序來計算出這個值,代碼如下所示。

"""

函數

"""

def jc(n):

ans = 1

for i in range(1, n+1):

ans *= i

return ans

m = int(input('請輸入m的值:'))

n = int(input('請輸入n的值:'))

print(jc(m) // jc(n) // jc(m-n))

函數的參數

在Python中,函數的參數可以有默認值,也支持使用可變參數。

"""

函數參數

"""

def add(a=0,b=0,c=0):

return a+b+c;

print(add())

print(add(1))

print(add(1,2))

print(add(1,2,3))

print(add(c=50,a=100,b=200))

當我們在不確定參數個數的時候,我們可以使用可變參數。

"""

函數參數

"""

def add(*args):

total = 0

for var in args:

total += var

return total

print(add())

print(add(1))

print(add(1, 2))

print(add(1, 2, 3))

print(add(1, 3, 5, 7, 9))

使用模塊管理函數

當出現同一個.py文件中定義了兩個同名的函數,應為不存在重載的概念,后一個定義會覆蓋之前的定義。

解決命名沖突,除了使用不同的命名外。我們也能使用模塊來進行管理,這一點在多人協作開發時很有用。在Python中,每個文件就代表了一個模塊,在使用函數的時候,我們通過impirt關鍵字導入執行的模塊就可以區分到底要使用的是那個模塊中的函數。

day0604.py

def foo():

print('hello,world!')

day0605.py

def foo():

print('goodbye,world!')

day0606.py

import day0604 as m1

import day0605 as m2

m1.foo()

m2.foo()

要說明的是,如果我們導入的模塊除了定義函數之外還中有可以執行代碼,那么Python解釋器在導入這個模塊時就會執行這些代碼,事實上我們可能并不希望如此,因此如果我們在模塊中編寫了執行代碼,最好是將這些執行代碼放入如下所示的條件中,這樣的話除非直接運行該模塊,if條件下的這些代碼是不會執行的,因為只有直接執行的模塊的名字才是"__main_"

day0607.py

def foo():

pass

def bar():

pass

# __name__是Python中一個隱含的變量它代表了模塊的名字

# 只有被Python解釋器直接執行的模塊的名字才是__main__

if __name__ == '__main__':

print('call foo()')

foo()

print('call bar()')

bar()

練習

練習一

實現計算求最大公約數和最小公倍數的函數

def gcd(x, y):

if y == 0:

return x

return gcd(y, x % y)

def lcm(x, y):

return x*y//gcd(x, y)

if __name__ == '__main__':

a = int(input('輸入a:'))

b = int(input('輸入b:'))

print('%d和%d的最大公約數:%d'%(a,b,gcd(a,b)))

print('%d和%d的最小公倍數:%d'%(a,b,lcm(a,b)))

練習二

判斷一個數是不是回文數的函數

def reser(num):

_num=0

while num!=0:

_num=_num*10+num%10

num//=10

return _num

def isPalindrome(num):

_num=reser(num)

# print(_num)

return _num==num

if __name__ == '__main__':

x = int(input('請輸入x:'))

if isPalindrome(x)==True:

print('是回文數')

else:

print('不是回文數')

練習三

實現判斷一個數是不是素數的函數

def is_prime(num):

if num<2:

return False

for i in range(2,num//2):

if num%i==0:

return False

return True

if __name__ == '__main__':

x=int(input('請輸入x:'))

if is_prime(x):

print('是質數')

else:

print('不是質數')

練習四

寫一個程序判斷輸入的正整數是不是回文素數

import day0610 as m1

import day0609 as m2

if __name__ == '__main__':

x=int(input('請輸入x:'))

if m1.is_prime(x) and m2.isPalindrome(x):

print('是回文質數')

else:

print('不是回文質數')

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的python函数和模块的使用方法_Python学习06_函数和模块的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。