美文网首页
Day3 运算符、数字类型、字符串

Day3 运算符、数字类型、字符串

作者: 圣咸鱼 | 来源:发表于2018-12-26 20:36 被阅读0次

    1. python支持的运算符:

    数学运算符,比较运算符,逻辑运算符,赋值运算符(位运算符)。

    数学运算符:

    +(加号),-(减号),* (乘号),/(除号),//(整除),%(取余),*** (幂运算)

    1. 加减乘除(+ - * /)与我们小学学的运算规则一模一样
    2. //整除,数字1 // 数字2,让数字一除以数据二,结果只取整数部分,对除数和被除数没有要求,只要是数字就行。
    print(12+3)
    print(19-1)
    print(12*2)
    print(23/4)
    print(45//7)
    
    运行结果
    例子:获取234中的2获取出来:
    print(234//100)
    运行结果
    1. 取余:求余数
    print(5 % 2)   # 求五除以二的余数
    print(10 % 4)
    # 获取个位数:
    print(234 % 10)
    
    运行结果

    注:判断一个数的奇偶性:让这个数对2取余,看余为0或者为1,为1则为奇数,为0则为偶数。

    1. 幂运算 x ** y,求x的y次方,也可以用小数开方。
    print(2 ** 3)
    print(10 ** 4)
    print(16 ** 0.5)   # 16开平方
    print(8 ** (1/3))  # 8开立方
    age = 18
    print(age + 10)
    # 运算符的运算对象不一定是数据,也可以是存数据的变量
    
    运行结果

    比较运算符:

    比较运算符包括:>(大于),<(小于), ==(等于), !=(不等于), >=(大于等于), <=(小于等于)。
    注:所有比较运算符的结果都是布尔值。

    print(10 > 20)
    print(10 < 20)
    print(10 == 20)
    print(10 == 10)
    print(10 != 10)
    print(10 >= 10)
    print(10 <= 20)
    age = 18
    print(age >= 18)
    
    运行结果

    补充:is的使用
    变量三要素:类型(变量中存储的数据的类型),值(变量中存储的数据),地址(变量中真正存储的内容:数据的地址)。

    • 类型 - type(变量)。
    • 值 - 直接使用变量,就是使用值。
    • 地址 - id(变量)。
    num = 100
    print(type(num), num, id(num))
    
    运行结果

    注意:==判定的是值是否相等,is判定的地址是否相等。

    list1 = [1, 2]
    list2 = [1, 2]
    list3 = list1
    print(list1, list2)
    print(id(list1), id(list2))
    print(list == list, list1 is list2)
    print(list1 == list3, list1 is list3)
    
    运行结果

    用变量赋值另一个变量时,是将变量中存储的数据地址赋给另一个变量。
    特殊情况:数字和字符串,只要用过就不会重复开辟空间存放,因此地址一致,故也会满足is。

    num1 = 100
    num2 = 100
    print(id(num1), id(num2))
    
    运行结果

    逻辑运算符:

    and(逻辑与运算), or(逻辑或运算), not(逻辑非运算)
    逻辑运算符的运算对象和运算结果返回值都是布尔值。

    1. 值1 and 值2 只有两个都为true,返回结果才为true,否则就是false,相当于生活逻辑中的“并且”。
      true and true -> true
      true and false -> false
      false and false -> false
      false and true -> true
    • 当要求多个条件同时满足时,就使用逻辑与运算。
    • 短路操作:第一个条件是False,就不会去判断第二个条件,直接让整个或运算的结果是False。
      练习:如果考试成绩大于90分和平时表现成绩大于等于95分就能获得奖学金。
    grade = 90
    score = 95
    print("是否能拿奖学金", grade > 90 and score >= 95)
    
    运行结果
    1. 值1 or 值2 ->只有两个都是false才为false,否则就是true,相当于生活逻辑中的“或者”
      true or true -> true
      true or false -> true
      false or false -> false
      false or true -> true
    • 应用:要求多个条件只要有一个满足,就使用逻辑或运算。
    • 短路操作:第一个条件是true,就不会去判断第二个条件,直接让整个或运算的结果是True。
      练习:如果考试低于60分,或者上课不听讲就降班
    grade = 70
    is_not_in_class = False   # True代表不在班级,False代表在班级
    print('是否降班:', grade < 60 or is_not_in_class)
    
    运行结果
    1. 逻辑非运算:not 值1->运算对象和结果都是布尔值,对结果进行否定,或者取反。
      """
      not True -> False
      not False -> True
      """
    # 年龄不小于十岁
    age = 20
    print(not age < 10)
    
    运行结果

    赋值运算符:

    赋值运算符包含:=, +=, -=, *=, /=, //=, %=, **= 。
    所有的赋值运算符要求赋值符号的左边必须是变量,右边必须是有结果的。

    1. 变量 = 结果 --> 将结果赋值给变量
      num1 = 100
      num2 = num1 # 变量赋值给变量,赋的是变量中存储的地址
    2. +=, -=, *=, /=, //=, %=, **=
      复合赋值运算符要求赋值符号的左边除了是变量以为,还药物这个变量已经赋过值。
      变量 += 数字 --> 变量 = 变量 +数字(将变量原来的值加上指定的数字以后将新值再重新赋值给变量)
    num3 = 3
    num3 += 10   # num3 = num3 +10 = 3 + 10
    print(num3)   # 13
    
    num3 -= 3   # num3 = num3 - 3 = 13 - 3
    print(num3)  # 10
    
    运行结果
    1. 复合运算:运算符的优先级
      数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符,
      优先级高的先算,优先级低的后算,但如果有(),先算()里面的。
      数学运算符中: ** > * / % // > + -
      练习:
    print(19 + 20 > 6**2 + 4 or 10 + 3 < 3 * 3)
    # 布尔值True == 1 ,False == 0,可参与运算.
    print(19 + 20 > (6**2 + 4 > 10 or 10 + 3 < 3 * 3))
    
    运行结果

    2. python的数字类型:

    python的数字类型包括:int bool complex float。

    1. 整型:int 包含所有的整数,支持十进制,二进制,八进制和十六进制。
    num4 = 23
    num = 0b100011  # 0b + 二进制数
    num5 = 0o7654321  # 0o + 八进制数
    num6 = 0xaf9456   # 0x +十六进制数
    print(num4,num5,num6,num)
    print('十进制',123)
    print('二进制',bin(123))
    print('八进制',oct(123))
    print('十六进制',hex(123))
    print(0b0111)
    print(0b0111 + 2)
    
    运行结果
    1. 浮点型: float 包含所有的小数,支持科学计数法。
    num7 = 12.5
    num2 = 3e2  # 代表3乘以10的二次方
    print(num2)
    num3 = 1.25e2
    print(num3)
    
    运行结果
    1. 布尔(bool):
      值只有True和False两种,True == 1, False == 0.True还是表示真,肯定,Flase还是表示假,否定。
    sun = True + 10
    print(sun)
    print(True == 1, False == 0)
    
    运行结果
    1. 复数(complex):
      实部 + 虚部j,j前面必须有数字,不能省略。

    3.字符串

    1. 通过''或者“”括起来的字符集(文本)就是字符串。例如:
      str1 = '123'
      str2 = 'abc123'
    2. 字符串类型(str)
      str是python自己提供的一种容器型数据类型,一个字符串中可以保存多个字符。
      字符:python中只有字符的概念没有字符类型,
      如果在puthon中要表示一个字符,用长度为1的字符串来表示。
      字符串不可变但有序:不可变指的是字符的值和字符串的长度不可变,
      有序指的是在一个字符串中,每个字符在字符串中的位置是确定的。
      字符串"abc"和"bac"是不一样的
    3. 字符串中的字符:
      a. 普通字符:
      包含一般的字母,数字,符号,和其他文字。例如:'a','G','1','0','+','^','?','好'
      b. 转义字符:通过在一些特定的字符前加,来表示特殊的功能或意义,这样的字符就是转义字符。
      转义字符有:
      \n - 换行
      ' - 表示一个单引号
      " - 表示一个双引号
      \ - 表示一个反斜杠
      \t - 表示一个Tab键
      注意:没有组织转义的时候,一个转义字符的长度是一。
      可以在字符串的前面加r/R,来阻止转义(阻止字符串中所有的字符转义)。
    data = 100
    data1 = '100'
    data2 = 'agj好123'
    str4 = '23\n45'
    str5 = '123\'we'
    str6 = "123\"w'qw"
    str7 = "\\hello \\npython"
    str8 = "\terer"
    str9 = R"\t姓名:小白\n\t年龄:18"
    str10 = "啊哈,你,需要我的帮助\u4E00\u9FA5"
    print(str4)
    print(str5)
    print(str6)
    print(str7)
    print(str8)
    print(str9)
    print(str10)
    
    运行结果

    c. 编码字符
    在字符串中以"\u1234" +四位十六进制编码值;例如"\u1234"。
    d. 字符编码:
    计算机在存储数据时只能存数字数据,而且存的是数字的二进制补码。
    例如:
    10 --> 转换成二进制 --> 存补码(求)
    字符的编码就是为了将字符存储到计算机中,给每个字符对应的一个固定数字,这个数字就是这个字符的编码。
    目前计算机采用的编码方式有两种,分别是ASCII码表和Unicode码表。
    Python中采用的是Unicode编码,实际上Unicode码表就是对ASCII码表(就128个字符)的扩充。
    ASCII码是采用一个字节对字符进行编码。
    Unicode码包含ASCII码,采用两个字节对字符进行编码,包含了世界上所有的语言和符号,又称万国码。
    小写字母的编码范围为a-z(97-122),大写字母编码范围为A-Z(65-90)
    中文的编码范围:(0x4E00-0x9FA5)。
    字符编码相关函数:
    a.chr(编码值) - 获取编码对应字符。
    b.ord(字符)- =获取字符的编码值(以十进制形式返回)。
    a -> 97

    print(chr(0x0180))
    print(hex(ord('李')),hex(ord('源')))
    
    运行结果

    相关文章

      网友评论

          本文标题:Day3 运算符、数字类型、字符串

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