13個Python開發(fā)者都應(yīng)該知道的實用技巧分享
我們都知道 Python 是目前比較流行的編程語言之一,也是每個開發(fā)人員的最愛。在今天這篇文章中,我將分享13關(guān)于Python開發(fā)的實用技巧,這些技巧將幫助你進行日常開發(fā),可以提升你的工作效率,節(jié)省你的開發(fā)時間,我個人覺得很用,希望它也能幫助到你。
1. 傳遞參數(shù)而不聲明
這個技巧將讓您在函數(shù)中傳遞無限參數(shù),而無需在函數(shù)體中聲明它們。
# Pass Arguments defTest_func(*numbers): mul = 1 for n in numbers: mul = mul * n print(mul) Test_func(1, 3, 4) # 12
2. 迭代列表
您可能使用循環(huán)來迭代列表,但您知道 python 有什么驚人的迭代列表并在其上執(zhí)行函數(shù)嗎?看下面示例代碼。
# Smart way to iterate mylst = [11, 22, 33, 44, 55] new = [x * 2for x in mylst] print(new) # [22, 44, 66, 88, 110]
3. 更短的庫名稱
有時很難在一個程序的多行代碼中使用長名稱庫,本技巧將向您展示如何以簡單的 Python 方式縮短您的庫名稱。
# Shorter Library Names import pandas as pd import numpy as np import tkinter as tk import time as t
4. Pyforest
如果你不需要安裝 Pandas、NumPy、SciPy、nltk 等流行模塊和其他 python 流行庫,我推薦你使用這個庫。在使用 Pyforest 時,您不需要導(dǎo)入這些模塊,但您可以簡單地調(diào)用它們的函數(shù)。
# pip install pyforest import pyforest a = np.array([[1, 2], [3, 5]])
如果您看過上面的示例代碼,您就會知道我沒有導(dǎo)入 NumPy 模塊并直接使用它們的功能,所以說,這就是使用 Pyforest 的好處。
5. 多輸入
這個簡單的技巧將幫助您使用一行代碼獲取多個輸入。
# Take Multiple Input data = input("Enter num with Spaces: ").split() print(data) # Input 123 # Output ['1', '2', '3']
6.修剪原始數(shù)據(jù)
這個很棒的技巧將幫助您以干凈的格式修剪原始數(shù)據(jù)或 Web 數(shù)據(jù),有時我們會遇到一些粗大的原始數(shù)據(jù),其中包括一些額外的空格、特殊字符等,要清理它,您可以查看以下示例代碼。
# Trim Data data = " Hello" print(data.strip(" ")) # Hello data = " Hello Pythoneer" print(data.lstrip(" ")) # Hello Pythoneer data = "Hello Coder$$$" print(data.rstrip("$")) # Hello Coder
7. 運行時處理錯誤
運行時錯誤總是讓人頭疼,為了避免這種頭痛,您可以在 Python 中使用運行時錯誤處理語句。
# Handling Runtime Error x = 6 try: if5 > 3: x = x * y else: x = x + y except: print("Yis not defined") # Output ErrorCaught Yis not defined
8. lambda 函數(shù)
本技巧將指導(dǎo)您使用 lambda 函數(shù)在一行中編寫小函數(shù),查看下面的示例代碼以了解 lambda 的工作原理。
# One liner functions #example 1 mul = lambda x : x * 2 print(mul(3)) # 6 #example 2 mul = lambda x,y : x * y * 2 print(mul(1,2)) # 4
9. Yield的魔力
Yield 是 Python 中的一個關(guān)鍵字,用于在不破壞其當(dāng)前狀態(tài)和局部變量的情況下從函數(shù)返回,并且當(dāng)再次調(diào)用該函數(shù)時,yield 將從最后一個 yield 語句執(zhí)行該函數(shù)。
# Yield deffunc(): yield1 yield2 yield3 yield4 for x in func(): print(x) #Output: 1 2 3 4
通過上面的示例代碼,你會知道,當(dāng)?shù)谝粋€ yield 返回并且在整個循環(huán)中再次調(diào)用函數(shù)時,它從最后一個 yield 開始,這次是第二個 yield 語句調(diào)用。
10. 局部變量和全局變量
這個技巧將指導(dǎo)您如何在函數(shù)中聲明全局變量和局部變量,通過查看下面的示例代碼,您可以了解它們的區(qū)別。
# Local and Global Variables # Local varibles a = 5 b = 6 # Global deffunc(): globala a = 6 * 2 globala a = 0
11. 智能字典
很多 Python程序員使用括號方法來訪問字典中鍵值的數(shù)據(jù),但是,當(dāng)您遇到關(guān)鍵錯誤時,程序?qū)⑼V梗瑸榱吮苊膺@個運行時發(fā)生錯誤,您可以獲取一種方法來訪問字典中的鍵值。
# Dictionary in Smart way mydict = {"a" : 10, "b" : 20, "c" : 30} # Best way mydict.get(mydict["d"]) # None # default way mydict["d"] # KeyError
12. 智能數(shù)據(jù)交換
這個簡單的技巧將向您展示,在不使用臨時變量的情況下交換兩個值的友好方法。
d1 = 55 d2 = 66 d2, d1 = d1, d2 print(d1, d2) #output 66 55
13. Division 2.0
當(dāng)您需要對兩個數(shù)字進行除法并以商和余數(shù)的形式獲得結(jié)果時,此提示和技巧很有用,查看下面的代碼示例以獲得更好的理解。
# Division x = 5 y = 3 div = divmod(x, y) print(div) # (1, 2) --> (Quotient, Remainder)
寫在最后的想法:以上就是我今天想跟你分享的13 個關(guān)于Python的技巧,它們將幫助您提升工作效率。最后,感謝您的閱讀,Python編程愉快!
最后希望你編程學(xué)習(xí)上不急不躁,按照計劃有條不紊推進,把任何一件事做到極致,都是不容易的,加油,努力!相信自己!
到此這篇關(guān)于13個Python開發(fā)者都應(yīng)該知道的實用技巧分享的文章就介紹到這了,更多相關(guān)Python實用技巧內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
django項目環(huán)境搭建及在虛擬機本地創(chuàng)建django項目的教程
這篇文章主要介紹了django項目環(huán)境搭建及在虛擬機本地創(chuàng)建django項目的教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08詳解Anconda環(huán)境下載python包的教程(圖形界面+命令行+pycharm安裝)
這篇文章主要介紹了Anconda環(huán)境下載python包的教程(圖形界面+命令行+pycharm安裝),這篇文章很適合小白入手級別的,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11python實現(xiàn)傅里葉級數(shù)展開的實現(xiàn)
這篇文章主要介紹了python實現(xiàn)傅里葉級數(shù)展開的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07基于Python爬取fofa網(wǎng)頁端數(shù)據(jù)過程解析
這篇文章主要介紹了基于Python爬取fofa網(wǎng)頁端數(shù)據(jù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07解決python寫的windows服務(wù)不能啟動的問題
使用py2exe生成windows服務(wù)在win7下可以正常運行,但是到了xp下面可以安裝,但是無法啟動2014-04-04