python是一款應(yīng)用非常廣泛的腳本程序語言,谷歌公司的網(wǎng)頁就是用python編寫。python在生物信息、統(tǒng)計、網(wǎng)頁制作、計算等多個領(lǐng)域都體現(xiàn)出了強大的功能。python和其他腳本語言如java、R、Perl 一樣,都可以直接在命令行里運行腳本程序。工具/原料
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),武陵企業(yè)網(wǎng)站建設(shè),武陵品牌網(wǎng)站建設(shè),網(wǎng)站定制,武陵網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,武陵網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
python;CMD命令行;windows操作系統(tǒng)
方法/步驟
1、首先下載安裝python,建議安裝2.7版本以上,3.0版本以下,由于3.0版本以上不向下兼容,體驗較差。
2、打開文本編輯器,推薦editplus,notepad等,將文件保存成 .py格式,editplus和notepad支持識別python語法。
腳本第一行一定要寫上 #!usr/bin/python
表示該腳本文件是可執(zhí)行python腳本
如果python目錄不在usr/bin目錄下,則替換成當(dāng)前python執(zhí)行程序的目錄。
3、編寫完腳本之后注意調(diào)試、可以直接用editplus調(diào)試。調(diào)試方法可自行百度。腳本寫完之后,打開CMD命令行,前提是python 已經(jīng)被加入到環(huán)境變量中,如果沒有加入到環(huán)境變量,請百度
4、在CMD命令行中,輸入 “python” + “空格”,即 ”python “;將已經(jīng)寫好的腳本文件拖拽到當(dāng)前光標(biāo)位置,然后敲回車運行即可。
name?=?input("請輸入表達式:")
expre?=?""
for?x?in?name:
if?x?==?'?':
continue
elif?x!=?'?':
expre?+=?x
print(eval(expre))
你想實現(xiàn)的是將一個字符串的表達式計算出結(jié)果?比如 “11 + ? ?12*3”。直接用eval函數(shù)就好
8個超好用內(nèi)置函數(shù)set(),eval(),sorted(),reversed(),map(),reduce(),filter(),enumerate()
python中有許多內(nèi)置函數(shù),不像print那么廣為人知,但它們卻異常的強大,用好了可以大大提高代碼效率。
這次來梳理下8個好用的python內(nèi)置函數(shù)
1、set()
當(dāng)需要對一個列表進行去重操作的時候,set()函數(shù)就派上用場了。
用于創(chuàng)建一個集合,集合里的元素是無序且不重復(fù)的。集合對象創(chuàng)建后,還能使用并集、交集、差集功能。
2、eval()之前有人問如何用python寫一個四則運算器,輸入字符串公式,直接產(chǎn)生結(jié)果。用eval()來做就很簡單:eval(str_expression)作用是將字符串轉(zhuǎn)換成表達式,并且執(zhí)行。
3、sorted()在處理數(shù)據(jù)過程中,我們經(jīng)常會用到排序操作,比如將列表、字典、元組里面的元素正/倒排序。這時候就需要用到sorted() ,它可以對任何可迭代對象進行排序,并返回列表。對列表升序操作:
對元組倒序操作:
使用參數(shù):key,根據(jù)自定義規(guī)則,按字符串長度來排序:
根據(jù)自定義規(guī)則,對元組構(gòu)成的列表進行排序:
4、reversed()如果需要對序列的元素進行反轉(zhuǎn)操作,reversed()函數(shù)能幫到你。reversed()接受一個序列,將序列里的元素反轉(zhuǎn),并最終返回迭代器。
5、map()做文本處理的時候,假如要對序列里的每個單詞進行大寫轉(zhuǎn)化操作。這個時候就可以使用map()函數(shù)。
map()會根據(jù)提供的函數(shù),對指定的序列做映射,最終返回迭代器。也就是說map()函數(shù)會把序列里的每一個元素用指定的方法加工一遍,最終返回給你加工好的序列。舉個例子,對列表里的每個數(shù)字作平方處理:
6、reduce()前面說到對列表里的每個數(shù)字作平方處理,用map()函數(shù)。那我想將列表里的每個元素相乘,該怎么做呢?這時候用到reduce()函數(shù)。
reduce()會對參數(shù)序列中元素進行累積。第一、第二個元素先進行函數(shù)操作,生成的結(jié)果再和第三個元素進行函數(shù)操作,以此類推,最終生成所有元素累積運算的結(jié)果。再舉個例子,將字母連接成字符串。
你可能已經(jīng)注意到,reduce()函數(shù)在python3里已經(jīng)不再是內(nèi)置函數(shù),而是遷移到了functools模塊中。這里把reduce()函數(shù)拎出來講,是因為它太重要了。
7、filter()一些數(shù)字組成的列表,要把其中偶數(shù)去掉,該怎么做呢?
filter()函數(shù)輕松完成了任務(wù),它用于過濾序列,過濾掉不符合條件的元素,返回一個迭代器對象。filter()函數(shù)和map()、reduce()函數(shù)類似,都是將序列里的每個元素映射到函數(shù),最終返回結(jié)果。我們再試試,如何從許多單詞里挑出包含字母w的單詞。
8、enumerate()這樣一個場景,同時打印出序列里每一個元素和它對應(yīng)的順序號,我們用enumerate()函數(shù)做做看。
enumerate翻譯過來是枚舉、列舉的意思,所以說enumerate()函數(shù)用于對序列里的元素進行順序標(biāo)注,返回(元素、索引)組成的迭代器。再舉個例子說明,對字符串進行標(biāo)注,返回每個字母和其索引。
190219
每個對象,在內(nèi)存中都有一個自己的地址,那就是它的身份。
可以用【id()】函數(shù)來查看對象的內(nèi)存地址,可以區(qū)別2個相似數(shù)是否值一樣。(這個函數(shù)得到的內(nèi)存地址,只讀不能修改)
在python中,小數(shù)與整數(shù)有別。
3和3.0時不同的對象,其內(nèi)存地址也是不一樣的。
數(shù)字在python中有2種類型:
整數(shù)和浮點數(shù),分別用【int】和【float】表示。
其四則運算和我們上學(xué)學(xué)的數(shù)學(xué)一樣。
可以用【type()】函數(shù)來查看對象的類型。
返回顯示為整數(shù)
返回顯示為浮點數(shù)
在python中,四則運算和數(shù)學(xué)中學(xué)習(xí)過的四則運算規(guī)則是一樣的。
在python中,【/】是除號,而【//】則得到的是含有小數(shù)位的結(jié)果再通過“四舍五入”取整數(shù)的商。
同時,不管是被除數(shù)還是除數(shù),只要有一個數(shù)是浮點數(shù),結(jié)果就是浮點數(shù)。
在計算機種,有一個成文的bug。
既是
原因在于是計算機在計算浮點數(shù)部分時,是把其先轉(zhuǎn)化為二進制進行計算,轉(zhuǎn)化為二進制后,不會精確等于十進制的0.1,同時,計算機儲存的位數(shù)是有限的,所以就會出現(xiàn)上述情況。
用【%】會得到相除的余數(shù)。
用【divmod(對象1,對象2)】函數(shù)可以返回對象除以對象2的商和余數(shù).
例如:
用【round(對象1,對象2)】函數(shù)可以得到對象1,小數(shù)點后{對象2}位的小數(shù)
例如:
不過四舍五入還是遵循十進制轉(zhuǎn)化二進制計算,所以有時候還會出現(xiàn)四舍五入會變成五舍司入的情況,這個bug是在任何語言種都有出現(xiàn)的,沒有關(guān)系。