Python——函數(shù)與模塊和包

Python函數(shù)與模塊

Python中可以將函數(shù)存儲(chǔ)在文件中,這個(gè)文件被稱為模塊。將模塊導(dǎo)入到主程序中。import語句允許在當(dāng)前運(yùn)行的程序文件中使用模塊中的代碼,一個(gè)py文件就是一個(gè)模塊

優(yōu)點(diǎn)

  • 可隱藏程序代碼的細(xì)節(jié),將重點(diǎn)放在程序的高層邏輯上

導(dǎo)入模塊的方法

導(dǎo)入整個(gè)模塊

  • 先創(chuàng)建模塊,模塊是擴(kuò)展名為.py的文件。模塊中包含要導(dǎo)入到程序中的代碼
  • 我們先創(chuàng)建一個(gè)函數(shù) 這個(gè)函數(shù)的作用是將多個(gè)字符串拼接在一起 strappend.py
def strappend(*strs):
    current_str = ''.join(strs)
    print(current_str)

很簡(jiǎn)單,就是將多個(gè)字符串拼接起來
接下來我們?cè)賱?chuàng)建另一個(gè)文件 importmodule.py
在這個(gè)文件中導(dǎo)入剛創(chuàng)建的模塊。

import moduledemo
moduledemo.strappend('1', '2', '3')
moduledemo.strappend('hello', 'i', 'miss', 'you')

輸出結(jié)果:

123
helloimissyou

導(dǎo)入模塊的方法

執(zhí)行過程解釋

在Python讀取這個(gè)文件時(shí),代碼行讀取到import pizza 讓Python打開文件moduledemo.py,并將其中的所有函數(shù)都復(fù)制到這個(gè)程序中。

導(dǎo)入特定的函數(shù)

還可以導(dǎo)入模塊中的特定函數(shù),導(dǎo)入方法的語法如下:

from module_name import function_name

通過用逗號(hào)分隔函數(shù)名,可根據(jù)需要從模塊中導(dǎo)入任意數(shù)量的函數(shù)

from moduledemo import strappend

strappend('1', '2', '3')
strappend('a', 'b', 'c')

這種語法,調(diào)用函數(shù)時(shí)無需使用句點(diǎn)。

使用as給函數(shù)指定別名

如果要導(dǎo)入的函數(shù)的名稱可能和程序中現(xiàn)有的名稱沖突,可指定簡(jiǎn)短而獨(dú)一無二的別名,
下面將函數(shù)strappend指定別名 sp

語法格式為

from module_name import function_name as fn
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2017/9/29 下午4:57
# @Author  : xinWang
# @File    : importmodule.py
# @Software: PyCharm
from moduledemo import strappend as sp

sp('1', '2', '3')
sp('a', 'b', 'c')

使用as給模塊指定別名

也可以使用as為模塊指定別名,指定模塊別名的通用語法如下:

import module_name as mn

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2017/9/29 下午4:57
# @Author  : xinWang
# @File    : importmodule.py
# @Software: PyCharm
import part2.defdemo.moduledemo as p

p.strappend('1', '3', '5')
p.strappend('a', 'b', 'c')

導(dǎo)入模塊中的所有函數(shù)

使用*(星號(hào))運(yùn)算符可以讓Python導(dǎo)入模塊中的所有函數(shù)

from module_name import *

import語句中的星號(hào)讓python將模塊moduledemo中的每個(gè)函數(shù)都復(fù)制到這個(gè)程序文件中。由于導(dǎo)入了每個(gè)函數(shù),可以通過名稱來調(diào)用每個(gè)函數(shù)。無需使用句點(diǎn)表示法。

按模塊來組織文件就是包
包本質(zhì)上也是文件夾,但是包和文件夾的區(qū)別是 包中有init.py文件,而普通文件夾沒有

導(dǎo)入模塊和導(dǎo)入包

  • 導(dǎo)入模塊相當(dāng)于執(zhí)行了一次模塊的文件
  • 導(dǎo)入包相當(dāng)于執(zhí)行了init.py
    所以導(dǎo)入包中的模塊要使用from 包路徑 import 模塊名,而不能使用import導(dǎo)入一個(gè)包
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容