❶ python編程必備技能:簡單實用的代碼運行時間測量方法
Python編程中,想要掌握代碼執行效率的洞察力,測量運行時間是一個必不可少的技能。利用Python內置的time模塊,這個過程相當直接且實用。首先,你需要在代碼執行的起點記錄當前的時間,通過調用time.time()函數獲取這一時間戳。接著,當代碼運行完畢,再次獲取當前時間並記錄下來。最後,通過計算這兩個時間點的差值,就能得到代碼實際的運行時長,這對於優化代碼性能和理解程序執行流程非常有幫助。
具體操作時,time.time()函數返回的是自1970年1月1日00:00:00以來的秒數,這個時間戳的差值就代表了代碼執行的時間長度。通過這種簡單但有效的方法,你可以更好地監控和理解你的Python程序在實際運行中的效率。
❷ 畢業生必看Python函數式編程
學Python都應該了解的函數式編程
Python函數式編程
函數式編程(Functional
Programming) 或者函數程序設計, 是
一種編程范型。
它將計算機運算視為數學上的函數運算,
並且避免使用程序狀態以及變數對象。
以上只是簡單的函數式編程的概念,我們
只需簡單了解即可。
在Python中, 函數式編程主要由幾個函
數的使用構成:lambda() , map() ,
rece() , filter() 等。
1.lambda函數
lambda函數, 又成為匿名函數。
lambda函數只能有一個表達式, 而不需
要寫return來返回函數的值。當然, 匿
名函數也是一個函數對象,同樣可以把匿
名函數賦值給一個變數。
也可以把匿名函數作為返回值來返回
可以看出, 變數f就是一個lambda函數
類型,需要使用f()來調用該函數。
2.map函數
map函數接收兩個參數, 一個是函數,
個是Inter able(可迭代序列) , map
函數依次將函數作用到序列的每個元素,
並把結果作為新的Inter able返回。
看一個例子:如圖
一個簡單的列表解析,把列表a的每個元
素都加2, 用map函數可以寫為:如圖
由於map函數返回的是一個惰性序列,
需要通過list() 等函數來調用它。
雖然上面的代碼看起來比直接寫for循環
要復雜,但是當數據量很大的情況下,
Python的for效率就不是很高了, 而
map的效率是可以接近C語言的。同時
代碼也簡潔很多,簡直裝X神器。
3.rece函數
它和map有些像, 不過map是用於逐
一遍歷, 而rece函數是用來遞歸計算
的。
一個簡單的序列求和
對列表a的各個元素依次求和,再看一個
自製的int() 函數的例子
這是Python內置函數int的用法
4.filter函數
它同樣接收一個函數和一個序列,
filter() 把傳入的函數依次作用於每個元
素, 然後根據返回值是True還是False
決定保留還是丟棄該元素。
使用這些函數,不僅可以讓我們的代碼更加簡潔,
同時在大數據量或者計算密集時,能夠大大提高效率。
❸ 石頭剪刀布python編程代碼
player = int(input(「請出拳 石頭(1)/剪刀(2)/布(3)」))
computer = 1
if((player == 1 and computer == 2) or
(player == 2 and computer == 3) or
(player == 3 and computer == 1)):
print(「歐耶!侍銀配電腦弱爆老指了!」)
elif player == computer:
print(「心搏念有靈犀,再來一盤!」)
else:
print(「不行,我要和你決戰到天明!」)
執行的時候,第一行一定要單獨復制,因為你需要輸入一個數值
❹ python簡單代碼必須掌握的20個Python代碼
當今python編程語言的潮流已經成為不可阻擋的趨勢,python以其較高的可讀性和簡潔性備受程序員的喜愛。而python編程中的一些小的技巧,運用的恰當,會讓你的程序事半功倍。
以下的20個小的程序段,看似非常的簡單,但是卻非常的有技巧性,並且對個人的編程能力是一個很好的檢驗,大家應該在日常的編程中多多使用,多多練習。
1.字元串的翻轉
字元串的翻轉,首先最簡單的方法就是利用切片的操作,來實現翻轉,其次可以利用rece函數來實現翻轉,在python3中,rece函數需要從functools中進行導入。
2.判斷字元串是否是迴文
該例也可以看作是第一例的應用,利用字元串的翻轉來判斷字元是否是迴文字元串。
3.單詞大小寫
面對一個字元串,想將裡面的單詞首字母大寫,只需要調用title()函數,而所有的字母大寫只需要調用upper()函數,字元串首字母大寫則是調用capitalize()函數即可。
4.字元串的拆分
字元串的拆分可以直接利用split函數,進行實現,返回的是列表,而strip函數用於移除字元串頭尾指定的字元(默認為空格或換行符)。
5.將列表中的字元串合並
這一條可以認為是第4條的範例,這里是將列表中的字元串合並為字元串。第4條可以與第5條結合,來去除字元串中不想留下的項。
6.尋找字元串中唯一的元素
在python中,對於唯一值的篩查,首先應該想到對於set的利用,set可以幫助我們快速的篩查重復的元素,上述程序中,set不僅可以對字元串,而且還可以針對列表進行篩查。
7.將元素進行重復
將元素進行重復,可以採用「乘法」的形式,直接乘以原來的元素,也可以採用「加法」的形式,更方便理解。
8.基於列表的擴展
基於列表的擴展,可以充分利用列表的特性和python語法的簡潔性,來產生新的列表,或者將嵌套的列表進行展開。
9. 將列表展開
首先,方法1中 ,我們調用的是iteration_utilities 中的deepflatten函數,第二種方法直接採用遞歸的方法,我們自己來實現復雜列表的展平,便可以得到展開後的列表。
10.二值交換
Python中的二值交換,可以直接採用交換的方式,如上圖的方法1,而方法2所示的方法,藉助第三個變數,來實現了兩個數值的交換。
11.統計列表中元素的頻率
我們可以直接調用collections中的Counter類來統計元素的數量,當然也可以自己來實現這樣的統計,但是從簡潔性來講,還是以Counter的使用比較方便。
12.判斷字元串所含元素是否相同
Counter函數還可以用來判斷字元串中包含的元素是否相同,無論字元串中元素順序如何,只要包含相同的元素和數量,就認為其是相同的。
13.將數字字元串轉化為數字列表
上述程序中,方法1利用的map函數,map函數可以將str19中的每個元素都執行int函數,其返回的是一個迭代器,利用list函數來將其轉化為列表的形式。注意,在python2中執行map函數就會直接返回列表,而python3做了優化,返回的是迭代器,節省了內存。
14.使用try-except-finally模塊
當我們在執行程序時,可能會遇到某些不可預知的錯誤,使用try-except可以幫助我們去捕獲這些錯誤,然後輸出提示。注意,如果需要程序無論是否出錯,都要執行一些程序的話,需要利用finally來實現。
15. 使用enumerate() 函數來獲取索引-數值對
enumerate() 函數用於將一個可遍歷的數據對象(如上圖的列表,字元串)組合為一個索引序列。
16.代碼執行消耗時間
利用time()函數,在核心程序開始前記住當前時間點,然後在程序結束後計算當前時間點和核心程序開始前的時間差,可以幫助我們計算程序執行所消耗的時間。
17.檢查對象的內存佔用情況
在python中可以使用sys.getsizeof來查看元素所佔內存的大小。
18.字典的合並
在python3中,提供了新的合並字典的方式,如方法1所示,此外python3還保留了python2的合並字典的方式,如方法2所示。
19.隨機采樣
使用random.sample()函數,可以從一個序列中選擇n_samples個隨機且獨立的元素。
20.檢查唯一性
通過檢查列表長度是否與set後的列表長度一致,來判斷列表中的元素是否是獨一無二的。
這20個短小精悍的小例子還是非常實用的,尤其是對菜鳥來說,多練習一下對功力提升大有裨益!讀百遍,看千遍,不然自己動手敲一遍。
❺ python簡單的編程代碼
輸入兩個數字,比較大小,然後按照大小輸出
def cmpNum():
a = input("請輸入一個數字:")
b = input("請輸入一個數字:")
if a >= b:
print(a, b)
else:
print(b, a)
cmpNum()
結果一:
請輸入一個數字:159
請輸入一個數字:456
456 159
結果二:
請輸入一個數字:9568
請輸入一個數字:1452
9568 1452