首页 > 技术文章 > Python数据类型与运用

kailun-aixuexi 2020-12-24 12:07 原文

昨日内容回顾

  • 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
    
    

推荐阅读