翻譯:《實用的Python程式設計》02_01_Datatypes

itread01 2021-02-22 11:17:36
Python 程式 02_01_datatypes datatypes


[目錄](https://github.com/codists/practical-python-zh/blob/main/Notes/Contents.md) \| [上一節 (1.7 函式)](https://www.cnblogs.com/codists/p/14415553.html) \| [下一節 (2.2 容器)](02_Containers.md)# 2.1 資料型別和資料結構本節以元組和字典為代表介紹資料結構。### 原始資料型別Python 有一些原始資料型別:* 整數* 浮點數* 字串(文字)### 空型別```pythonemail_address = None````None` 常用作可選值或缺失值的佔位符。它在條件語句中計算為 `False`。```pythonif email_address: send_email(email_address, msg)```### 資料結構實際的程式具有更復雜的資料。例如,關於股票的持有資訊:```code100 shares of GOOG at $490.10```這是一個包含三個部分的“物件”:* 股票的名稱或符號("GOOG",字串)* 股份數目(100,整數)* 價格(490.10,浮點數)### 元組元組是分組在一起的值的集合。示例:```pythons = ('GOOG', 100, 490.1)```有時候會在語法上省略 `()` 。```pythons = 'GOOG', 100, 490.1```特殊情況(0 元組,1 元組)。```pythont = () # An empty tuplew = ('GOOG', ) # A 1-item tuple```元組一般用來表示簡單的記錄或結構。通常,它是由多個部分組成的單個物件。這有一個很好的類比:元組就像資料庫表中的一行。元組的內容是有序的(類似於陣列)。```pythons = ('GOOG', 100, 490.1)name = s[0] # 'GOOG'shares = s[1] # 100price = s[2] # 490.1```但是,元組的內容無法修改。```python>>> s[1] = 75TypeError: object does not support item assignment```你可以基於當前元組建立一個新元組。```pythons = (s[0], 75, s[2])```### 元組打包元組更多的是把相關的項打包到一個實體(entity)中。```pythons = ('GOOG', 100, 490.1)```然後,該元組很容易作為單個物件傳遞給程式的其它部分。### 元組拆包要在其它地方使用元組,可以把元組的各部分拆包為變數。```pythonname, shares, price = sprint('Cost', shares * price)```左側變數的數目必須與元組的結構匹配。```pythonname, shares = s # ERRORTraceback (most recent call last):...ValueError: too many values to unpack```### 元組與列表元組看起來像只讀列表。但是,元組最常用於由多個部分組成的單項。列表通常是型別相同的項的集合,```pythonrecord = ('GOOG', 100, 490.1) # A tuple representing a record in a portfoliosymbols = [ 'GOOG', 'AAPL', 'IBM' ] # A List representing three stock symbols```### 字典字典是鍵到值的對映。有時,字典也稱為雜湊表(hash table)或關聯陣列(associative array)。鍵用作訪問值的索引。```pythons = { 'name': 'GOOG', 'shares': 100, 'price': 490.1}```### 常見操作要從字典中獲取值,請使用鍵名。```python>>> print(s['name'], s['shares'])GOOG 100>>> s['price']490.10>>>```要新增或修改值,請使用鍵名進行分配。```python>>> s['shares'] = 75>>> s['date'] = '6/6/2007'>>>```要刪除值,請使用 `del` 語句。```python>>> del s['date']>>>```### 為什麼使用字典?當存在很多不同的值並且可能會修改或操作這些值時,字典很有用。字典使程式碼更具可讀性。```pythons['price']# vss[2]```## 練習在上次的幾個練習中,編寫了一個取資料檔案 `Data/portfolio.csv` 的程式 。使用 `csv` 模組,可以輕鬆地逐行讀取檔案。```python>>> import csv>>> f = open('Data/portfolio.csv')>>> rows = csv.reader(f)>>> next(rows)['name', 'shares', 'price']>>> row = next(rows)>>> row['AA', '100', '32.20']>>>```儘管讀取檔案很容易,但是與讀取資料相比,通常使用資料做更多的事情。例如,也許想儲存它並對其執行一些計算。不幸的是,原始的資料“行”並不能這樣做。例如,即使是簡單的數學計算也不行。```python>>> row = ['AA', '100', '32.20']>>> cost = row[1] * row[2]Traceback (most recent call last):
版权声明
本文为[itread01]所创,转载请带上原文链接,感谢
https://www.itread01.com/content/1613874365.html

  1. Detailed usage of urllib in Python 3 (header, proxy, timeout, authentication, exception handling)
  2. python 第三方库paramiko
  3. python 第三方库paramiko
  4. Python third party library paramiko
  5. Python third party library paramiko
  6. 卸载 PyCharm!这才是 Python 小白的最理想的 IDE
  7. 卸载 PyCharm!这才是 Python 小白的最理想的 IDE
  8. Uninstall pycharm! This is the ideal IDE for Python Xiaobai
  9. django学习-27.admin管理后台里:对列表展示页面的数据展示进行相关优化
  10. Uninstall pycharm! This is the ideal IDE for Python Xiaobai
  11. Django learning - 27. Admin management background: optimize the data display of the list display page
  12. python day2
  13. python day2
  14. Python 内存泄漏问题排查
  15. Troubleshooting of Python memory leak
  16. Python 与 excel的简单应用
  17. Simple application of Python and excel
  18. Python 与 excel的简单应用
  19. Simple application of Python and excel
  20. 2.7万 Star!最全面的 Python 设计模式集合
  21. 27000 stars! The most comprehensive collection of Python design patterns
  22. python day3
  23. python day3
  24. Commonly used data operation functions of Python
  25. (数据科学学习手札108)Python+Dash快速web应用开发——静态部件篇(上)
  26. (learning notes of data science 108) Python + dash rapid web application development -- static components (I)
  27. (数据科学学习手札108)Python+Dash快速web应用开发——静态部件篇(上)
  28. (learning notes of data science 108) Python + dash rapid web application development -- static components (I)
  29. [Python] Matplotlib 图表的绘制和美化技巧
  30. Drawing and beautifying skills of [Python] Matplotlib chart
  31. [Python] Matplotlib 图表的绘制和美化技巧
  32. Drawing and beautifying skills of [Python] Matplotlib chart
  33. Virtual environment of Python project
  34. 翻译:《实用的Python编程》02_01_Datatypes
  35. Translation: practical Python Programming 02_ 01_ Datatypes
  36. 翻译:《实用的Python编程》02_01_Datatypes
  37. 翻译:《实用的Python编程》02_01_Datatypes
  38. Translation: practical Python Programming 02_ 01_ Datatypes
  39. Translation: practical Python Programming 02_ 01_ Datatypes
  40. Python 3 入门,看这篇就够了
  41. Python 3 entry, see this is enough
  42. 华为大佬打造的400集Python视频学起来,学完万物皆可爬
  43. 400 episodes of Python video created by Huawei boss
  44. django之csrf_exempt解决跨域请求的问题
  45. CSRF of Django_ Exempt solves the problem of cross domain requests
  46. 1.7 万 Star!一个简单实用的 Python 进度条库
  47. 17000 stars! A simple and practical Python progress bar library
  48. Python爬虫:设置Cookie解决网站拦截并爬取蚂蚁短租
  49. Python crawler: setting cookie to solve website interception and crawling ant short rent
  50. Python-Net编程
  51. Python net programming
  52. 学习Python数学英语基础重要吗?Python教程!
  53. Is it important to learn the basics of math and English in Python!
  54. Python数据分析常用库有哪些?Python学习!
  55. What are the common libraries for Python data analysis? Learn Python!
  56. win 创建python虚拟环境
  57. Creating Python virtual environment with win
  58. In order to automatically collect B station barrage, I developed a tool in Python
  59. 用Python编程语言来实现阿姆斯特朗数的检查
  60. Using python programming language to check Armstrong number