成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

這個被忽略的細節,是編寫優秀 Python 代碼的必經之路

開發 前端
我們可以在 a? 和 b 中傳遞浮點數或字符串,Python 不限制,允許代碼運行。類型提示的主要目的是指導其他開發者閱讀我們的代碼時,明確數據類型應當為何。

某個操作在Python編寫代碼中是可選的,意味著它不是必須的。但要想寫出好的Python代碼,你就必須這樣做。這就是 Python 中的類型提示。

圖片圖片

Python 中數據類型的問題

Python是一種動態類型編程語言,變量的類型是在運行時分配的,無需在賦值之前定義特定類型。

a = 5

變量 a 被賦值為 5,在此之前,無需聲明 a 存儲整數,直接將 5 賦值給 a。

def add(a, b):
  return a+b

print(add(4, 5))           # 9
print(add(4.0, 5.0))       # 9.0
print(add('hi', 'world'))  # hiworld
print(add([1,2], [3,4]))   # [1, 2, 3, 4]

add 接收兩個變量 a 和 b 并返回 a+b。但 a 和 b 應該是什么數據類型呢?

  • 如果我們輸入整數,就會得到一個整數
  • 如果傳入浮點數,我們得到一個浮點數
  • 如果傳入字符串,我們得到一個字符串
  • 如果我們傳入列表,我們得到一個列表

Python并不在乎你傳入a和b的參數。如果出現錯誤,你需要自己解決。盡管如此,類型提示可能會有所幫助。

類型提示介紹

在 Python 中,類型提示是可選的。如果不使用它們,Python 也能正常運行。然而,對于其他開發者來說,類型提示能讓我們的代碼更易讀。

def add(a: int, b: int) -> int:
  return a + b

在 a 和 b 后面加上 : int,在函數結尾 ) 后面加上 -> int 是類型提示,指示函數的參數和返回類型。

  • a 應該是整數
  • b 也應該是一個整數
  • 函數的返回值也應該是整數

類型提示并非強制數據類型,而是為了提示而存在的,這一點需要注意。

def add(a: int, b: int) -> int:
  return a + b

print(add(4, 5))           # 9
print(add(4.0, 5.0))       # 9.0
print(add('hi', 'world'))  # hiworld

我們可以在 a 和 b 中傳遞浮點數或字符串,Python 不限制,允許代碼運行。類型提示的主要目的是指導其他開發者閱讀我們的代碼時,明確數據類型應當為何。

類型提示的一些優勢

  • 開發人員能夠迅速確定函數或方法應使用的數據類型
  • 其他開發人員能夠快速了解函數或方法應返回的數據類型
  • 減少了變量數據類型的猜測和確認的時間
  • 提高了代碼的整體可讀性

盡管類型提示是可選的,但它是編寫優秀可讀代碼的必備條件。

雖然僅僅使用類型提示并不能讓代碼變得優秀

基礎類型提示

a: int = 5
# a should be an integer

變量類型提示

def avg(a:int, b:int) -> float:
  return (a+b)/2

函數類型提示

  • a和 b應為整數
  • 函數應返回浮點數值

復雜類型的類型提示

但如果我們有一個整數列表呢?不用擔心,內置的 typing 模塊提供了一些有用的類型提示功能。

from typing import List

def average(numbers: List[int]) -> float:
  return sum(numbers)/len(numbers)

numbers 應是一個整數列表。

from typing import Dict

def count(d: Dict[str, int]) -> int:
  # stuff

d 應該是一個字典,其中鍵是字符串,值是整數。

class Dog:
  pass

from typing import List

def magic(dogs: List[Dog]) -> int:
  # stuff

dogs 應該是一個包含自定義 dog 對象的列表。

寫在最后

掌握類型提示并不困難,但它可以提高代碼的可讀性。在編寫優秀的Python代碼時,使用類型提示是至關重要的,特別是在開發大型企業應用程序并需要與其他開發人員合作時。

責任編輯:武曉燕 來源: 數據STUDIO
相關推薦

2018-02-06 09:58:48

架構師MVCiOS

2017-03-21 13:00:05

網絡融合光網絡通信網絡

2010-11-03 10:12:58

信息安全服務必經之路

2015-10-13 13:54:16

2019-07-29 08:07:57

工業互聯網互聯網平臺IIOT

2018-08-22 16:35:31

存儲

2019-08-12 07:45:44

Linux腳本shell

2012-09-10 09:55:25

2017-09-18 17:00:04

云深度學習機器學習云服務

2019-03-19 20:09:35

5G毫米波移動通信

2023-03-27 15:05:10

Python技巧

2013-11-14 10:06:10

2019-06-06 15:49:53

多線程iOS開發操作

2021-12-16 16:55:59

元宇宙

2025-03-04 08:40:00

開發varJavaScrip

2014-07-29 13:55:10

程序員代碼

2009-07-09 14:57:08

JDK環境配置
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产一区二区三区在线观看 | 久久9视频 | 欧美激情精品久久久久久变态 | 亚洲精品国产一区 | 国产高清一区二区 | 欧美一区二区精品 | 黄色成人在线 | www.888www看片 | 亚欧精品| 蜜桃av一区二区三区 | 久久久久久综合 | 精品国产乱码久久久久久影片 | 欧美精品欧美精品系列 | av日日操| a在线观看| 久久国产精品99久久久久久丝袜 | 一区二区三区四区视频 | 亚洲精品一区二三区不卡 | 九九热精品视频 | 91 在线| 国产一级特黄aaa大片评分 | 精品真实国产乱文在线 | 在线视频久久 | 日本在线观看视频 | 操亚洲 | 久久久久久久久久久国产 | 久久久一区二区三区四区 | 亚洲视频二区 | 色毛片 | 午夜电影网 | 先锋影音资源网站 | 成人精品久久日伦片大全免费 | 久久久久国产 | 羞羞的视频在线看 | 色黄视频在线 | 久久免费精品视频 | 国产一区久久 | 夜夜骑综合 | 亚洲一区二区三区视频 | 亚洲国产成人精品女人 | 日韩在线精品 |