久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

13個可能未使用過的Python特性

大多數程序員不知道的令人難以置信的功能列表。

Python 是頂級編程語言之一,它具有許多程序員從未使用過的許多隱藏功能。在這篇文章中,我將分享你可能從未使用過的13 個 Python 特性。

1.列表Stepping

這是一個 step 參數,可以通過采取幾個步驟來分割你的列表。此外,你可以使用 step 參數來反轉整數。看看下面的代碼示例:

#?列表Stepping
data?=?[10,?20,?30,?40,?50]
print(data[::2])?#?[10,?30,?50]
print(data[::3])?#?[10,?40]
#?使用?stepping?翻轉列表
print(data[::-1])?#?[50,?40,?30,?20,?10]

2.find() 方法

find() 方法是一個很棒的功能,可以查找字符串中任何字符的任何起始索引號:

#?查找方法
x?=?"Python"
y?=?"Hello?From?Python"
print(x.find("Python"))?#?0
print(y.find("From"))??#?6
print(y.find("From?Python"))?#6

3.iter()函數

iter() 方法對于沒有任何循環幫助的迭代列表很有用。這是一個內置方法,因此你不需要任何模塊:

#?Iter()?
values?=?[1,?3,?4,?6]
values?=?iter(values)?
print(next(values))?#?1?
print(next(values))?#?3?
print(next(values))?#?4?
print(next(values))?#?6

4.Python 中的文檔測試

Doctest 功能將讓你測試你的功能并顯示你的測試報告。如果你檢查下面的示例,你需要在三引號中編寫一個測試參數,如下所示:

#?Doctest?
from?doctest?import?testmod?
def?Mul(x,?y)?->?int:?
???"""
???這個函數返回?x?和?y?參數的?mul
???調用函數,然后是預期的輸出:
???>>>?Mul(4,?5)?
???20?
???>>?>?Mul(19,?20)?
???39?
???"""?
???return?x?*?y?
#?調用?testmod?函數
testmod(name='Mul',?verbose=True)

輸出:

Trying:
????Mul(4,?5)
Expecting:
????20
ok
Trying:
????Mul(19,?20)
Expecting:
????39
**********************************************************************
File?"__main__",?line?10,?in?Mul.Mul
Failed?example:
????Mul(19,?20)
Expected:
????39
Got:
????380
1?items?had?no?tests:
Mul
**********************************************************************
1?items?had?failures:
???1?of???2?in?Mul.Mul
2?tests?in?2?items.
1?passed?and?1?failed.
***Test?Failed***?1?failures.

5.Yield聲明

Yield 語句是 Python 的另一個令人驚嘆的特性,它的工作方式類似于 return 語句,但它不是終止函數并返回,而是返回到它返回給調用者的點:

#?Yield聲明
def?func():?
????print(1)?
????yield?1?
????print(2)?
????yield?2?
????print(3)?
????yield?3?
????
for?call?in?func():?
????pass#?輸出
#?1?
#?2?
#?3

6.處理字典缺失鍵

有時我們正在訪問的鍵不存在于字典中,這會導致鍵錯誤。為了處理丟失的鍵,我們可以使用get() 方法而不是括號方法:

#?處理字典中的缺失值
dict_1 =?{1:"x",2:"y"}
#?不要使用get
print(dict_1[3])?#?key?error
#?使用get??
print(dict_1.get(3))?#??None

7.For/Else 和 While/Else

你知道 Python 還支持帶有 For 和 While 循環的 Else 嗎?當你的循環完成其迭代而沒有任何中斷時,將執行此 else 語句。

下面的 For 循環示例 else 將執行,但在 While 循環中,我添加了一個不會觸發 else 語句的 break 語句:

#?為/否則??
for?x?in?range(5):?
????print(x)?
else:?
????print("Loop?Completed")?#?執行#?While?/?Else?
i?=?0?
while?i?<?5:?
????break?
else:?
????print("Loop?Completed")?#?未執行

8.命名字符串格式化

此功能將替換字符串占位符中的值。當你需要在字符串的不同占位符中添加值時,這會派上用場:

#?命名格式化字符串
a?=?"Python"?
b?=?"工作"#?Way?1?
string?=?"I?looking?for?a?{}?Programming?{}".format(a,?b)?
print(string)?#?I?looking?for?a?Python?Programming?Job

#Way?2?
string?=?f"I?looking?for?a?{a}?Programming?{b}"?
print(string)?#?I?looking?for?a?Python?Programming?Job

9.設置遞歸限制

這是 Python 的另一個很棒的特性,它可以讓你設置 Python 程序的遞歸限制。請查看以下代碼示例以更好地理解:

#?設置遞歸限制
import?sys
sys.setrecursionlimit?=?2000
print(sys.getrecursionlimit)?#?2000

10.條件參數

條件賦值功能使用三元運算符,可以根據特定條件在變量中賦值。看看下面的代碼示例:

#?條件參數
x?=?5?if?2?>?4?else?2
print(x)?#?2
y?=?10?if?32?>?41?else?24
print(y)?#?24

11.參數拆包

你可以解壓縮函數中的任何可迭代數據參數。看看下面的代碼示例:

#?參數解包??
def?func(x,?y):?
????print(x,?y)?
list_1?=?[100,?200]?
dict_1?=?{'x':300,?'y':400}?
func(*list_1)?
func(**dict_1)??
#?輸出
#?100?200?
#?300?400

12.Hello World!

如果你鍵入以下代碼并運行它,這是一個有趣的功能。Python 會用兩個著名的詞來迎接你。試試看。

import?__hello__

13.多行字符串

此功能將向你展示如何編寫不帶三引號的多行字符串。看看下面的代碼示例:

#?多行字符串
str1=?"你是否正在尋找免費的Python學習材料"?\?
??????"歡迎來到?"?\
??????"公眾號?Python專欄"
print(str1)?

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 南陵县| 商丘市| 太保市| 建阳市| 庆阳市| 浦东新区| 陇南市| 冀州市| 攀枝花市| 永康市| 汾阳市| 安丘市| 盐边县| 营山县| 新建县| 丰原市| 措勤县| 金溪县| 彭水| 汉源县| 班玛县| 张家港市| 临夏县| 东城区| 兴城市| 江阴市| 龙游县| 鄂伦春自治旗| 册亨县| 保亭| 洛川县| 乐陵市| 灌云县| 宜兰市| 全州县| 读书| 明溪县| 湘潭市| 南江县| 连云港市| 岳池县|