1. 程式人生 > 實用技巧 >Python資料型別與運用

Python資料型別與運用

昨日內容回顧

  • pycharm的破解和簡單實用

  • 計算機三大核心硬體

    cpu
       計算機中真正工作的部分
        
    記憶體
       所有程式要執行,需要由硬碟讀入記憶體
    
    硬碟
       下載的軟體都是存於硬碟之中
    
  • 變數的概念

    變數名
    賦值符號
    變數的值
    
    eg:
      name='jason'
        
    先考慮賦值符號的右側
    再考慮賦值符號的左側
    1.申請一塊記憶體空間儲存jason
    2.讓變數名name指向jason
    3.之後如果需要訪問jason資料只需要通過變數名name即可
    '''變數名是我們訪問變數值的唯一方式'''
    
    • 變數的命名規範

      1.變數名只包含數字,字母,下劃線
      2.數字不能開頭,不能用特殊符號(@),下劃線儘量也不要開頭(有特殊含義)
      3.變數名一定要做到見名知意
      4.python裡面的關鍵字不能作為變數名
      '''關鍵字:本身具有特殊的功能'''
          例如 print(列印功能)
      
    • 變數的命名風格

      1.下劃線
          age_of_jason=18
      2.大駝峰
          AgeOfJason=18
      3.小駝峰
          ageOfJason=18
      

      常量

      在python中不存在嚴格意義上的常量,我們約定俗成的將所有大寫的變數名作為常量
      HOST='127.0.0.1'
      

      今日內容概要

      主題:python基本資料型別

      • 資料型別的概念
      • 整數
      • 浮點數
      • 字串(重點)
      • 列表(重點)
      • 字典(重點)
      • 布林值
      • 元祖
      • 集合
      • 與使用者互動與運算子

      今日內容詳細

      資料型別的的概念

      我們學習的變數是為了讓計算機能夠像人一樣去記憶事物的某中狀態
      
      eg:實際生活中我們接觸的資料也是有很多種不同的型別
           文字檔案
          視屏檔案
          音訊檔案
          
      針對不同型別的資料我們有不同的儲存方式呢和操作手段
      

      資料型別之整型

      整型就是'整數'
      作用:記錄人的年齡,出生年份,人數等證書相關的狀態
      作用:
          age=18
          birth=1997
          stu-num=16
      

      資料型別之浮點型

      浮點型就是'小數'
      作用:記錄人的身高,體重,薪資等小數先關的狀態
           height = 1.66
           weight = 6.6
           salary = 66.6
      

      資料型別之''字串''

      字串就是'文字資料'
      作用:用來記錄人的名字,家庭地址,性別等描述性的狀態
      使用:(定義字串有三種方式)
      '''本質:用引號引起來的就是字串'''
      
      # 方式1 單引號
      name='jason'
      # 方式2 雙引號
      name="jason"
      # 方式3 三引號 字串前沒等號就是註釋
      name='''jason'''
      
      疑問 為什麼定義字串有這麼多方式?
         因為使用字串時裡面的內容可能就用到了引號,如對話,多個引號可以避免對話衝突而設定了多個定義方式
      

      資料型別之''列表''

      就是能夠儲存多個數據的容器
      描述:使用的是[],中括號裡可以儲存多個元素(資料),
      name_list=['jason','owen','jerrry']
      l=[18,11.1,'jason',[11,22,33]]
      
      索引取值
      '''第一個取值是0 在計算機中的起始值是0'''
      
      # 小練習題
      # 利用索引取值的方式獲取元素22
      l1=['jason',18,['countryu',[11,22,33]]
      分步操作
      # 將更小的列表重新賦值給一個變數名
      l2=l1[2]
      l3=l2[1]
      print(l3[1])
          
      一次操作
      print(l1[2][1][1])
          
      '''
      # l1 = ['jason',18,['countryu',[11,22,33]]
      # 分步操作
      # l2 = l1[2]
      # l3 = l2[1]
      # print(l3[1])
      # print(l1[2][1][1])
      操作失敗了
      '''
      

    資料型別之字典

    字典可以儲存多個數據,並且還可以表示資料到底什麼含義
    我們儲存使用者資訊時可以考慮使用列表,但是多個元素沒有具體的指向,容易混淆
    為了能夠更加精準的儲存資料,字典應運而生
    字典:使用的是{},大括號裡面可以儲存多個元素,元素與元素之間逗號隔開,元素的表現形式為
       'Key:value'鍵值對
        user_dict={
            'username':'jason'
            'password':123
            'age':18
            'address':'china',
        }
        
        
    '''
    key是字典的鍵
    value是字典的值
    記得在結尾加上逗號
    '''
    
    # 字典的取值
    字典取值不能用索引(字典內元素索引是無序的沒有索引)
    需要使用鍵值對的鍵才能取出相應的元素
    輸入的鍵一定是要存在的(不然直接報錯)
    

    資料型別之布林值

    布林值就是用來表示'真假','對錯'的
    布林值只有兩種
        True
        False
    作用:用於程式中的邏輯判斷
    a=1
    b=2
    print(a>b)
    print(b>a)
    print(a==b)
    False
    True
    False
    
    在涉及到邏輯判斷的時候資料都會轉換成布林值進行判斷
    1.記憶
        布林值為False的資料有:
        0,None,'',[],{}...
        其他情況的布林值都是True
    
    2.瞭解
        在儲存布林值的時候我們會習慣用is-開頭
        is-right=True
        is-sratus=True
        is-delete=True
    
    

    資料型別之元組

    元組和列表非常的相似,我們可以把元組看成是不可變的列表
    元組使用的是(),小括號內可以存放多個元素,元素與元素之間逗號隔開,元素只能是不可變型別
    t=(1,2,3)
    # print(t[0])
    

    資料型別之集合

    集合只要是用來
       1.去重
       2.關係運算
    集合:使用的也是大括號{},大量括號裡面可以儲存多個元素,元素與元素之間逗號隔開
    只能是不可變型別,並且元素不是K:V鍵值對形式
    s={1,2,3}  # 和字典有點像昂
    
    

    與使用者互動

    eg:一起拿去銀行辦理業務需要排隊等櫃檯辦公人員
       現在我們只需要ATM或者手機銀行即可辦理
    
    1.獲取使用者輸入(input)
    username=input('請輸入你的使用者名稱>>>:')
    # 將input獲取到的使用者輸入賦值給變數名username
    print(username,type(username))
    '''input獲取到的使用者資料都是字串型別'''
    
    2.輸出內容(print)
    print('hello world')
    
    

    格式化輸出

    把一段字串裡面的某些內容替換掉之後再輸出,就是格式化輸出。
    我們經常會輸出具有某種固定格式的內容,比如:'親愛的xxx你好!你xxx月的話費是xxx,餘額是xxx‘,我們需要做的就是將xxx替換為具體的內容。
    
    # 待替換的內容需要用特殊字元提前佔位
    res='親愛的%s你好!你%月的話費%s,餘額是%s'
    print(res%('jason',12,100,10000000))
    print(res%('tont',12,10000000,-99999))
    佔位符:提前佔位之後可以給其他資料使用
    res='親愛的%s你好!你%d月的話費是%d,餘額是%d'
    print(res%('jason',12,100,'111')) #%d報錯
    
    # %s:可以給任意資料佔位
    # %d:只能給數字佔位 # 不然會報錯
    
    # %d強行使用場景=-=
    print('%08d' % 1)
    print('%08d' % 123)
    print('%08d' % 12334243242)
    00000001
    00000123
    12334243242
    
    聯絡2::使用者輸入姓名、年齡、工作、愛好 ,然後列印成以下格式
    ------------ info of Tony ----------
    Name  : Tony
    Age   : 22
    Sex   : male
    Job   : Teacher 
    ------------- end ------------------
    
    ------------- info of %s  ----------
    Name  :  %s
    Age   :  %s
    Sex   :  %s
    Job   :  %s
    ------------- end ------------------
    res=
    '''
    ------------- info of %s  ----------
    Name  :  %s
    Age   :  %s
    Sex   :  %s
    Job   :  %s
    ------------- end ------------------
    '''
    name= input('name>>>:')
    age=input('age>>>:')
    gender=input('gender>>>:')
    job=input('job>>>>:')
    print(res%(name,name,age,gender,job))
    '''以後使用佔位符的時候可以直接使用%s不需要考慮%d'''
    

    運算子

    # 算術運算子
    python支援的算術運算子與數學上的符號使用是一致的
    a=5
    b=6
    print(a+b)
    print(a-b)
    print(a*b)
    print(a/b)
    print(a%b)  #取餘數
    print(a**b) # 次方
    
    # 比較運算子
    print(a>b)
    print(a<b)
    print(a==b)
    
    # 賦值運算子
    =
    
    # 程式設計師必備法則 能偷懶就偷懶
    
    # 增量賦值
    x=6
    x=x+1 #等價於x+=1
    x=x-1 #等價於x-=1
    x=1
    y=1
    x=x+1
    y+=1
    print(x,y)
    2 2
    
    # 鏈式賦值
    x=y=z=10
    
    # 交叉賦值
    x=666
    y=222
    如何互換數值
    方式1:中間變數
    tmp=x
    x=y
    y=tem
    
    # 方式2
    x,y=y,x
    
    # 解壓賦值
    l=['jason','tonu','jerry','owen']
    方式1
    name1=l[0]
    name2=l[1]
    name3=l[2]
    name4=l[3]
    
    方式2
    n1,n2,n3,n4 =l#按照位置一一賦值
    n2,n2=l       #少了也不行
    打破規則
    a, *_ = l
    print(a, _)  # jason  ['tony', 'jerry', 'owen']
    a, *_, b = l
    print(a, _, b)  # jason ['tony', 'jerry'] owen
    

    操作

    name_list = ['jason', 'owen', 'jerry']
    # print(name_list)
    # l = [18, 1.11, 'jason', [11, 22, 33]]
    
    # 索引取值
    '''索引的起始位置是從0開始的'''
    # print(name_list[0])  # jason
    # print(name_list[1])  # owen
    
    # 利用索引取值的方式獲取元素22
    l1 = ['jason', 18, ['country', [11, 22, 33]]]
    # 分步操作
    # 將小列表重新賦值給一個變數名
    l2 = l1[2]
    # 將更小的列表重新賦值給一個變數名
    l3 = l2[1]
    print(l3[1])
    # 一次性完成
    print(l1[2][1][1])
    

    作業

    1.手敲筆記
    2.自己整理出每個資料型別的作用及定義
    3.資料型別的專業英文
    整型 		 int
    浮點型 	float
    字串      str
    列表        list
    字典	      dict
    布林值      bool
    元組        tuple
    集合        set