Python具備動態(tài)導入module并且執(zhí)行其中代碼的能力,所以你只要import你保存的東西就可以,無需中斷你當前的代碼執(zhí)行流。
成都創(chuàng)新互聯(lián)是工信部頒發(fā)資質(zhì)IDC服務(wù)器商,為用戶提供優(yōu)質(zhì)的成都二樞機房服務(wù)
python函數(shù)的定義可以單獨保存成文件。
import后, 即可調(diào)用。
Python中是沒有switch的, 所以有時我們需要用switch的用法, 就只能通過if else來實現(xiàn)了. 但if else寫起來比較冗長,
這時就可以使用Python中的dict來實現(xiàn), 比switch還要簡潔. 用法如下:
如果是key1的情況就執(zhí)行func1, 如果是key2的情況就執(zhí)行func2...(func1, func2...所有的函數(shù)的參數(shù)形式需要相同),
假設(shè)各個函數(shù)參數(shù)均為(arg1, arg2):
dictName = {"key1":func1, "key2":func2, "key3":func3"...}#字典的值直接是函數(shù)的名字,不能加引號dictName[key](arg1, arg2)
示例代碼如下:
#!/usr/bin/python#File: switchDict.py#Author: lxw#Time: 2014/10/05import redef add(x, y): return x + ydef sub(x, y): return x - ydef mul(x, y): return x * ydef div(x, y): return x / ydef main():
inStr = raw_input("Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.\n")
inList = re.split("(\W+)", inStr)
inList[1] = inList[1].strip() print("-------------------------") print(inList) print("-------------------------") #Method 1:
if inList[1] == "+": print(add(int(inList[0]), int(inList[2]))) elif inList[1] == "-": print(sub(int(inList[0]), int(inList[2]))) elif inList[1] == "*": print(mul(int(inList[0]), int(inList[2]))) elif inList[1] == "/": print(div(int(inList[0]), int(inList[2]))) else: pass
#Method 2:
try:
operator = {"+":add, "-":sub, "*":mul, "/":div} print(operator[inList[1]](int(inList[0]), int(inList[2]))) except KeyError: passif __name__ == '__main__':
main()
Output:
PS J:\ python .\switchDict.py
Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.1 + 2
-------------------------['1', '+', '2']-------------------------
3
3PS J:\ python .\switchDict.py
Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.4 - 9
-------------------------['4', '-', '9']-------------------------
-5
-5PS J:\ python .\switchDict.py
Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.6 / 5
-------------------------['6', '/', '5']-------------------------
1
1PS J:\ python .\switchDict.py
Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.1 9 9
-------------------------['1', '', '9', ' ', '9']-------------------------PS J:\ python .\switchDict.py
Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.1 ( 9
-------------------------['1', '(', '9']-------------------------PS J:\
個人感覺, 如果想用switch來解決某個問題, 并且每種情況下的操作在形式上是相同的(如都執(zhí)行某個函數(shù)并且這些函數(shù)有
相同的參數(shù)), 就可以用這種方法來實現(xiàn).
python保存csv文件到桌面:
1、雖然python中有內(nèi)置模塊能夠操作csv文件,不過pandas這個第三方庫在處理速度和代碼編寫方面都是優(yōu)于內(nèi)置模塊了,同時也需要將os模塊導入進來判斷一下保存csv文件的路徑是否存在或者有同名文件。
2、模塊導入完成之后要用變量來保存csv文件路徑了,然后定義兩個空集合,作用是保存列數(shù)據(jù),再使用listdir()方法將文件路徑里面的所有文件和文件夾都獲取到并用for循環(huán)迭代。
3、在for循環(huán)代碼塊里面向一個列表對象內(nèi)添加文件名,然后定義一個參數(shù)并賦值為aa,然后將這個變量添加到另一個列表中,循環(huán)迭代完畢之后這兩個列表內(nèi)就有數(shù)據(jù)了。
4、調(diào)用zip()函數(shù)將這兩個列表合并在一起并且使用list()方法再次轉(zhuǎn)為列表,然后用pandas庫中的DataFrame()方法將data參數(shù)表示的數(shù)據(jù)源設(shè)置為該列表對象,并指定兩個列名,最后用to_csv()方法將其保存起來即可。