自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

17個提升Python的編碼技巧,從此鍵盤飛起

開發(fā) 前端
Python 是一種真正美妙的語言。當(dāng)有人想出一個好主意時,大約需要 1 分鐘和 5 行代碼來編寫幾乎可以滿足您要求的東西。然后只需要一個小時就可以將腳本擴(kuò)展到 300 行,之后它仍然幾乎可以滿足您的需求。

Python 是一種真正美妙的語言。當(dāng)有人想出一個好主意時,大約需要 1 分鐘和 5 行代碼來編寫幾乎可以滿足您要求的東西。然后只需要一個小時就可以將腳本擴(kuò)展到 300 行,之后它仍然幾乎可以滿足您的需求。

“Python 是一種真正美妙的語言。當(dāng)有人想出一個好主意時,大約需要 1 分鐘和 5 行代碼來編寫幾乎可以滿足您要求的東西。然后只需要一個小時就可以將腳本擴(kuò)展到 300 行,之后它仍然幾乎可以滿足您的需求。” - 杰克詹森

1. 打印N次字符串

你可能使用循環(huán)來打印 N 次字符串。但我將向你展示了:在一小行代碼中打印 N 次字符串的優(yōu)美方法。

string = "Python "
ntimes = string * 3
print(ntimes) # Python Python Python

2. 函數(shù)多值返回

有時候函數(shù)需要返回多個值,我們可以用下面的方式來實(shí)現(xiàn):

def MultiReturn():
    return 1,2,3
a, b, c = MultiReturn()
print(a,b,c) # 1 2 3

3. 導(dǎo)入模塊的文件路徑

你知道我們可以在 Python 中獲取任何導(dǎo)入模塊的文件路徑嗎?當(dāng)你需要知道模塊的路徑時,這是一個了不起的功能。查看以下代碼示例:

import os
import json

print(os) # <module 'os' from '/usr/lib/python3.6/os.py'>
print(json) # <module 'json' from '/usr/lib/python3.6/json/__init__.py'>

4. 快速反轉(zhuǎn)字符串

要看懂下面代碼,你可能要深入了解 Python 切片操作。

string = "Python"
print(string[::-1]) # nohtyP

語法:string[start:end:stop]

  • start: 開始位置,默認(rèn)為 0
  • end: 結(jié)束位置,默認(rèn)為字符串長度
  • stop: 參數(shù)可以省略,默認(rèn)為 1, 可以為負(fù)數(shù),表示倒序。

5. 多變量賦值

許多其他語言 C++、Java、JavaScript 只允許對變量進(jìn)行一次賦值。但是 Python 允許你執(zhí)行多個分配,這在不同情況下非常有用。

a, b = 1, 2
print(a,b) # 1 2

6. 去重

python 中,你不再需要循環(huán)來從列表中刪除重復(fù)項(xiàng),你可以使用內(nèi)置函數(shù)以快速簡便的方式完成此操作??纯聪旅娴拇a。

lst1 = [1, 3, 3, 4, 5, 1]
lst2 = ["A", "A", "B", "C", "D", "D"]
print(set(lst1)) # {1, 3, 4, 5}
print(set(lst2)) # {'A', 'B', 'C', 'D'}

7. 格式化字符串

你通常使用 + 一元運(yùn)算符來格式化字符串。簡而言之,當(dāng)想將變量與字符串附加在一起時,可以使用一元運(yùn)算符 + 。但我將向你展示如何以簡單快捷的方式進(jìn)行這種格式化。

name = "John"
age = 23
# method 1
print("My name is " + name + " and I am " + str(age)) # My name is John and I am 23
# method 2
print("My name is {0} and I am {1}".format(name, age)) # My name is John and I am 23
# method 3
print(f"My name is {name} and I am {age}") # My name is John and I am 23

8. 初始化變量

你可以在 Python 中初始化空容器。簡而言之,可以在不分配值或填充它們的情況下聲明數(shù)據(jù)結(jié)構(gòu)。

lst = [] # 初始化一個空列表
dct = {} # 初始化一個空字典
tpl = () # 初始化一個空元組
set = set() # 初始化一個空集合

9. 你的python對象占內(nèi)存么?

你知道Python內(nèi)置模塊sys可以告訴你一個對象在python中消耗了多少內(nèi)存嗎?

import sys
print(sys.getsizeof(1)) # 28
print(sys.getsizeof(1.0)) # 24
print(sys.getsizeof(True)) # 1
print(sys.getsizeof(None)) # 1
print(sys.getsizeof("Hello")) # 56
print(sys.getsizeof([])) # 40
print(sys.getsizeof(())) # 40
print(sys.getsizeof({})) # 40
print(sys.getsizeof(set())) # 40

10. 反轉(zhuǎn)列表

參照本文第4條,反轉(zhuǎn)字符串。

lst = [1, 3, 3, 4, 5, 1]
print(lst[::-1]) # [1, 5, 4, 3, 3, 1]

11. 反轉(zhuǎn)字典

我將分享一個示例代碼來反轉(zhuǎn)字典。簡而言之,鍵和值將交換它們的位置。

dict = {'x' : 1, 'y' : 2, 'z' : 3}
new_dict = { value : key  for key , value in dict.items()}
print(new_dict) # {1: 'x', 2: 'y', 3: 'z'}

## 嘗試下下面代碼,有驚喜
dict = {'x' : 1, 'y' : 2, 'z' : 2}
new_dict = { value : key  for key , value in dict.items()}
print(new_dict) # {1: 'x', 2: 'z'}

12. 更高級的多變量賦值

本文前面,我們已經(jīng)學(xué)會了如何完成多變量復(fù)制。在這個技巧中,我們將學(xué)習(xí)多變量復(fù)制的高級方法。

a, *b, c, d = 3, 4, 5, 6, 7
print(a) # 3
print(b) # [4, 5]
print(c) # 6
print(d) # 7

## ?? 嘗試下下面代碼
a, *b, c= 3, 4, 5, 6, 7
print(a) # 3
print(b) # [4, 5, 6]
print(c) # 7

13. 連接列表中的字符串

您可能使用循環(huán)來迭代列表并將列表的每個項(xiàng)連接在一起。但是需要很多行代碼才能完成。此時可用join()方法以快速簡便的方式完成此操作。

lst = ['a', 'b', 'c']
print(''.join(lst)) # abc

14. 合并字典

dict1 = {'a' : 1, 'b' : 2}
dict2 = {'c' : 3, 'd' : 4}
dict3 = {**dict1, **dict2}
print(dict3) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}

15. Python遞歸次數(shù)有限制么?

當(dāng)使用遞歸函數(shù)時, Python其實(shí)已將默認(rèn)將遞歸限制設(shè)置為1000,但可以通過如下代碼修改其限制:

import sys
current_recursion_limit = sys.getrecursionlimit()
print(current_recursion_limit) # 1000
set_limit = sys.setrecursionlimit(2000)
print(set_limit) # 2000

16. 如何挑出后綴是 xls或者 xlsx 的文件?

你可能已經(jīng)使用過 startwith 和 endwith 方法來搜索字符串中的前綴或者后綴。但是你不一定知道他們可以使用多個條件。

string1 = 'abc.xls'
# method 1
if string1.endswith('.xls') or string1.endswith('.xlsx'):
    print('Yes')
# method 2
if string1.endswith(('.xls','.xlsx')):
    print('Yes')

17. 學(xué)會用 in 代替多個 if 語句

a = [1, 2, 3]
x = 1
# method 1
if a[0] == x or a[1] == x or a[2] == x:
    print('Number X is present in the list')

# method 2
if x in a:
    print('Number X is present in the list')

小節(jié)

上面分享的17個提供python的技巧,希望對你有所幫助!

責(zé)任編輯:華軒 來源: 哈希編程
相關(guān)推薦

2020-07-08 17:06:00

Python開發(fā)工具

2024-11-01 07:30:00

2014-08-11 12:54:27

構(gòu)建模塊代碼審查編程

2024-06-04 12:37:18

2024-08-26 14:42:04

Python目錄管理

2024-08-21 08:43:53

Python技巧鍵值

2024-10-10 11:49:27

2022-05-18 10:56:58

Java字符串編碼

2022-08-25 14:24:17

Python技巧

2022-05-27 08:40:27

java工具

2021-05-11 12:30:21

PyTorch代碼Python

2022-06-28 10:58:21

工具Java

2024-06-11 00:09:00

JavaScript模式變量

2015-11-10 10:11:32

ios開發(fā)工具效率

2015-02-05 09:47:52

Web性能Web開發(fā)

2024-10-07 10:00:00

Python代碼編碼

2014-02-14 09:16:51

JavaScript工具

2018-02-24 12:08:52

Python開發(fā)技巧

2024-04-03 10:29:13

JavaScrip優(yōu)化技巧

2023-07-07 14:47:46

JavaScript技巧
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號