成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python代碼太臃腫怎么辦?下給給大家總結(jié)幾個小技巧

89542767 / 552人閱讀

  小編寫這篇文章的一個主要目的,主要是給大家介紹,關(guān)于如何處理代碼臃腫的事項,但是如果要處理的話,還是比較的麻煩的,那么,遇到這種問題的話,需要怎么去處理呢?下面就給大家詳細(xì)的解答下。


  什么是單行代碼


  你可以將單行代碼視為壓縮在一起的代碼塊,使其適合一行。它是只包含在一行中的簡潔、有用的程序。


  為什么我需要它們


  如果你并不喜歡寫單行代碼,或者你只是好奇為什么我們必須知道這些,那么下面是一些非常有說服力的理由。


  理解One-liners將使你成為Python專家,因為你將更好地理解該語言。


  這將幫助你更快地編寫代碼。你可以比其他人更快地編寫一段代碼,這將有助于你進行競爭性編程。


  在線課程將提高你的基礎(chǔ)知識和編程基礎(chǔ),因為它們會加強你的基礎(chǔ)知識。


  你將更多地以Pythonic方式編寫代碼。通常,來自不同語言的人經(jīng)常在Python中以非Python的方式編寫代碼,例如他們不使用列表推導(dǎo)、多重賦值和切片等。


  你可以給你的朋友、同事留下深刻的印象,如果你掌握了單行的話,你可以在面試中給人留下好印象。


  開始


  1.if-else


  優(yōu)化前


  if 3<2:
  var=21
  else:
  var=42


  優(yōu)化后

  var=21 if 3<2 else 42


  2.elif


  優(yōu)化前


  >>>x=42
  >>>if x>42:
  >>>print("no")
  >>>elif x==42:
  >>>print("yes")
  >>>else:
  >>>print("maybe")
  yes


  優(yōu)化后


  >>>print("no")if x>42 else print("yes")if x==42 else print("maybe")
  yes


  3.if


  優(yōu)化前


  condition=True
  if condition:
  print('hi')


  優(yōu)化后


  if condition:print('hello')
  print('hello')if condition else None


  4.函數(shù)


  優(yōu)化前


  def f(x):
  return"hello"+x


  優(yōu)化后


  f=lambda x:"hello"+x
  f=exec("def f(x):n return'hello'+x")


  5.循環(huán)(列表推導(dǎo)式)


  優(yōu)化前


  squares=[]
  for i in range(10):
  squares.append(i**2)


  優(yōu)化后

  squares=[i**2 for i in range(10)]


  6.if循環(huán)


  優(yōu)化前


  squares=[]
  for i in range(10):
  if i%2==0:
  squares.append(i**2)


  優(yōu)化后

  squares=[i**2 for i in range(10)if i%2==0]


  7.if else循環(huán)


  優(yōu)化前


  squares=[]
  for i in range(10):
  if i%2==0:
  squares.append(i**2)
  else:
  squares.append(False)


  優(yōu)化后


  squares=[i**2 if i%2==0 else False for i in range(10)]
  8.While循環(huán)與if else


  優(yōu)化前


  c=0
  while c<10:
  if c!=5:
  print(c)
  else:
  print("FIVE")
  c+=1


  優(yōu)化后


  while c<10:c+=1;print(c)if c!=5 else print("FIVE")

  9.變量交換


  優(yōu)化前


  >>>def swap(x,y):
  x=x^y
  y=x^y
  x=x^y
  return x,y
  >>>swap(10,20)
  (20,10)


  優(yōu)化后


  >>>x,y=10,20
  >>>x,y=y,x
  (20,10)


  10.多重賦值


  優(yōu)化前


  a="ONE"
  b=2
  c=3.001


  優(yōu)化后

  a,b,c="One",2,3.001


  11.將字符串寫入文件


  優(yōu)化前


  text="Helllloooooo"
  fileName="hello.txt"
  f=open(fileName,"a")
  f.write(text)
  f.close()


  優(yōu)化后


  text="Helllloooooo"
  fileName="hello.txt"
  print(text,file=open(fileName,'a'))


  12.快速排序


  優(yōu)化前


  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)

  優(yōu)化后


  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.斐波那契數(shù)列


  優(yōu)化前


  def fib(x):
  if x<=2:
  return 1
  return fib(x-1)+fib(x-2)


  優(yōu)化后

  fib=lambda x:x if x<=1 else fib(x-1)+fib(x-2)


  14.HTTP服務(wù)器


  優(yōu)化前


  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()


  優(yōu)化后

  python-m http.server 8000


  15.嵌套For循環(huán)


  優(yōu)化前


  iter1=[1,2,3,4]
  iter2=['a','b','c']
  for x in iter1:
  for y in iter2:
  print(x,y)


  優(yōu)化后


  [print(x,y)for x in iter1 for y in iter2]

  16.輸出不換行


  優(yōu)化前


  for i in range(1,5):
  print(i,end="")


  優(yōu)化后

  print(*range(1,5))


  18.海象運算符:=(Python 3.8)


  優(yōu)化前


  command=input(">")
  while command!="quit":
  print("You entered:",command)


  優(yōu)化后

  while(command:=input(">"))!="quit":print("You entered:",command)


  這篇文章就給大家介紹到這里了,希望可以給大家?guī)砀鄮椭?/p>

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/128312.html

相關(guān)文章

  • Pandas數(shù)據(jù)類型轉(zhuǎn)換的個小技巧

    摘要:利用的一些輔助函數(shù)進行類型轉(zhuǎn)換的函數(shù)和復(fù)雜的自定函數(shù)之間有一個中間段,那就是的一些輔助函數(shù)。這些輔助函數(shù)對于某些特定數(shù)據(jù)類型的轉(zhuǎn)換非常有用如。 利用Pandas進行數(shù)據(jù)分析時,確保使用正確的數(shù)據(jù)類型是非常重要的,否則可能會導(dǎo)致一些不可預(yù)知的錯誤發(fā)生。筆者使用Pandas已經(jīng)有一段時間了,但是還是會在一些小問題上犯錯誤,追根溯源發(fā)現(xiàn)在對數(shù)據(jù)進行操作時某些特征列并不是Pandas所能處理的...

    luckyw 評論0 收藏0
  • 圖片怎么優(yōu)化的8個小技巧

    摘要:今日我就和我們深化共享一下圖片優(yōu)化有必要了解的個知識點。一般我們能夠擬定結(jié)構(gòu)化數(shù)據(jù)規(guī)則讓技術(shù)人員設(shè)計程序批量替換圖片的特點,而無需我們手工操作。關(guān)于圖片地圖,我就不多說了,由于谷歌有許多輔導(dǎo)文檔來協(xié)助你提高圖片的查找排名,看這兒。 假如你運營在線商城又或是大型電商網(wǎng)站,圖片優(yōu)化是你必需求把握的。不僅僅是從招引潛在顧客,仍是添加圖片查找流量,又或是提高網(wǎng)站加載速度,圖片優(yōu)化扮演者十分要害...

    zorro 評論0 收藏0
  • 圖片怎么優(yōu)化的8個小技巧

    摘要:今日我就和我們深化共享一下圖片優(yōu)化有必要了解的個知識點。一般我們能夠擬定結(jié)構(gòu)化數(shù)據(jù)規(guī)則讓技術(shù)人員設(shè)計程序批量替換圖片的特點,而無需我們手工操作。關(guān)于圖片地圖,我就不多說了,由于谷歌有許多輔導(dǎo)文檔來協(xié)助你提高圖片的查找排名,看這兒。 假如你運營在線商城又或是大型電商網(wǎng)站,圖片優(yōu)化是你必需求把握的。不僅僅是從招引潛在顧客,仍是添加圖片查找流量,又或是提高網(wǎng)站加載速度,圖片優(yōu)化扮演者十分要害...

    Seay 評論0 收藏0
  • 再有人問什么是元類,就把這篇文章扔給他!

    摘要:同時,在元類中,我們還需要加上一個判斷,只有在這個類創(chuàng)建時才需要控制其類的生成,其他的就不需要了。完整代碼后臺回復(fù)元類獲取原創(chuàng)不易,如果文章對你有用的話,點贊留言轉(zhuǎn)發(fā)是對我的最大支持日常學(xué)代碼不止,還有美和樂趣 我之前在深入理解python中的類和對象中說過,python中的類也是一個對象,可以說是類對象,可以由type來創(chuàng)建類對象的。有了這個知識我們先看看下面這個函數(shù): showIm...

    王巖威 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<