(1)主程序main.py與模塊程序mod1.py在同一目錄下。
創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、微信小程序、公眾號商城、等建站開發(fā),創(chuàng)新互聯(lián)網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。
--src
|--mod1.py
|--main.py
直接在main.py中導(dǎo)入模塊mod1.py,即 import mod1 或 from mod1 import *
(2)主程序main.py所在目錄是模塊程序mod.py所在目錄的父目錄。
--src
|--mod1.py
|--main.py
---mod2
?|--mod2.py
先需要在mod2文件夾中建立空文件__init__.py
然后在main.py中導(dǎo)入模塊mod2.py,即 import mod2.mod2 或 from mod2.mod2 import *
(3)主程序main.py導(dǎo)入上層目錄中的模塊或其他目錄(平級)下的模塊。
--src
|--mod1.py
---mod2
?|--mod2.py
---sub
?|--main.py
先需要在mod2文件夾中建立空文件__init__.py,而src文件夾下不需要建立
然后進(jìn)入主程序main.py所在的路徑,執(zhí)行python main.py
在main.py中導(dǎo)入模塊mod2.py,即 import mod2.mod2 或 from mod2.mod2 import *
執(zhí)行前在main.py中加入:
import sys
sys.path.append("..")
import mod1
import mod2.mod2
一、主體不同
1、類:是面向?qū)ο蟪绦蛟O(shè)計實現(xiàn)信息封裝的基礎(chǔ)。
2、函數(shù):是指一段在一起的、可以做某一件事兒的程序。也叫做子程序、(OOP中)方法。
二、特點不同
1、類:是一種用戶定義的引用數(shù)據(jù)類型,也稱類類型。每個類包含數(shù)據(jù)說明和一組操作數(shù)據(jù)或傳遞消息的函數(shù)。類的實例稱為對象。
2、函數(shù):分為全局函數(shù)、全局靜態(tài)函數(shù);在類中還可以定義構(gòu)造函數(shù)、析構(gòu)函數(shù)、拷貝構(gòu)造函數(shù)、成員函數(shù)、友元函數(shù)、運算符重載函數(shù)、內(nèi)聯(lián)函數(shù)等。
三、規(guī)則不同
1、類:實質(zhì)是一種引用數(shù)據(jù)類型,類似于byte、short、int(char)、long、float、double等基本數(shù)據(jù)類型,不同的是它是一種復(fù)雜的數(shù)據(jù)類型。
2、函數(shù):函數(shù)必須聲明后才可以被調(diào)用。調(diào)用格式為:函數(shù)名(實參)調(diào)用時函數(shù)名后的小括號中的實參必須和聲明函數(shù)時的函數(shù)括號中的形參個數(shù)相同。
參考資料來源:百度百科-函數(shù)
參考資料來源:百度百科-類
python常見的內(nèi)置函數(shù)有:
1. abs()函數(shù)返回數(shù)字的絕對值。
2. all() 函數(shù)用于判斷給定的參數(shù)中的所有元素是否都為 TRUE,如果是返回 True,否則返回 False。元素除了是 0、空、None、False 外都算 True;空元組、空列表返回值為True。
3. any() 函數(shù)用于判斷給定的參數(shù)是否全部為False,是則返回False,如果有一個為True,則返回True。 元素除了是 0、空、False外都算 TRUE。
4. bin()函數(shù)返回一個整數(shù)int或者長整數(shù)long int的二進(jìn)制表示。
5. bool() 函數(shù)用于將給定參數(shù)轉(zhuǎn)換為布爾類型,如果參數(shù)不為空或不為0,返回True;參數(shù)為0或沒有參數(shù),返回False。
6. bytearray()方法返回一個新字節(jié)數(shù)組。這個數(shù)組里的元素是可變的,并且每個元素的值范圍: 0 = x 256(即0-255)。即bytearray()是可修改的二進(jìn)制字節(jié)格式。
7. callable()函數(shù)用于檢查一個對象是否可調(diào)用的。對于函數(shù)、方法、lambda函式、類以及實現(xiàn)了 __call__ 方法的類實例, 它都返回 True。(可以加括號的都可以調(diào)用)
8. chr()函數(shù)用一個范圍在range(256)內(nèi)(即0~255)的整數(shù)作參數(shù),返回一個對應(yīng)的ASCII數(shù)值。
9. dict()函數(shù)用來將元組/列表轉(zhuǎn)換為字典格式。
10. dir()函數(shù)不帶參數(shù)時,返回當(dāng)前范圍內(nèi)的變量、方法和定義的類型列表;帶參數(shù)時,返回參數(shù)的屬性、方法列表。
擴(kuò)展資料:
如何查看python3.6的內(nèi)置函數(shù)?
1、首先先打開python自帶的集成開發(fā)環(huán)境IDLE;
2、然后我們直接輸入"dir(__builtins__)",需要注意的是builtins左右的下劃線都是兩個;
3、回車之后我們就可以看到python所有的內(nèi)置函數(shù);
4、接下來我們學(xué)習(xí)第二種查看python內(nèi)置函數(shù)的方法,我們直接在IDLE中輸入"import builtins",然后輸入"dir(builtins)";
5、然后回車,同樣的這個方法也可以得到所有的python內(nèi)置的函數(shù);
6、這里我們可以使用python內(nèi)置函數(shù)len()來查看python內(nèi)置函數(shù)的個數(shù),這里我們直接輸入"len(dir(builtins))";
7、回車之后我們可以看到系統(tǒng)返回值153,說明我們現(xiàn)在這個版本中有153個內(nèi)置函數(shù);
8、最后我們介紹一個比較有用的內(nèi)置函數(shù)"help",python內(nèi)置函數(shù)有一百多個,我們當(dāng)然不能記住所有的函數(shù),這里python提供了一個"help"函數(shù),我們來看一個例子一起來體會一下help函數(shù)的用法,這里我們直接輸入"help(len)",然后回車,會看到系統(tǒng)給我們對于內(nèi)置函數(shù)"len"的解釋,當(dāng)然對于其他函數(shù)可能會有更加詳細(xì)的解釋以及用法提示。
你已經(jīng)實現(xiàn)了啊。在__init__初始化參數(shù)里,將參數(shù)傳遞進(jìn)去。
另外因為線程工作在主程序同一個空間里,所以可以用全局變量傳遞。比如定義一個global v,然后在主程序里設(shè)置好。
再在線程里用global v來引用。
如果在線程運行當(dāng)中,動態(tài)的改參數(shù)??梢韵笫沁@里的thread_stop設(shè)置。由主進(jìn)程與從進(jìn)程單對單的傳遞信號。
另外還可以通過隊列。這個好處是有一個鎖,可以全局使用。
此外你還可以引入一個消息管理器。各個線程與主進(jìn)程直接通過消息傳遞變量。
進(jìn)程之間也可以通過共享內(nèi)存來實現(xiàn)RPC通信,就是交換數(shù)據(jù)。
線程處理完的數(shù)據(jù),如果主程序想處理??梢赃@樣。讓線程通過全局變量,通過隊列傳回來。
不過主進(jìn)程通常還有一個任務(wù),就是監(jiān)督線程的完成退處,并管理線程中止信號。
比如你這個程序少了一個
thread.join() 這里的join可以加一個timeout,當(dāng)超時時,主進(jìn)程就可以脫身出來,做一些其它的事情,比如處理返回數(shù)值。 如果線程通過一個數(shù)組變量將狀態(tài)傳回主進(jìn)程。這樣輪洵子線程狀態(tài)會比join的效率更高。
你這個程序里用文件傳遞也不是不可以。這是一個很好思路。當(dāng)你傳遞變量困難時,可以用文件?;蛘呤菙?shù)據(jù)庫。
def 就是定義一個新的方法(或者叫子函數(shù)),然后供其他程序調(diào)用的,沒啥靈活的
附上2個例子,一個是帶參數(shù)的,一個是不帶參數(shù)的,調(diào)用的時候在主程序調(diào)用,也可以在其他子程序調(diào)用,供你理解吧
def?test():
"""無參數(shù)輸入的方法"""
print("Hello?,This?is?a?def?test?!")
def?my_sum(a,?b):
"""求和,輸入2個數(shù),返回2個數(shù)的和"""
return?a?+?b
test()
print(my_sum(10,?20))