美文网首页
day 03.运算符和字符串 2018-12-26

day 03.运算符和字符串 2018-12-26

作者: 绝世小丑 | 来源:发表于2018-12-26 20:25 被阅读0次

    一、运算符

    前期准备:

    Python支持:数学运算符、比较运算符、逻辑运算符、赋值运算符、(位运算符)
    注意:运算符的运算对象不一定是数据,也可以是存数据的变量
    例如:

    age = 50
    print(age / 2)
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/01、运算符.py"
    25.0
    
    Process finished with exit code 0
    
    

    1.数学运算符:+(加)、-(减)、*(乘)、/(除)、//(整除)、%(取余)、**(幂运算)。

    其中+、-、*、/与数学中的加减乘除一模一样。
    例如:

    print(55 + 15.)
    print(654.5 - 650.5)
    print(5 * 6)
    print(9 / 2)
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/01、运算符.py"
    70.0
    4.0
    30
    4.5
    
    Process finished with exit code 0
    
    

    //(整除):

    数字1 // 数字2 -----数字1除以数字2,结果只取整数部分
    例如:

    print(11 // 2.5) 
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/01、运算符.py"
    4.0
    
    Process finished with exit code 0
    
    
    练习:取数字 854 上的百位数

    例如:

    print(856 // 100)
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/01、运算符.py"
    8
    
    Process finished with exit code 0
    
    

    %(取余)

    例如:

    print(11 % 3) 
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/01、运算符.py"
    2
    
    Process finished with exit code 0
    
    
    应用1:获取一个数的个位数
    print(798 % 10) 
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/01、运算符.py"
    8
    
    Process finished with exit code 0
    
    
    应用2:判断一个数的奇偶(让数对2取余,结果为1是奇数,结果为0是偶数)
    print(100 % 2, 51 % 2)
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/01、运算符.py"
    0 1
    
    Process finished with exit code 0
    
    

    **(幂运算):x ** y -----求x的y次方

    例如:

    print(3 ** 3)
    print(25 ** 0.5)           # x ** (1/2) 为x的开平方;x ** (1/3) 为x的开立方
    
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/01、运算符.py"
    9
    5
    
    Process finished with exit code 0
    
    

    2.比较运算符:

    >(大于)、<(小于)、==(等于)、!=(不等于)、>=(大于等于)、<=(小于等于)
    所有的比较运算符的运算结果都是布尔值
    print(1 + 1 > 2) # 结果为false
    print(1 + 1 < 2) # 结果为false
    print(1 + 1 == 2) # 结果为true
    print(1 + 1 != 2) # 结果为false
    print(1 + 1 >= 2) # 结果为true
    print(1 + 1 <= 2) # 结果为true
    例如:

    age = 10
    print('年龄为::', age)
    print('是否成年:', age >= 18)
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/01、运算符.py"
    年龄为:: 10
    是否成年: False
    
    Process finished with exit code 0
    
    
    补充:is的使用:

    一个变量有三要素,分别是:类型(变量中存储的数据类型)、值(变量存储的数据)、地址(变量真正存储的位置)
    类型:用print(type(变量)),查看类型
    值:使用变量就是使用值
    地址:用print(id(变量)),查看地址

    ==:判断值是否相等
    is:判断地址是否相等
    name = '绝世小丑'
    print(type(name), name, id(name))

    注意:

    list1 = [1, 2, 3]
    list2 = [1, 2, 3]
    list3 = list1 # 用 = 赋值的时候,会把list1的值和地址赋给list3
    print(id(list1), id(list3))

    除了数字和字符串,用 = 赋值,均不会赋值地址

    3.逻辑运算符::and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)

    逻辑运算符的运算对象和运算结果都是布尔值

    and:

    值1 and 值2 -----如果两个值都为true,结果为true,否则为false;相当于生活中的“并且”
    True and True --->True
    True and False --->False
    False and True --->False
    False and False --->False

    短路操作:

    如果第一个条件为False,就不会再去判断第二个条件,会直接让整个与运算结果为False

    应用:要求多个条件相同满足时,用逻辑 and 运算
    练习:能拿奖学金的条件是成绩必须90分以上并且测评分不低于95

    例如:

    cj = 90
    cp = 85
    print('是否能拿奖学金:', cj > 90 and cp >= 95)
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/01、运算符.py"
    是否能拿奖学金: False
    
    Process finished with exit code 0
    
    

    or:

    值1 and 值2 -----如果两个值都为false,结果为false,否则为true;相当于生活中的“或者”
    True or True --->True
    True or False --->True
    False or True --->True
    False or False --->False

    短路操作:如果第一个条件为True,就不会再去判断第二个条件,会直接让整个或运算结果为True
    应用:要求多个条件只要有一个满足时,用逻辑 or 运算
    练习:如果考试成绩低于60或者没来听课
    cj = 60
    is_not_in_class = False     # true 表示不在班级;false表示在班级
    print('是否降班:', cj < 60 or is_not_in_class)
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/01、运算符.py"
    是否降班: False
    
    Process finished with exit code 0
    
    

    not:

    not 值 -----对值1进行否定(取反);相当于生活中的“或者”
    not True -->False
    not false -->True

    应用:否定某个条件
    年龄不小于10岁
    age = 20
    print(not age < 10)
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/01、运算符.py"
    True
    
    Process finished with exit code 0
    
    

    4.赋值运算符:=(等于)、+=(加等于)、-=、=、/=、//=、%=、*=

    要求:

    所有的赋值运算符左边必须是变量;右边必须是有结果的(是值)

    变量 = 结果 -----将结果赋给变量

    num1 = 1314
    num2 = num1 # 变量给变量赋值,赋的是变量的地址

    复合赋值运算符:

    +=(加等于)、-=、=、/=、//=、%=、*=
    复合赋值运算符要求赋值运算符号的左边除了是变量以外,还要求整改变量已经被赋过值
    变量 += 数字 --> 变量 = 变量 + 数字
    例如:

    num3 = 10
    num3 += 20               # -->num3 = num3 + 20
    print(num3)              # 结果为30
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/01、运算符.py"
    30
    
    Process finished with exit code 0
    
    

    例如:

    num3 = 10
    num3 -= 20               # -->num3 = num3 - 20
    print(num3)              # 结果为-10
    
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/01、运算符.py"
    10
    
    Process finished with exit code 0
    
    

    5.运算符的优先级

    注意:在运算时,布尔中,True = 1;False = 0
    数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
    数学运算符中:'*' > '','/','%','//' > '=','-'
    优先级高的先算,优先级低的后算。如果有(),先算()里的。



    二、数字类型

    1.int:

    整型,包含所有的整数,支持二进制、八进制、十进制、十六进制。
    例如:

    num00 = 1314             # 十进制:默认为十进制
    num01 = 0b10101010       # 二进制:0b+二进制数
    num02 = 0o77777777       # 八进制:0o+八进制数
    num03 = 0xfedcba98       # 十六进制:0x+十六进制数
    print(num00, num01, num02, num03)       # 打印的是这个数的十进制
    print('十进制是:', 1314, '二进制表示为:', bin(1314))
    print('十进制是:', 1314, '八进制表示为:', oct(1314))
    print('十进制是:', 1314, '十六进制表示为:', hex(1314))
    print(0b10 + 5)   # 可以用不同进制进行运算
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/02、数字类型 12.26.py"
    1314 170 16777215 4275878552
    十进制是: 1314 二进制表示为: 0b10100100010
    十进制是: 1314 八进制表示为: 0o2442
    十进制是: 1314 十六进制表示为: 0x522
    7
    
    Process finished with exit code 0
    
    

    2.float:

    浮点型,包含所有的小数,支持科学计数法。
    例如:

    num1 = 123.5
    num2 = 3e2             # 代表 3 乘以 10 的 2 次方
    print(num2)
    num3 = 1.32e2          # 代表 1.32 乘以 10 的 2 次方
    print(num3)
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/02、数字类型 12.26.py"
    300.0
    132.0
    
    Process finished with exit code 0
    
    

    3.bool:

    布尔, 值只有True(1) 和False(0)
    True还是表示真、肯定
    False还是表示假、否定


    4.complex:

    复数,实部 + 虚部j,注意:前面必须有数字,不能省略。


    三、字符串

    1.认识字符串

    通过单引号或双引号括起来的字符集(文本)就是字符串
    例如:

    str1 = 'adc'
    str2 = "adc321"
    

    2.字符串类型(str)

    str是Python自己提供的一种容器型数据类型,一个字符串中可以存储多个字符。
    什么是字符:在python中,只有字符的概念,没有字符类型,如果在python中要表示一个字符,用一个长度为一的字符串来表示。
    字符串不可变但是有序,不可变指的是字符的值和字符串的长度不可变,有序指的是每个字符在字符串中的位置是确定的
    字符串'adc'和字符串'cda'是不一样的

    3.字符串中的字符

    普通字符:包含一般的字母、数字、符号、其它文字;例如:'a','D','1'
    data = 'adc321哎?'
    转义字符:通过在一些特定的字母前加\,来表示特殊的功能或者意义。
    注意:没有阻止转译的时候,一个转译字符的长度为1。可以在字符串的最前面加r/R,来阻止转义。(阻止字符串中所有的转义字符转义)

    例如:

    data0 = '\t姓名:阿黄\n\t物种:狗\n\t年龄:18'
    print(data0)            # 效果:姓名:阿黄
                            # 物种:狗
                            # 年龄:18
    data0 = r'\t姓名:阿黄\n\t物种:狗\n\t年龄:18'
    print(data0)            # 效果:\t姓名:阿黄\n\t物种:狗\n\t年龄:18
    # \n -----换行符
    data1 = 'adc\n321'
    print(data1)            # 效果:adc
    #                               321
    # \' -----表示一个单引号
    data2 = 'halo\'A'
    print(data2)            # 效果:halo'A
    # \" -----表示一个双引号
    data2 = "halo\"A"
    print(data2)            # 效果:halo"A
    # \\ -----表示一个\
    data3 = 'halo\\A'
    print(data3)            # 效果:halo\A
    # \t -----表示一个tab键
    data4 = 'halo\tA'
    print(data4)            # 效果:halo   A
    
    # 编码字符:在字符串中用'\u'+ 四位十六进制编码值表示一个字符
    data5 = 'halo\uabc1'
    print(data5)            # 效果:haloꯁ
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/03、字符串 12.26.py"
        姓名:阿黄
        物种:狗
        年龄:18
    \t姓名:阿黄\n\t物种:狗\n\t年龄:18
    adc
    321
    halo'A
    halo"A
    halo\A
    halo    A
    haloꯁ
    
    Process finished with exit code 0
    
    

    4.字符编码

    计算机在存储数据的时候,只能存储数字数据,而且存的是数字的二进制补码
    十进制存二进制:10 --> 转换成二进制 --> 求补码 --> 存储
    字符的编码就是为了将字符存储到计算机中,给每个字符对应的一个固定的数字。这个数字就是这个字符的编码。
    目前计算机采用的编码方式有两种,分别是ASCII码表和Unicode码表。python中采用的是Unicode码表。
    ASCII码:采用一个字节对字符进行编码(共有128个字符)
    Unicode码:包含ASCII码,采用两个字节对字符进行编码,包含了世界上所有的语言和符号,又称万国语。
    小写字母的编码范围:(az):87122
    大写字母的编码范围:(AZ):6990
    中文的编码范围:0x4e00~ox9fa5

    字符编码相关的函数:

    chr()编码值 -----获取编码对应的字符
    例如:

    print(chr(0xa00f))
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/03、字符串 12.26.py"
    ꀏ
    
    Process finished with exit code 0
    
    

    ord(字符) -----获取字符的编码(以十进制的形式返回)
    例如:

    print(ord('绝'), ord('世'))         # 只能是单个字符
    

    运行结果:

    C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "C:/Users/Administrator/PycharmProjects/untitled1/day3、运算符和字符串 12..26/03、字符串 12.26.py"
    32477 19990
    
    Process finished with exit code 0
    
    

    相关文章

      网友评论

          本文标题:day 03.运算符和字符串 2018-12-26

          本文链接:https://www.haomeiwen.com/subject/cenhlqtx.html