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、集合

     

  • 相关阅读:
    springmvc
    POJ 3683 Priest John's Busiest Day
    POJ 3678 Katu Puzzle
    HDU 1815 Building roads
    CDOJ UESTC 1220 The Battle of Guandu
    HDU 3715 Go Deeper
    HDU 3622 Bomb Game
    POJ 3207 Ikki's Story IV
    POJ 3648 Wedding
    HDU 1814 Peaceful Commission
  • 原文地址:https://www.cnblogs.com/yiyaxuan/p/12331583.html
Copyright © 2011-2022 走看看