zoukankan      html  css  js  c++  java
  • python(4)变量 数据类型和运算符


    第二章:变量、数据类型、运算符

    思考:怎么理解变量和内存?
    变量:就等同于上面图中的age name hobby
    内存:存储位置里所装的内容 18 张三 打球
    变量一定是存在某个地址,可以从变量名找到对应的。

      

    #声明3个变量 声明变量就是为了下一步去使用它
    name="张三" #
    age="18"
    hobby="打球"
    
    print(age)
    print(name)
    print(hobby)

     

     

    1、变量不是随便定义的,变量名也有统一规则

    变量命名规则:

    ●变量名必须是大小写英文字母、数字或下划线_ 的组合,不能用数字开头,并且对大小写敏感

    ●关键字不能用于命名变量(31个),如and、as、assert、 break. class.continue、def. del等

    import keyword
    print (keyword.kwlist)

     

    ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 

    'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 
    'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

    2、注释

    python语言通过注释符号识别出注释的部分,将它们当作纯文本,并在执行代码时跳过这些纯文本
    单行注释符号:#
    多行注释符号:''' '''

     

    3、数据类型

    Python语言常用数据类型包括:整型、浮点型、字符串、布尔型、空值

     

    a.数据类型-整型

    整型(int)
    整型的取值为整数,有正有负,如-2,-666,666等
    0也为整型

    #整数,注意后面的值不要加引号
    x=5
    y=5
    a=x+y
    print (a)


    b.数据类型-浮点型
    ●浮点型的取值为小数,当计算有精度要求时被使用,由于小数点可以在相应的二进制
    的不同位置浮动,故而称为浮点数
    ●如3.14, -6.66 等,但是如果是非常“:或者非常小的浮点数,就需要使用科学计数
    法表示,用e代替10

    f=5.20
    l=5.30
    b=f+l
    print(b)
    
    10.5
    c=3.14
    d=2.8
    print(c+d)
    
    5.9399999999999995
    a=3.14e9
    print(a)
    
    3140000000.0
    #整型+浮点型=浮点型
    ll=12
    bb=3.14
    cc=ll+bb
    print(cc)
    
    15.14

     

     

     
    c.数据类型-字符串
    字符串(str)
    字符串是以两个单引号或两个双引号包裹起来的文本
    字符串Jump Shot包括J u m p 空格 S h o t这9个字符
    我们可以用"+"来拼接多个字符串,比如
    a="明天是"
    b="2020年的第一天"
    print(a+b)
    
    明天是2020年的第一天
    a1='明天是'
    b1='2020年的第一天'
    print(a1+b1)
    
    明天是2020年的第一天

     

     

    字符串不能与整型进行拼接!

    要在一串字符里面换行或者给个字符
     

    字符串中的转义字符
    字符串中的转义字符 
    转义字符:字符串里常常存在一些如换行、制表符等有特殊含义的字符,这些字符称之为转义字符
    比如\n表示换行,\t表示制表符,python还允许用r""表示" "内部的字符串默认不转义 
    #期望:my name is 'Jack' and "lili"
    print('my name is \'jack\' and \"lili\" ') #不转义的情况下,会使前面的' 与'组成一组  会导致不再解析后面的内容
    a="祖国\n我爱你!"
    b="祖国\t我爱你!"
    c=r"祖国\t\n我爱你!"  #r表示取消转义
    
    print(a)
    祖国
    我爱你!
    
    print(b)
    祖国    我爱你!
    
    print(c)
    祖国\t\n我爱你!

     

     



    d.数据类型-布尔型布尔型(bool)布尔型只有True和False两种值。比较运算和条件表达式都会产生True和False用print()打印1==1试试
    布尔值可以进行and、or not运算,and和or运算分别用&和|表示
    例1:
    print(1==1) #判断表达式是否相等
    
    True
    
    例2:
    h=True
    print(h)
    
    True
    
    例3:
    a1=True
    a2=False
    print(a1&a2)    #结果是False   &运算符原理是:两者有其一为False结果就为False,都为True结果为True &符号用and也行
    print(a1|a2)    #结果是True    |运算符原理是:两者有其一为True结果就为True,都为False结果为False
    
    a3=True
    a4=True
    print(a3&a4)  #结果是True
    print(a3|a4)  #结果是True
    
    a5=False
    a6=False
    print(a5&a6)  #结果是False
    print(a5|a6)  #结果是False

     

     

    e.数据类型-空值
    空值是Python里一个特殊的值,用None表示,一般用None填充表格中的缺失值
    使用type()函数来获取某值的类型。
    
    
    a=2
    b=3.14
    c='哈哈哈欧文'
    d=True
    e=None
    
    print(type(a))
    print(type(b))
    print(type(c))
    print(type(d))
    print(type(e))
    
    结果:
    <class 'int'>
    <class 'float'>
    <class 'str'>
    <class 'bool'>
    <class 'NoneType'>

     

     

    4、数据类型转换

     

     

     

    例1:
    整型-->浮点型 float()
          -->字符串 str()
          -->布尔型 bool()
    
    a=3
    
    b=float(a)
    c=str(a)
    d=bool(a)
    
    print(b)
    print(c)
    print(d)
    
    结果:
    3.0
    3
    True
    
    例2:
    浮点型-->整型 int()
         -->字符串 str()    
         -->布尔型 bool()
    a=3.54
    
    b=int(a) #不会做四舍五入
    c=str(a)
    d=bool(a)
    
    print(b)
    print(c)
    print(d)
    
    结果:
    3
    3.54
    True
    
    例3-(1):
    字符串-->整型 int()
        -->浮点型 float()
        -->布尔型 bool()
    a='35'
    b=int(a)
    c=float(a)
    d=bool(a)
    
    print(b)
    print(c)
    print(d)
    
    结果:
    35
    35.0
    True
    
    例3-(2):
    字符串-->整型 int() 不支持字符串转成int
        -->浮点型 float() 不支持字符串转成float 总结:只有在形态相同的情况下才可以转换,不能凭空转换成int float
        -->布尔型 bool()
    a='hha哈哈哈'
    #b=int(a)
    #c=float(a)
    d=bool(a)
    
    #print(b)
    #print(c)
    print(d)
    
    结果:
    True
    
    例4-(1):
    布尔型-->整型 int()
            -->浮点型 float()
        -->字符串 str() 
    a=True
    b=int(a)
    c=float(a)
    d=str(a)
    
    print(b)
    print(c)
    print(d)
    
    结果:
    1
    1.0
    True
    
    例4-(2):
    布尔型-->整型 int()
            -->浮点型 float()
        -->字符串 str() 
    a=False
    b=int(a)
    c=float(a)
    d=str(a)
    
    print(b)
    print(c)
    print(d)
    
    结果:
    0
    0.0
    False
    
    例5:
    空值-->整型 int() 不支持转换
          -->浮点型 float() 不支持转换
          -->字符串 str()
    a=None
    #b=int(a)
    #c=float(a)
    d=str(a)
    
    #print(b)
    #print(c)
    print(d)
    
    结果:
    None
    
    
    
    
    结合系统例子:
    yue=2000
    cunkuan='1000' #用户输入的金额
    print("存款后,余额为:",yue+int(cunkuan))
    
    存款后,余额为: 3000
    
    
    例子例子--》》》
    a=""
    b=''
    c=0
    d=None
    e=30
    f=30.12
    j="hahaha"
    
    x1=bool(a)
    x2=bool(b)
    x3=bool(c)
    x4=bool(d)
    x5=bool(e)
    x6=bool(f)
    x7=bool(j)
    
    print(x1)
    print(x2)
    print(x3)
    print(x4)
    print(x5)
    print(x6)
    print(x7)
    
    结果:
    False
    False
    False
    False 总结:只有空字符串,0,None空值转成布尔值会是False,其他都是True
    True
    True
    True

     

     

     

    5、运算符(1)

     4+5=9

    4和5被称之为操作数,"+"称为运算符

     

    Python语言支持以下类型的运算符:

    a.算术运算符

     

    a=20
    
    b=6
    
    print(a/b)
    
    print(a//b)
    
    print(2**3)
    
    结果:
    3.3333333333333335
    3
    8

     

     

     

    b.赋值运算符

     

    a+=3 #a=a+3

     

     

    之前考过一个题目:

    a=a+1

    a+=1 

    待补充

     

    c.比较运算符/关系运算符

     

    a=10
    b=20
    print(a==b)
    print(a!=b)
    print(a>b)
    print(a<b)
    print(a>=b)
    print(a<=b)
    
    结果:
    False
    True
    False
    True
    False
    True

     

     

     

     

    比较运算符计算的结果都为布尔值

     

     

     

     

    6、运算符(2)

    d.逻辑运算符

     

    and左右都是布尔类型

    not前面只跟一个值

     

    a= 1==1 #布尔值True
    b= 3!=3 #布尔值False
    c=True
    print(a and b )
    print(a and c )
    print(a or b)
    print(a or c)
    
    结果:
    False
    True
    True
    True
    
    
    
    a= 1==1 #布尔值True
    b= 3!=3 #布尔值False
    c=True
    print(not a)
    print(not b)
    
    d=not 5+4==6-1
    print(d) #运算符顺序 加减再算= 也可以通过括号来改变运算符的优先级顺序
    
    结果:
    False
    True
    True

     

     

     

    7、列表/数组list(1)

    list数组

    数组是一种有序的集合,可以随时添加和删除其中的元素

     

    数组/列表使用方括号[],元组使用小括号()

     

    #数组定义 []就是定义一个列表
    list1=[1,2,3,4,"hello","世界"]
    print(list1)
    print(type(list1))
    
    
    student=['jack','Bob','Harry','Mickle']
    print(student)
    print(type(student))
    
    结果:
    [1, 2, 3, 4, 'hello', '世界']
    <class 'list'>
    ['jack', 'Bob', 'Harry', 'Mickle']
    <class 'list'>
    
    

     

     

    思考:
    列表 元组 字典  集合
    如果想保存班级所有人名字?
    定义36个变量,打印36个变量,如果是3600人没办法通过变量很好处理
    
    []就是定义一个列表
    举例:student=['jack','Bob','Harry','Mickle']
    
    <1>如何获取到已定义的列表list?
    
    列表是有序的,列表的索引从0开始计数,如果一个列表有12个值,那么索引最大的是11,用索引来访问list中每一个位置的元素
    列表名[对应的value所在的索引]
    print(student[0])  #访问第一个元素
    print(student[1])  #访问第二个元素
    print(student[-1]) #访问最后一个元素
    print(student[4])  #报错信息:IndexError: list index out of range   注意:当索引超出范围时,Python会报一个IndexError错误,所以要确保索引不要越界。
    
    
    
    
    
    
    
    <2>如何更改已定义的列表list的指定数据?比如学生改名
    方法:重新单独定义
    
    student=['jack','Bob','Harry','Mickle']
    student[0]='Yuan'
    print(student)
    
    结果:
    ['Yuan', 'Bob', 'Harry', 'Mickle']
    
    上述两种是列表比较常用的写法。

     

     

     

     

    8、列表/数组list(2)

     

    a.列表正向切片:
    student=['a','b','c','d','jack','Bob','Harry','Mickle']
    student[0]='Yuan'
    print(student)
    
    print(student[0:4]) #从索引=0开始到索引=4-1=3时结束  student[n:m]从索引=n开始到索引=m-1时结束
    print(student[3:5]) #从索引=3开始到索引=5-1=4时结束
    
    结果:
    ['Yuan', 'b', 'c', 'd', 'jack', 'Bob', 'Harry', 'Mickle']
    ['Yuan', 'b', 'c', 'd']
    ['d', 'jack']
    
    
    
    b.列表逆向切片:
    student=['a','b','c','d','jack4','Bob3','Harry2','Mickle1']
    print(student)
    
    print(student[-4:-1]) #从索引=-4开始到索引=-1-1=-2时结束  student[n:m]从索引=n开始到索引=m-1时结束
    
    
    
    
    
    
    
    <3>如何删除已定义的列表list的指定数据?比如某学生退学
    
    student=['a','b','c','d','jack4','Bob3','Harry2','Mickle1']
    
    
    #删除指定元素value
    student.remove('c') #期望:'c'被移除了
    print(student)
    
    
    #默认删除末尾元素
    student.pop() #期望:'Mickle1'被移除了
    print(student)
    
    
    #在指定位置删除元素
    del student[2] #期望:'c'被移除了
    print(student)
    
    
    #在指定位置删除元素
    student.pop(2) #期望:'c'被移除了
    print(student)
    
    #删除整个数组
    del student
    print(student)
    
    
    
    
    <4>如何新增数据到已定义的列表list?比如转入一名学生
    
    student=['a','b','c','d','jack4','Bob3','Harry2','Mickle1']
    
    
    student=['a','b','c','d','jack4','Bob3','Harry2','Mickle1']
    
    print(len(student)) #打印数组的个数

     

     

     

     

     

    9元组和字典

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    10、集合

     

  • 相关阅读:
    互联网某些方面代替了朋友的作用
    穷人
    血脉之力
    鹤立鸡群
    如果有了一个进化的机会,你会选择放弃人类这个身份么?
    怎么样的制度才算是好制度
    /etc/fstab 参数详解及如何设置开机自动挂载
    Linux 查看系统硬件信息(实例详解)
    Linux下添加新硬盘,分区及挂载
    Quartz.NET
  • 原文地址:https://www.cnblogs.com/yiyaxuan/p/12331583.html
Copyright © 2011-2022 走看看