小編寫這篇文章的一個主要目的,主要是給大家介紹,關于如何處理代碼臃腫的事項,但是如果要處理的話,還是比較的麻煩的,那么,遇到這種問題的話,需要怎么去處理呢?下面就給大家詳細的解答下。
什么是單行代碼
你可以將單行代碼視為壓縮在一起的代碼塊,使其適合一行。它是只包含在一行中的簡潔、有用的程序。
為什么我需要它們
如果你并不喜歡寫單行代碼,或者你只是好奇為什么我們必須知道這些,那么下面是一些非常有說服力的理由。
理解One-liners將使你成為Python專家,因為你將更好地理解該語言。
這將幫助你更快地編寫代碼。你可以比其他人更快地編寫一段代碼,這將有助于你進行競爭性編程。
在線課程將提高你的基礎知識和編程基礎,因為它們會加強你的基礎知識。
你將更多地以Pythonic方式編寫代碼。通常,來自不同語言的人經常在Python中以非Python的方式編寫代碼,例如他們不使用列表推導、多重賦值和切片等。
你可以給你的朋友、同事留下深刻的印象,如果你掌握了單行的話,你可以在面試中給人留下好印象。
開始
1.if-else
優化前
</>復制代碼
if 3<2:
var=21
else:
var=42
優化后
</>復制代碼
var=21 if 3<2 else 42
2.elif
優化前
</>復制代碼
>>>x=42
>>>if x>42:
>>>print("no")
>>>elif x==42:
>>>print("yes")
>>>else:
>>>print("maybe")
yes
優化后
</>復制代碼
>>>print("no")if x>42 else print("yes")if x==42 else print("maybe")
yes
3.if
優化前
</>復制代碼
condition=True
if condition:
print('hi')
優化后
</>復制代碼
if condition:print('hello')
print('hello')if condition else None
4.函數
優化前
</>復制代碼
def f(x):
return"hello"+x
優化后
</>復制代碼
f=lambda x:"hello"+x
f=exec("def f(x):n return'hello'+x")
5.循環(列表推導式)
優化前
</>復制代碼
squares=[]
for i in range(10):
squares.append(i**2)
優化后
</>復制代碼
squares=[i**2 for i in range(10)]
6.if循環
優化前
</>復制代碼
squares=[]
for i in range(10):
if i%2==0:
squares.append(i**2)
優化后
</>復制代碼
squares=[i**2 for i in range(10)if i%2==0]
7.if else循環
優化前
</>復制代碼
squares=[]
for i in range(10):
if i%2==0:
squares.append(i**2)
else:
squares.append(False)
優化后
</>復制代碼
squares=[i**2 if i%2==0 else False for i in range(10)]
8.While循環與if else
優化前
</>復制代碼
c=0
while c<10:
if c!=5:
print(c)
else:
print("FIVE")
c+=1
優化后
</>復制代碼
while c<10:c+=1;print(c)if c!=5 else print("FIVE")
9.變量交換
優化前
</>復制代碼
>>>def swap(x,y):
x=x^y
y=x^y
x=x^y
return x,y
>>>swap(10,20)
(20,10)
優化后
</>復制代碼
>>>x,y=10,20
>>>x,y=y,x
(20,10)
10.多重賦值
優化前
</>復制代碼
a="ONE"
b=2
c=3.001
優化后
</>復制代碼
a,b,c="One",2,3.001
11.將字符串寫入文件
優化前
</>復制代碼
text="Helllloooooo"
fileName="hello.txt"
f=open(fileName,"a")
f.write(text)
f.close()
優化后
</>復制代碼
text="Helllloooooo"
fileName="hello.txt"
print(text,file=open(fileName,'a'))
12.快速排序
優化前
</>復制代碼
def partition(array,start,end):
pivot=array[start]
low=start+1
high=end
while True:
while low<=high and array[high]>=pivot:
high=high-1
while low<=high and array[low]<=pivot:
low=low+1
if low<=high:
array[low],array[high]=array[high],array[low]
else:
break
array[start],array[high]=array[high],array[start]
return high
def quick_sort(array,start,end):
if start>=end:
return
p=partition(array,start,end)
quick_sort(array,start,p-1)
quick_sort(array,p+1,end)
array=[29,99,27,41,66,28,44,78,87,19,31,76,58,88,83,97,12,21,44]
quick_sort(array,0,len(array)-1)
print(array)
優化后
</>復制代碼
array=[29,99,27,41,66,28,44,78,87,19,31,76,58,88,83,97,12,21,44]
q=lambda l:q([x for x in l[1:]if x<=l[0]])+[l[0]]+q([x for x in l if x>l[0]])if l else[]
print(q(array))
13.斐波那契數列
優化前
</>復制代碼
def fib(x):
if x<=2:
return 1
return fib(x-1)+fib(x-2)
優化后
</>復制代碼
fib=lambda x:x if x<=1 else fib(x-1)+fib(x-2)
14.HTTP服務器
優化前
</>復制代碼
import http.server
import socketserver
PORT=8000
Handler=http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("",PORT),Handler)as httpd:
print("serving at port",PORT)
httpd.serve_forever()
優化后
</>復制代碼
python-m http.server 8000
15.嵌套For循環
優化前
</>復制代碼
iter1=[1,2,3,4]
iter2=['a','b','c']
for x in iter1:
for y in iter2:
print(x,y)
優化后
</>復制代碼
[print(x,y)for x in iter1 for y in iter2]
16.輸出不換行
優化前
</>復制代碼
for i in range(1,5):
print(i,end="")
優化后
</>復制代碼
print(*range(1,5))
18.海象運算符:=(Python 3.8)
優化前
</>復制代碼
command=input(">")
while command!="quit":
print("You entered:",command)
優化后
</>復制代碼
while(command:=input(">"))!="quit":print("You entered:",command)
這篇文章就給大家介紹到這里了,希望可以給大家帶來更多幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128312.html
摘要:利用的一些輔助函數進行類型轉換的函數和復雜的自定函數之間有一個中間段,那就是的一些輔助函數。這些輔助函數對于某些特定數據類型的轉換非常有用如。 利用Pandas進行數據分析時,確保使用正確的數據類型是非常重要的,否則可能會導致一些不可預知的錯誤發生。筆者使用Pandas已經有一段時間了,但是還是會在一些小問題上犯錯誤,追根溯源發現在對數據進行操作時某些特征列并不是Pandas所能處理的...
摘要:今日我就和我們深化共享一下圖片優化有必要了解的個知識點。一般我們能夠擬定結構化數據規則讓技術人員設計程序批量替換圖片的特點,而無需我們手工操作。關于圖片地圖,我就不多說了,由于谷歌有許多輔導文檔來協助你提高圖片的查找排名,看這兒。 假如你運營在線商城又或是大型電商網站,圖片優化是你必需求把握的。不僅僅是從招引潛在顧客,仍是添加圖片查找流量,又或是提高網站加載速度,圖片優化扮演者十分要害...
摘要:今日我就和我們深化共享一下圖片優化有必要了解的個知識點。一般我們能夠擬定結構化數據規則讓技術人員設計程序批量替換圖片的特點,而無需我們手工操作。關于圖片地圖,我就不多說了,由于谷歌有許多輔導文檔來協助你提高圖片的查找排名,看這兒。 假如你運營在線商城又或是大型電商網站,圖片優化是你必需求把握的。不僅僅是從招引潛在顧客,仍是添加圖片查找流量,又或是提高網站加載速度,圖片優化扮演者十分要害...
摘要:同時,在元類中,我們還需要加上一個判斷,只有在這個類創建時才需要控制其類的生成,其他的就不需要了。完整代碼后臺回復元類獲取原創不易,如果文章對你有用的話,點贊留言轉發是對我的最大支持日常學代碼不止,還有美和樂趣 我之前在深入理解python中的類和對象中說過,python中的類也是一個對象,可以說是類對象,可以由type來創建類對象的。有了這個知識我們先看看下面這個函數: showIm...
閱讀 918·2023-01-14 11:38
閱讀 890·2023-01-14 11:04
閱讀 749·2023-01-14 10:48
閱讀 2030·2023-01-14 10:34
閱讀 955·2023-01-14 10:24
閱讀 832·2023-01-14 10:18
閱讀 505·2023-01-14 10:09
閱讀 582·2023-01-14 10:02