程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python筆記2 標准數據類型

編輯:Python

首先,我們知道Python 3 中,有6個標准的數據類型,它們分為可變和不可變。

不可變數據(3個):

  • Number(數字)
  • String(字符串)
  • Tuple(元組)

可變數據(3個):

  • List(列表)
  • Dictionary(字典)
  • Set(集合)

這是Python 3中的6個標准的數據類型,其中包括它們的基本用法和其常用的方法,下面都會列舉出來,以便日後學習參考。首先,我們需要了解一下運算符,因為這些數據類型常常用到這些運算等等。


一、運算符


詳見:Python 運算符


二、標准數據類型


1. Number(數字)

  • Python 的數字類型有 int 整型、long 長整型、float 浮點數、complex 復數、以及布爾值(0 和 1)。
  • Python 的數字類型有 int 整型、long 長整型、float 浮點數、complex 復數、以及布爾值(0 和 1)。

2. String(字符串)

  • 字符串是Python中最常用的數據類型,我們可以使用單引號(’’)或者 雙引號("")創建字符串。
  • 字符串是由數字、字母、下劃線組成的一串字符串、是編程語言中表示文本的數據類型。

2.1 處理字符串

#字符串的形式:使用''或者""創建字符串
str1 ='this is str1'
print(str1)

2.2 字符串常用的方法

  • 2.2.1 大小寫轉換
     # 1.upper() 將字符串中所有小寫字母轉換為大寫
    #字符串.upper()
    s1 = "hello Python"
    print(s1.upper()) # HELLO PYTHON
    #2.lower() 將字符串中所有大寫字母轉化為小寫
    #字符串.lower()
    s2 = "HELLO PYTHON"
    print(s2.lower()) # hello python
    #3.swapcase() 將字符串中大小寫字母進行互換
    #字符串.swapcase()
    s3 = "hello PYTHON"
    print(s3.swapcase()) # HELLO python
    #4.title() 將字符串中的字母進行標題化處理(每個單詞首字母大寫)
    #字符串.title()
    s4 = "hello python hello world"
    print(s4.title()) # Hello Python Hello World
    #5.capitalize() 將字符串中第一個字母變為大寫 首字母大寫函數
    #字符串.captialize()
    s5 = "hello python hello world"
    print(s5.capitalize()) # Hello python hello world
    
  • 2.2.2 判斷字符串內容
    # 1.isupper() 檢測字符串是否都是大寫字母組成
    # 變量.isupper()
    # 2.islower() 檢測字符串是否都是小寫字母組成
    # 變量.islower()
    # 3.istitle() 檢測字符串是否符合標題要求
    # 變量.istitle()
    # 4.isalnum() 檢測字符串是否由數字和字母及文字組成
    # 變量.isalnum()
    # 5.isalpha() 檢測字符串是否由字母和文字組成
    # 變量.isalpha()
    # 6.isdigit() 檢測字符串是否由10進制字符組成(數字) *
    # True: Unicode數字,byte數字(單字節),全角數字(雙字節)
    # False: 漢字數字
    # Error: 無
    # 變量.isdigit()
    # 7.isnumeric()檢測字符串是否由數字字符組成(數字)
    # True: Unicode數字,全角數字(雙字節),漢字數字
    # False: 無
    # Error: byte數字(單字節)
    # 變量.isnumeric()
    # 8.isspace() 檢測字符串是是否由空白字符(不可見字符)組成 *
    # 變量.isspace()
    
  • 2.2.3 判斷以什麼開頭結尾
    # 1.startswith() 檢測字符串是否以指定的字符串開頭 *
    # 變量.startswith('檢測的字符串')
    # 2.endswith() 檢測字符串是否以指定的字符串結尾 *
    # 變量.endswith('檢測的字符串')
    
  • 2.2.4 文本對齊
    # 1.center() 使用指定的字符將字符串填充到指定的長度,原有內容居中對齊 
    # 變量.center(填充長度)
    # 變量.center(填充長度,填充字符)
    # 2.ljust()使用指定的字符將字符串填充到指定的長度,原有內容靠左對齊
    # 變量.ljust(填充長度)
    # 變量.ljust(填充長度,填充字符)
    # 3.rjust()使用指定的字符將字符串填充到指定的長度,原有內容靠右對齊
    # 變量.rjust(填充長度)
    # 變量.rjust(填充長度,填充字符)
    # 4.zfill() zero fill 零填充效果(即長度不夠用0填充),內容靠右
    # 變量.zfill(整個字符串的長度)
    
  • 2.2.5 join() 、split()以及partition()
    # 1.split() 使用特定的字符串切割字符串 *
    # 變量.split(切割的字符)
    # 變量.split(切割的字符, 切割次數)
    # 2.join() 使用特定字符串將容器數據連接成一個字符串 *
    # 特定字符串.join(容器)
    
  • 2.2.6 刪除空白字符串 strip()
    # 1.strip() 去除字符串左右兩側指定的連續字符 *
    # 變量.strip() 默認去除左右兩側空格字符
    # 變量.strip(去除的指定字符串)
    # 2.lstrip()去除字符串左側指定的連續字符
    # 變量.lstrip() 默認去除左右兩側空格字符
    # 變量.lstrip(去除的指定字符串)
    # 3.rstrip()去除字符串右側指定的連續字符
    # 變量.rstrip() 默認去除左右兩側空格字符
    # 變量.rstrip(去除的指定字符串)
    
  • 2.2.7字符串替代 replace()
  • 2.2.8 字符串替換 makestran(),translate()
  • 2.2.7字符串格式化操作

3. Tuple(元組)

  • 元組類似於列表,元組用()表示。內部元素用逗號隔開,元組是不可變的,不能二次賦值,相當於只讀列表。

    t = (100,'xiaoming','hello',1.23)
    print(t[0]) # 100
    t[3] = 666 # 這是非法應用
    # TypeError: 'tuple' object does not support item assignment
    

4. List(列表)

  • 列表可以完成大多數集合類的數據結構實現,支持字符,數字,字符串等。列表是Python最通用的復合數據類型。

4.1 列表中常用的方法

  • 4.1.1 append() 方法
    原地修改列表對象,向列表末尾添加新元素,速度快,推薦使用
    list = [10,'a']
    list.append('b')
    print(list)
    # 結果: [10, 'a', 'b']
    
  • 4.1.2 insert() 方法
    將指定的元素插入到列表對象的任意制定位置,這樣會讓插入位置後面所有的元素進行移動,會影響處理速度。當涉及大量元素時,盡量避免使用。類似發生這種移動的函數還有:remove(),pop(),del(),它們在刪除末尾元素時也會發生操作位置後面元素的移動。
    list = [10,'a']
    list.insert(1,'b')
    print(list)
    # 結果: [10, 'b', 'a']
    

注意: append() 和 insert() 方法是列表方法,只能在列表上調用,不能在其他值上調用,例如字符串和整型。

  • 4.1.3 " + " 運算符操作
    將原列表和新列表元素依次復制到新的列表對象,並不是真正的向末尾添加元素,而是創建新的列表對象。這種方式涉及大量的復制操作,對操作大量元素不建議使用。
    list = [10,'a']
    list = list + ['b']
    print(list)
    # 結果: [10, 'a', 'b']
    
  • 4.1.4 extend() 方法
    將目標列表的所有元素添加到本列表的末尾,屬於原地操作,不創建新的列表對象。
    list = [10,'a']
    list.extend([20,'b'])
    print(list)
    # 結果: [10, 'a', 20, 'b']
    

注意: 追加append() 和 擴展extend() 方法的區別:append()方法是將數據類型的元素分解添加至列表內;extend()方法為將元素作為一個整體添加。

  • 4.1.5 乘法擴展
    使用乘法擴展列表,生成一個新列表,新列表元素是原列表元素的多次重復。適合用於乘法擴展操作的還有,字符串,元組。
    list = [10,'a']
    list2 = list * 3
    print(list2)
    # 結果: [10, 'a', 10, 'a', 10, 'a']
    
  • 4.1.6 del 全局方法
    能刪除列表指定位置的元素,也可以清空列表,字典也可以用del
    list = [10,'a','b']
    del list[1]
    print(list) # 結果: [10, 'b']
    del list
    print(list) # 結果: <class 'list'>
    
  • 4.1.7 remove() 方法
    刪除首次出現的指定元素,若不存在該元素拋出異常
    list = [10,'a','b',30,'a']
    list.remove('a')
    print(list) #結果: [10, 'b', 30, 'a']
    list.remove('c')
    print(list)
    # 拋出異常
    # Traceback (most recent call last):
    # [10, 'b', 30, 'a']
    # File "C:Desktop/Test.py", line 10, in <module>
    # list.remove('c')
    # ValueError: list.remove(x): x not in list
    

如果知道要刪除的值在列表中的下標,del 語句就很好用。如果知道想要從列表中刪除的值,remove() 方法就很好用。

  • 4.1.8 pop() 方法
    刪除並返回指定索引位置元素,如果未指定位置則默認操作列表最後一個元素;如果pop參數索引位超出,則報錯。
    list = [10,'a','b',30]
    print(list.pop(1)) # 結果: a
    print(list) # 結果: [10, 'b', 30]
    print(list.pop(6)) # 結果: IndexError: pop index out of range
    
  • 4.1.9 sort() 排序方法
    sort() 可以將數值列表或字符串的列表進行排序。
    # 正序
    num = [2,5,-1,3.14,8,22,10]
    num.sort()
    print(num)
    # 輸出: [-1, 2, 3.14, 5, 8, 10, 22]
    print(sorted(num))
    # 輸出: [-1, 2, 3.14, 5, 8, 10, 22]
    # sort()和sorted()方法,兩者用法不一樣
    # 逆序
    # 指定reverse關鍵字參數為True
    num = [2,5,-1,3.14,8,22,10]
    num.sort(reverse=True)
    print(num)
    # 輸出: [22, 10, 8, 5, 3.14, 2, -1]
    print(sorted(num,reverse=True))
    # 輸出: [22, 10, 8, 5, 3.14, 2, -1]
    
    關於sort() 方法應注意:
    • sort() 方法要當場對列表排序。
      num = [2,5,-1,3.14,8,22,10]
      num = num.sort() # 錯誤操作
      print(num)
      
    • 不能對既有數字又有字符串值的列表排序
      str1 = [1,3,5,7,'hello','world']
      str1.sort()
      print(str1)
      # TypeError: '<' not supported between instances of 'str' and 'int'
      
    • sort() 方法對字符串排序時,使用"ASCII字符順序",並不是實際的字典順序。小寫 a 在 大寫 z 之後。
      str1 = ['A','a','B','b','C','c']
      str1.sort()
      print(str1)
      # 輸出: ['A', 'B', 'C', 'a', 'b', 'c']
      # 按照普通的字典順序排序
      str2 = ['A', 'a', 'B', 'b', 'C', 'c']
      str2.sort(key=str.lower) # 將列表所有的項當成小寫
      print(str2)
      

5. Dictionary(字典)

5.1 增加

  • 5.1.1 給字典 新增 "鍵值對"
    如果 “鍵” 已存在,則覆蓋 “舊的鍵值對”,如果 “鍵” 不存在,則新增 “鍵值對”。
    info = {
    'name':'zz','age':18}
    info['age'] = 20 # 鍵已存在,覆蓋
    info['job'] = 'student' # 鍵不存在,新增
    print(info) #結果: {'name': 'zz', 'age': 20, 'job': 'student'}
    
  • 5.1.2 Python字典的 update() 方法
    將新字典中所有鍵值對全部添加到舊字典對象上,如果鍵值對有重復直接覆蓋
    info = {
    'name':'zz','age':18}
    info1 = {
    'name':'hh','sex':'男','money':8000}
    info.update(info1)
    print(info)
    # 結果: {'name': 'hh', 'age': 18, 'sex': '男', 'money': 8000}
    

5.2 刪除

  • 5.2.1 Python字典的 clear() 方法
    刪除字典內所有的元素
    info = {
    'name':'zz','age':18,'sex':'男'}
    info.clear()
    print(info) # 結果: {}
    
  • 5.2.2 Python字典的 del 全局方法
    能刪除字典指定鍵的元素,也可以刪除字典,列表也可以用 del
    info = {
    'name':'zz','age':18,'sex':'男'}
    del info['name'] # 刪除鍵是'name'的鍵值對
    print(info) # 結果: {'age': 18, 'sex': '男'}
    del info # 清空字典
    print(info)
    # 拋出異常:
    # Traceback (most recent call last):
    # {'age': 18, 'sex': '男'}
    # File "C:/Desktop/Test.py", line 26, in <module>
    # print(info)
    # NameError: name 'info' is not defined
    
    這裡可以想一下,為什麼用clear()刪除字典不出現異常呢?
    因為: 用 del 刪除的字典不在存在, 而用clear()是清空字典內所有的元素。如果還不懂,建議你多讀幾遍,深刻體會下,你就會懂了,這時不得不感歎中華文化博大精深!!!
  • 5.2.3 Python字典的 pop() 方法
    刪除字典指定鍵所對應的值,返回值是被刪除的值
    info = {
    'name':'zz','age':18,'sex':'男'}
    print(info.pop('name')) # 結果: zz
    print(info) # 結果: {'age': 18, 'sex': '男'}
    
  • 5.2.4 Python字典的 popitem() 方法
    隨機返回並刪除字典中的一對鍵和值
    info = {
    'name':'zz','age':18,'sex':'男'}
    pop_info = info.popitem() #隨機返回並刪除一個鍵值對
    print(pop_info)
    # 輸出結果可能為: ('sex', '男')
    

6. Set(集合)

注意點:集合(set)是一個無序的不重復元素序列。

# 1.創建集合
info = set('hello')
print(info)
# 可能結果: {'l', 'e', 'o', 'h'}

6.1 增加

Python 集合的添加有兩種常用方法,分別是 add() 和 update()。

  • 6.1.1 Python集合 add() 方法
    把要傳入的元素做為一個整個添加到集合中,插入位置隨機
    info = {
    'h', 'e', 'l', 'o'}
    info.add('python')
    print(info)
    # 可能結果: {'h', 'e', 'python', 'l', 'o'}
    
  • 6.1.2 Python集合 update() 方法
    把要傳入的元素拆分,做為個體傳入到集合中
    info = {
    'h', 'e', 'l', 'o'}
    info.update('python')
    print(info)
    # 可能結果: {'n', 'e', 't', 'o', 'h', 'y', 'p', 'l'}
    

6.2 刪除

  • 6.2.1 Python集合 remove() 方法
    刪除集合中的元素,不存在拋出異常
    info = {
    'h', 'e', 'python', 'l', 'o'}
    info.remove('python')
    print(info)
    # 可能結果: {'e', 'l', 'h', 'o'}
    

你可能感興趣的文章:

  • Python如何判斷某一個字符串是否是小數
  • Python中break和continue,else的用法和區別詳解

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved