精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

作為初學者應避免的四個常見 Python 錯誤

開發 前端
我將討論介紹性 Python 程序員常犯的四個錯誤。 在我早期的 Python 時代學習這些陷阱對我非常有幫助,我希望它也能對你有用。

Python 對于初學者來說是一門優秀的語言,但這并不意味著就不會犯錯誤。 尤其是在學習編程的早期階段,很容易編寫出技術上正確但風格上很差的代碼。

如果您要學習編碼,那么學好它是至關重要的。 無論是在學術界還是工業界,代碼的質量都很重要。 它不僅會影響您,還會影響將繼續閱讀和使用您的代碼的每一個人。 也許更自私的是,它還會影響您的招聘前景。

在本文中,我將討論介紹性 Python 程序員常犯的四個錯誤。 在我早期的 Python 時代學習這些陷阱對我非常有幫助,我希望它也能對你有用。

讓我們開始吧。

布爾條件語句

這是入門程序員常犯的錯誤。 這也是不那么入門的程序員所犯的錯誤,他們缺乏正式的編程背景,因為他們只是將代碼用作工具。 我在看著你,數據科學家。

Python 中的條件語句很有用,但并不總是必需的。 當您檢查的條件已經包含布爾值(真或假)時,尤其如此。

讓我用一個簡單的例子來說明。 假設我們要編寫代碼來確定一個數據集是否已經被清理過。 對我們來說幸運的是,代碼庫包含一個名為 is_data_clean 的方便變量,它可以跟蹤這一點。 我們需要做的就是檢查它并返回正確的值。

作為第一次嘗試,我們可能會編寫如下內容:

def a_function():
if is_data_clean == True:
return True
else:
return False

這已經可以運行了,但它不必如此復雜。 你看到問題了嗎? 仔細看。

變量 is_data_clean 已經是一個布爾值; 因此,它已經包含了您需要返回的值! 代碼檢查它是否為 True,然后返回 True,如果它不是 True(意味著它為 False),則代碼返回 False。 這只是一大堆不必要的檢查。

我們可以將函數中的代碼簡化為一行:

def a_function():
return is_data_clean

好多了。

手動求和、均值或其他內置操作

Python 具有比大多數人意識到的更多的內置功能。 仍然使用循環來手動計算總和的人數實在是太多了。

如果我們在 Python 中有一個數字列表,我們絕對不應該像這樣計算總和:

total = 0
for num in numbers_list:
total += num

請改用內置的求和函數:

total

需要最小值還或最大值? 全宇宙都禁止你寫這樣的代碼:

import math
minimum = math.inf # 從最高可能值開始
for number in numbers_list:
if number < minimum:
minimum = number

這不是介紹性的計算機科學原理課程; 這是真實的世界。 停止重新發明輪子并使用內置的 min 和 max 函數:

minimum = min(numbers_list)
maximum

?有關內置函數的完整列表,請參閱 Python 文檔

獎勵:技術上不是內置的內置功能。

有些功能很難找到,但這并不意味著您不應該找到它們。

例如,如果我們需要一列數字?的平均值(您可能會感覺到這是反復出現的主題),我們可以使用下面的第一個代碼片段,但我們應該使用第二個:

# 片段 1:不要這樣做!
total = 0
for num in numbers_list:
total += num
avg = total / len(numbers_list)

# 片段 2:這樣做!
import numpy as np
avg = np.mean(numbers_list)

通常,Python 會在模塊中提供有用的函數。 定位我們需要的模塊并導入函數可能需要一些額外的工作,但非常值得。

請記住 — Python 就是簡單性和可讀性。 內置函數是你的朋友。 與你的人類朋友不同,他們永遠不會讓人失望。

不做無意義的事情

在我教授的一門 Python 入門課程中,學生的第一個項目是編寫一個簡單的決策算法。 這主要是一個條件練習,要求學生定義一個問題和相關的評分系統,以確定某人有資格回答這個問題的可能性。

例如,有人可能會問,“我應該成為一名數據科學家嗎?” 然后,該算法可能包含以下問題,所有這些問題都會根據答案從最終輸出分數中增加或減少:

  • 我是否有興趣使用數據來深入了解世界?
  • 我愿意學習 Python 嗎?
  • 我喜歡與多學科團隊合作嗎?

等等。

在編寫算法的過程中,許多學生意識到在某些情況下,他們根本不想對總分做任何事情。 例如,他們可能會決定,如果有人愿意學習 Python,那么他們的總分會增加 10 分,但如果他們不愿意,則分數保持不變。

大多數學生使用以下代碼實現它:

# willing_to_lean 是一些基于用戶輸入的預定義變量
if willing_to_learn:
score += 10
else:
score += 0

這是什么都不做的經典案例。 讓我們分解一下 Python 在看到代碼行 score += 0 時必須執行的所有操作:

  • 它需要查找變量 score 的值。
  • 它需要將 0 添加到該值。 這需要調用加法函數,傳入兩個參數(當前值和 0),并計算輸出。
  • 將 score 變量重新分配給新值(顯然是相同的)。

所有這些代碼什么都不做。

當然,這對計算機來說不是很大的工作量,也不會對代碼的效率產生任何有意義的影響。 也就是說,它毫無意義,而且有些不干凈,這是優秀 Python 代碼所不具備的特征。

更好的解決方案是使用 Python 的 pass 關鍵字,它實際上告訴 Python 什么都不做,繼續前進。 它填充了一行不需要的代碼,但如果完全留空就會出錯。 我們甚至可以添加一點評論以提供進一步的清晰度:

if willing_to_learn:
score += 10
else:
pass # 保持分數不變

更干凈、更清晰、更 Pythonic。

單一的條件變得瘋狂

條件語句可以說是標準編程中最強大和一致的結構之一。 第一次學習它時,很容易忽略一個重要的微妙之處。

當我們要檢查兩個或多個條件時,就會出現這種情況。 例如,假設我們正在審查一項調查,以獲取以下三種形式之一的回答:“Yes”、“No”或“Maybe”。

早期的 Python 程序員通常使用以下兩種方式之一對此進行編碼:

# 可能 1
if response == "Yes":
# do something
if response == "No":
# do something
if response == "Maybe":
# do something

# 可能 2
if response == "Yes":
# do something
elif response == "No":
# do something
else:
# do something

在這種情況下,這兩個代碼片段實際上是相同的。 它們的行為方式相同,理解起來并不特別混亂,并且它們實現了預期的目標。 當人們錯誤地認為上面的兩個結構總是等價時,問題就出現了。

這是錯誤的。 上面的第二個代碼片段是由多個部分組成的單個條件表達式,而第一個代碼片段由三個獨立的條件表達式組成,盡管它們看起來是相互關聯的。

為什么這很重要? 因為每當 Python 看到一個全新的 if 關鍵字(即一個新的條件表達式開始)時,它就會檢查關聯的條件。 另一方面,如果當前條件表達式中的先前條件不滿足,Python 只會輸入 elif 或 else 條件。

讓我們看一個例子,看看為什么這很重要。 假設我們需要編寫代碼,根據學生在某項作業中的分數給他們打分。 我們在Python 文件中寫入以下代碼:

score = 76

print("SNIPPET 1")
print()

if score < 100:
print('A')
elif score < 90:
print('B')
elif score < 80:
print('C')
elif score < 70:
print('D')
else:
print('F')

print()
print("SNIPPET 2")
print()

if score < 100:
print('A')
if score < 90:
print('B')
if score < 80:
print('C')
if score < 70:
print('D')
if score < 60:
print('F')

運行此代碼輸出以下內容:

SNIPPET 1
A
SNIPPET 2
A
B
C

你看得到差別嗎? 在第二種情況下,我們得到了意想不到的輸出。 為什么? 因為 Python 將每個 if 語句作為一個新的條件來讀取,所以如果一個分數恰好小于多個數字檢查,則會為所有這些打印出相應的字母等級。

現在,有多種方法可以使用多個 if 語句; 例如,我們可以讓條件檢查范圍而不僅僅是上限。 這個例子的重點不是爭論一個例子優于另一個例子(盡管為了清楚起見,我個人傾向于使用 elif 和 else),而只是為了說明它們是不一樣的。

確保你明白這一點。

最后的想法和回顧

這是您的 Python 初學者備忘單:

  1. 當您可以簡單地直接返回布爾值時,不要為布爾值設置不必要的條件。
  2. 內置函數是您最好的朋友。
  3. 如果您需要告訴 Python 什么都不做,請使用 pass 關鍵字。
  4. 確保正確構造條件表達式,理解 if 、 elif 和 else 關鍵字的含義。

你決定學習 Python 真是太好了——我向你保證,這門語言會對你很好。

責任編輯:姜華 來源: 今日頭條
相關推薦

2024-05-08 12:41:29

Python編程語言

2024-06-04 00:00:06

Python初學者優化

2022-10-19 23:18:27

KubernetesPod錯誤

2022-07-22 15:55:32

Python代碼語言

2011-01-11 08:45:17

JavaScript

2015-12-21 11:45:27

C語言常見問題錯誤

2013-02-20 10:13:38

JavaJava初學者

2021-01-11 09:13:55

UbuntuLinux發行版

2020-01-14 17:31:46

數據科學誤區人工智能

2025-04-07 01:35:00

Go語言程序

2024-08-17 12:14:06

2019-06-11 09:52:18

IPv6IPv4程序

2024-03-11 18:17:18

Python字符串分隔符

2020-09-06 08:19:11

Python編程語言開發

2019-08-29 08:58:24

Python布爾型編程語言

2011-04-06 14:42:25

Delphi

2020-08-25 10:14:59

JavaScript開發 技巧

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2011-04-12 10:13:24

點贊
收藏

51CTO技術棧公眾號

欧美与欧洲交xxxx免费观看 | 免费看污污视频| 中文字幕 国产| 欧美激情1区2区| 精品亚洲一区二区三区在线观看| 91插插插插插插插插| 青青草原国产在线| 久久精品亚洲精品国产欧美| 91精品视频观看| 国产成人无码一区二区三区在线 | 亚洲天堂网站在线观看视频| 免费成年人高清视频| 1024在线看片你懂得| 中文av一区二区| 国产精品日韩高清| 一级片视频播放| 国产欧美综合一区二区三区| 精品国模在线视频| 欧美狂猛xxxxx乱大交3| 亚洲1区在线观看| 欧美三级中文字| 国产成人无码精品久久久性色| 毛片在线不卡| 久久精品人人做人人爽97| 豆国产97在线| 国产又粗又猛视频免费| 奶水喷射视频一区| 97精品一区二区三区| 黄色片在线观看网站| 成久久久网站| 亚洲韩国青草视频| 人妻av一区二区三区| 亚洲青青一区| 欧美日韩国产影片| 成人性生生活性生交12| 中文av在线全新| 亚洲国产精品久久久男人的天堂| www亚洲国产| 欧美三级黄网| 国产精品区一区二区三| 日本一区二区三区www| 亚洲 欧美 激情 小说 另类| 成人激情午夜影院| 国产成人看片| 黄色一级大片在线免费看国产一| 黑人精品欧美一区二区蜜桃 | 国产成人在线免费看| 久久久123| 一区二区免费看| 激情五月六月婷婷| 秋霞在线午夜| 亚洲成在线观看| 男人添女荫道口图片| heyzo高清在线| 午夜欧美在线一二页| 妺妺窝人体色777777| 好吊日av在线| 天天色图综合网| 一区二区传媒有限公司| 欧美男男tv网站在线播放| 欧美日韩国产一区中文午夜| 各处沟厕大尺度偷拍女厕嘘嘘| 在线天堂资源| 色偷偷一区二区三区| 91香蕉视频污版| 3d动漫一区二区三区在线观看| 欧美一区二区三区播放老司机| 国产一级二级av| 99久久免费精品国产72精品九九| 亚洲福利视频二区| 成人无码www在线看免费| 伊人久久大香线蕉无限次| 国产一区二区三区欧美| www中文在线| 亚洲深深色噜噜狠狠爱网站| 久久久久久中文| 人人干人人干人人干| 免费看的黄色欧美网站| 国产精品美女免费视频| 国产免费不卡视频| 成人激情黄色小说| 日韩高清三级| 超碰在线caoporen| 婷婷六月综合亚洲| 在线观看av网页| 一区中文字幕电影| 亚洲欧美激情四射在线日| 黑人狂躁日本娇小| 亚洲精品欧美| 国产日韩欧美在线观看| 欧美一级特黄aaaaaa| 日本一区二区综合亚洲| 大片在线观看网站免费收看| 樱花草涩涩www在线播放| 欧美精品日韩精品| 国产精品伦子伦| 国产精品久久久久久久久久10秀 | 香蕉视频免费版| 春色校园综合激情亚洲| 欧美视频一区在线观看| 熟妇高潮一区二区| 欧美午夜精彩| 国内精品国产三级国产在线专| 中文字幕手机在线视频| 国产mv日韩mv欧美| 亚洲精品中文字幕在线| 麻豆国产在线| 日韩一卡二卡三卡四卡| 阿v天堂2014| 亚洲精品在线二区| 成人欧美一区二区三区黑人孕妇| 欧美套图亚洲一区| 一级女性全黄久久生活片免费| 国产又黄又猛又粗又爽的视频| a级日韩大片| 久久久成人精品视频| 精品国产xxx| 成人av午夜电影| 三年中文高清在线观看第6集| 一区二区乱码| 日韩av在线高清| 欧美日韩一级大片| 美女网站色91| 色综合久久久久久久久五月| 日韩欧美一中文字暮专区| 日韩一区二区三区电影| 视频国产一区二区| 秋霞成人午夜伦在线观看| 另类视频在线观看+1080p| 爱福利在线视频| 欧美α欧美αv大片| 久久国产高清视频| 麻豆精品久久久| 亚洲国产欧美不卡在线观看 | 亚洲aaa激情| 99中文字幕一区| 欧美羞羞免费网站| 一级黄色片网址| 久色成人在线| 免费成人在线观看av| 国产网站在线| 日韩av在线免费观看一区| 国产无套粉嫩白浆内谢| 成人在线一区二区三区| 18黄暴禁片在线观看| 伊色综合久久之综合久久| 久精品免费视频| 精品国自产在线观看| 亚洲黄色录像片| 一级全黄裸体片| 黑丝一区二区三区| 国产伦一区二区三区色一情 | 国产精品视频999| 成人在线二区| 欧美色爱综合网| 少妇高潮在线观看| 国产精品1区2区3区在线观看| 路边理发店露脸熟妇泻火| 警花av一区二区三区| 欧美大片免费看| 丰满肉肉bbwwbbww| 舔着乳尖日韩一区| 精品无人区无码乱码毛片国产| 久久久精品午夜少妇| 神马影院我不卡午夜| 日本亚洲欧洲无免费码在线| 久久资源免费视频| 亚洲精华国产精华精华液网站| 亚洲曰韩产成在线| 国产精品无码一区二区三区免费 | 亚洲精品成人无限看| 99视频在线| 在线天堂新版最新版在线8| 国产亚洲在线播放| 国产乱人乱偷精品视频a人人澡| 亚洲精品成a人| av网页在线观看| 日本女人一区二区三区| 天天综合五月天| 日韩在线你懂的| 国产精品一区二区电影| 日本欧美电影在线观看| 亚洲精品视频中文字幕| 中文字幕在线观看1| 亚洲精品成人悠悠色影视| 人妻丰满熟妇av无码久久洗澡| 蜜臀av性久久久久蜜臀aⅴ四虎| 7777在线视频| 一本久久青青| 亚洲xxxxx电影| 亚洲欧美一区二区三区| 久久精品电影网站| 色吊丝在线永久观看最新版本| 欧美日韩精品一区二区在线播放| 久久av高潮av无码av喷吹| 国产亚洲欧美中文| 中文字幕亚洲日本| 日韩福利电影在线| www插插插无码视频网站| 清纯唯美日韩| 精品国产一区二区三区久久久久久| 99精品国自产在线| 77777少妇光屁股久久一区| 蜜芽在线免费观看| 亚洲日本aⅴ片在线观看香蕉| 成人av一区二区三区在线观看| 欧美午夜片在线看| 国产成人亚洲精品自产在线| 亚洲色图在线视频| 国产三级短视频| zzijzzij亚洲日本少妇熟睡| 日韩成人av免费| 视频在线观看一区二区三区| 欧美一级视频免费看| 中国精品18videos性欧美| 先锋在线资源一区二区三区| 蜜桃一区av| 99久re热视频这里只有精品6| 91国内外精品自在线播放| 97色伦亚洲国产| 牛牛电影国产一区二区| 久久精品国产成人精品| aaa日本高清在线播放免费观看| 亚洲第一精品夜夜躁人人爽| 国产乱码一区二区| 欧美日韩国产小视频在线观看| 国产精品suv一区| 五月激情综合网| 国产一级在线免费观看| 亚洲激情男女视频| 国产va在线播放| 亚洲欧洲无码一区二区三区| 99久久99久久精品免费看小说.| 久久日一线二线三线suv| 精品国产一区在线| 波多野结衣在线aⅴ中文字幕不卡| 18深夜在线观看免费视频| 精品一区二区三区在线视频| 激情五月俺来也| 免费观看30秒视频久久| 天天操天天爱天天爽| 日韩电影在线观看网站| 污污视频网站免费观看| 日韩中文欧美在线| 午夜免费精品视频| 裸体在线国模精品偷拍| 久久黄色片网站| 国内精品伊人久久久久av影院| 亚洲欧美日韩三级| 激情欧美日韩一区二区| av亚洲天堂网| 国产精品一区二区在线播放| 国产性生活一级片| 国产风韵犹存在线视精品| 丰满人妻一区二区三区53视频| 国产精品白丝av| 极品白嫩的小少妇| 99久久精品国产导航| 醉酒壮男gay强迫野外xx| 久久综合色天天久久综合图片| 精品人妻无码一区二区三区 | 国产欧美一区二区三区精品酒店| 国产91精品视频在线观看| 成人性生活av| 国产精品视频资源| 日韩成人在线一区| 北条麻妃高清一区| 欧美日韩大片免费观看| 欧美日韩一区在线播放| 国产伦精品一区二区三区视频| 视频一区视频二区视频三区高| 清纯唯美亚洲综合一区| 红桃一区二区三区| 亚洲一区二区伦理| 日本在线一二三区| 国产福利不卡视频| 最近中文字幕免费视频| 国产精品卡一卡二卡三| 国产真实乱在线更新| 亚洲自拍偷拍综合| 综合网在线观看| 欧美日韩国产小视频在线观看| www.色视频| 亚洲精品一区二三区不卡| 中文日本在线观看| 久久久之久亚州精品露出| 天天免费亚洲黑人免费| 亚洲自拍小视频| 一区二区三区韩国免费中文网站| 日本特级黄色大片| 亚洲一区观看| 久久久福利影院| 91丨porny丨最新| 91九色丨porny丨极品女神| 欧美日韩亚洲系列| www黄色网址| 国产一区二区三区免费视频| 黄网站在线观| 成人xvideos免费视频| 老司机精品在线| 中文字幕一区二区三区在线乱码| 亚洲成人在线| 天天干天天色天天干| 久久久亚洲国产美女国产盗摄| 午夜国产福利一区二区| 色婷婷香蕉在线一区二区| 高潮一区二区三区乱码| 中文字幕在线视频日韩| 老司机深夜福利在线观看| 亚洲xxxx在线| 青青草综合网| 能看的毛片网站| 99久久精品免费观看| 亚洲成人生活片| 欧美日本国产视频| 国产精品久久一区二区三区不卡| 高清亚洲成在人网站天堂| 精品久久亚洲| 一区二区国产日产| 日韩综合小视频| 六月婷婷七月丁香| 欧美日韩美女在线| 日韩性xxxx| 欧美激情免费观看| 国产精选久久| 一区二区三区四区国产| 日本成人在线电影网| 五级黄高潮片90分钟视频| 亚洲午夜免费视频| av中文字幕观看| 久久精品电影网站| 高清一区二区中文字幕| 一区二区三区观看| 蜜桃精品在线观看| 成人小视频免费看| 欧美性猛交xxxxxx富婆| 国产在线观看精品一区| 日本精品一区二区三区在线| 欧美一级全黄| 欧美丰满熟妇bbbbbb百度| 99久久久久久99| 日韩黄色在线播放| 精品小视频在线| 美女100%一区| 欧美亚洲另类在线一区二区三区| 中文一区二区| 加勒比精品视频| 亚洲成人久久影院| 亚洲av无码乱码在线观看性色| 久久久91精品国产| 国产精品久久久久久久久久辛辛| 亚洲免费精品视频| 精品一区二区三区久久久| 精品一区二区三区蜜桃在线| 欧美在线观看你懂的| 在线视频三区| 91亚洲国产成人精品性色| 欧美精品国产一区| 久久久高清视频| 黑人狂躁日本妞一区二区三区| 你懂的在线视频| 国产伦精品免费视频| 久久久久久久久久久妇女| 真实乱偷全部视频| 欧美日韩午夜剧场| av色图一区| 91在线精品观看| 99亚洲视频| 91精品国自产在线| 日韩一级大片在线| 亚洲啊v在线| 亚洲一区二区高清视频| 国产精品资源站在线| 日韩一区二区视频在线| 国产一区二区三区18| 狂野欧美xxxx韩国少妇| 国产精品12345| 国产日韩欧美一区二区三区乱码| 国产又粗又猛又黄| 韩国国内大量揄拍精品视频| 欧美激情在线免费| 国产乱码一区二区三区四区| 亚洲亚洲精品在线观看| 国产三级电影在线观看| 成人黄色网免费| 亚洲精品社区| 免费看的黄色录像| 亚洲国产成人精品久久| 国外成人福利视频| 2018中文字幕第一页| 久久久久久久久一| 国产极品久久久| 热久久这里只有| 综合激情网站| 在线小视频你懂的| 日韩午夜在线播放| 992tv国产精品成人影院| 欧美一级免费播放| 中文字幕永久在线不卡| 五月婷婷在线播放|