久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > 13個可能未使用過的Python特性

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

來源:千鋒教育
發(fā)布人:syq
時間: 2023-01-18 15:21:00 1674026460

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

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

Python特性

  1.列表Stepping

  這是一個 step 參數(shù),可以通過采取幾個步驟來分割你的列表。此外,你可以使用 step 參數(shù)來反轉(zhuǎn)整數(shù)??纯聪旅娴拇a示例:

# 列表Stepping
data = [10, 20, 30, 40, 50]
print(data[::2]) # [10, 30, 50]
print(data[::3]) # [10, 40]
# 使用 stepping 翻轉(zhuǎn)列表
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()函數(shù)

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

# 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 功能將讓你測試你的功能并顯示你的測試報告。如果你檢查下面的示例,你需要在三引號中編寫一個測試參數(shù),如下所示:

# Doctest 
from doctest import testmod 
def Mul(x, y) -> int: 
   """
   這個函數(shù)返回 x 和 y 參數(shù)的 mul
   調(diào)用函數(shù),然后是預期的輸出:
   >>> Mul(4, 5) 
   20 
   >> > Mul(19, 20) 
   39 
   """ 
   return x * y 
# 調(diào)用 testmod 函數(shù)
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 語句,但它不是終止函數(shù)并返回,而是返回到它返回給調(diào)用者的點:

# 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 循環(huán)的 Else 嗎?當你的循環(huán)完成其迭代而沒有任何中斷時,將執(zhí)行此 else 語句。

  下面的 For 循環(huán)示例 else 將執(zhí)行,但在 While 循環(huán)中,我添加了一個不會觸發(fā) else 語句的 break 語句:

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

  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 " 
print(string) # I looking for a Python Programming Job

  9.設(shè)置遞歸限制

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

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

  10.條件參數(shù)

  條件賦值功能使用三元運算符,可以根據(jù)特定條件在變量中賦值??纯聪旅娴拇a示例:

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

  11.參數(shù)拆包

  你可以解壓縮函數(shù)中的任何可迭代數(shù)據(jù)參數(shù)??纯聪旅娴拇a示例:

# 參數(shù)解包  
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.多行字符串

  此功能將向你展示如何編寫不帶三引號的多行字符串??纯聪旅娴拇a示例:

# 多行字符串
str1= "你是否正在尋找免費的Python學習材料" \ 
      "歡迎來到 " \
      "千鋒Python數(shù)據(jù)分析"
print(str1)

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
工業(yè)機器人、自動化、PLC三者是什么關(guān)系?

一、工業(yè)機器人和自動化工業(yè)機器人是自動化技術(shù)的一部分,是自動化生產(chǎn)線的關(guān)鍵組件之一。在自動化生產(chǎn)線中,工業(yè)機器人被廣泛應(yīng)用于執(zhí)行各種任...詳情>>

2023-10-15 01:41:38
為什么Redis要對一種數(shù)據(jù)類型存儲兩次呢?

一、實現(xiàn)快速數(shù)據(jù)訪問Redis是一種高性能的內(nèi)存數(shù)據(jù)庫,將數(shù)據(jù)存儲在內(nèi)存中可以實現(xiàn)非??焖俚臄?shù)據(jù)讀取和訪問。為了進一步提高數(shù)據(jù)的訪問速度,R...詳情>>

2023-10-15 01:40:32
什么是編程思想?

一、編程思想的定義和理念編程思想可以理解為一套指導編程活動的理念和原則。它包括如何定義問題,如何設(shè)計解決方案,以及如何實現(xiàn)和測試這個解...詳情>>

2023-10-15 01:22:38
迭代開發(fā)模型中最容易出問題的階段是什么?

一、迭代開發(fā)模型中最容易出問題的階段是什么 在迭代開發(fā)模型中,最容易出問題的階段通常是需求收集和分析階段。在這個階段,開發(fā)團隊需要與客...詳情>>

2023-10-15 01:03:52
軟件測試中bug管理工具Jira怎么樣?

一、Jira是什么 Jira是一款由澳大利亞軟件公司Atlassian開發(fā)的項目管理和問題跟蹤工具。它是一種用于敏捷項目開發(fā)和軟件開發(fā)過程中的工具,廣泛...詳情>>

2023-10-15 01:02:32