python學習(10) 函式與模組

2021-07-17 02:08:46 字數 4141 閱讀 3397

函式是乙個程式的必備元素,它可以簡化主體函式,讓程式看的更加具體、形象。

函式具有三個特徵:

這裡,我們給出了一些基本的函式使用案例:

# -*- coding: utf-8 -*-

#以下四種方式介紹了四種傳參方式,有多引數和單引數方式

#第一種方式:用指標的方式傳遞元組

defprint_first_way

(*args):

arg1,arg2 = args

print

"arg1:%r,arg2:%r" % (arg1,arg2)

#第二種方式:傳遞兩個引數

defprint_second_way

(arg1,arg2):

print

"arg1:%r,arg2:%r" % (arg1,arg2)

#第三種方式:傳遞單引數

defprint_third_way

(arg1):

print

"arg1:%r" % arg1

#第四種方式:無參傳遞

defprint_fourth

():print

"i got nothing."

#把四個函式都執行一遍:

print_first_way("hello","world")

print_second_way("hello","world")

print_third_way("hello")

print_fourth()

後三個都很容易理解,就是乙個乙個引數的傳遞進去。第乙個函式的引數*args是什麼呢。這裡,args把所有的引數把它以引數列表的形式傳遞給了函式,這樣更加便於管理。

函式的作用就是,傳遞進來引數,然後對引數進行處理,最終得到引數返回。

以下給了乙個函式返回值的示例:

# -*- coding: utf-8 -*-

defadd

(a, b):

print

"adding %d + %d" % (a, b)

return a + b

defsubtract

(a, b):

print

"subtracting %d - %d" % (a, b)

return a - b

defmultiply

(a, b):

print

"multiplying %d * %d" % (a, b)

return a * b

defdivide

(a, b):

print

"dividing %d / %d" % (a, b)

return a / b

print

"let's do some math with just functions!"

age = add(30, 5)

height = subtract(78, 4)

weight = multiply(90, 2)

iq = divide(100, 2)

print

"age: %d, height: %d, weight: %d, iq: %d" % (age, height, weight, iq)

print

"here is a puzzle."

what = add(age, subtract(height, multiply(weight, divide(iq, 2))))

print

"that becomes: ", what, "can you do it by hand?"

這一節,我們建立乙個python指令碼,只包含函式,沒有執行語句,然後通過另外乙個python指令碼來呼叫這些函式:

首先建立ex10_3.py:

def

break_words

(stuff):

"""this function will break up words for us."""

words = stuff.split(' ')

return words

defsort_words

(words):

"""sorts the words."""

return sorted(words)

defprint_first_word

(words):

"""prints the first word after popping it off."""

word = words.pop(0)

print word

defprint_last_word

(words):

"""prints the last word after popping it off."""

word = words.pop(-1)

print word

defsort_sentence

(sentence):

"""takes in a full sentence and returns the sorted words."""

words = break_words(sentence)

return sort_words(words)

defprint_first_and_last

(sentence):

"""prints the first and last words of the sentence."""

words = break_words(sentence)

print_first_word(words)

print_last_word(words)

defprint_first_and_last_sorted

(sentence):

"""sorts the words then prints the first and last one."""

words = sort_sentence(sentence)

print_first_word(words)

print_last_word(words)

以上**是無法執行的,為了執行以上**,我們建立乙個python指令碼來執行:

import python10_3

sentence = "all good things come to those who wait."

words = python10_3.break_words(sentence)

words

sorted_words = python10_3.sort_words(words)

sorted_words

python10_3.print_first_word(words)

python10_3.print_last_word(words)

words

python10_3.print_first_word(sorted_words)

python10_3.print_last_word(sorted_words)

sorted_words

sorted_words = python10_3.sort_sentence(sentence)

sorted_words

python10_3.print_first_and_last(sentence)

python10_3.print_first_and_last_sorted(sentence)

也就是說從引入包python10_3.py,然後呼叫其中的函式,執行得到以下結果:

可以看到,在建立模組以後,我們可以用import的方式來進行呼叫,這樣非常適合我們進行工具開發。另外,我們還可以通過help(python10_3)來檢視函式的使用方式:

「heheheheheehe」是作者新增的測試句,新增在python10_3.py的最後,發現在import的時候會執行。

python學習10 模組

使用 from import 匯入包 包同樣支援 from import all 語句 from package.module import 然而,這樣的語句會匯入哪些檔案取決於作業系統的檔案系統.所以我們在init.py 中加入all變數.該變數包含執行這樣的語句時應該匯入的模組的名字.它由乙個模...

Python學習 Python函式與模組學習

函式 實現具有特定功能的 自定義函式 內建函式 函式特點 隱藏實現功能的細節 重用 提高可讀性,便於除錯 函式的定義 def 函式名 形式引數1,形式引數2,形參n 要執行的 函式體 return 輸出的資料 返回值 形式引數 函式約定的格式資料要求 用於約束。實際引數 實際呼叫傳入的資料。用於傳值...

python 函式與模組

1,定義函式 def 函式名 參數列 函式語句 return 發回值 引數和返回值都可以省略 def hello print xyf 無敵 hello 2,引數傳遞 def add a,b return a b print add a b 順序依次傳遞 print add b a a b 按形參賦值...