美文网首页
Day-03 python初步了解

Day-03 python初步了解

作者: 水果坚果燕麦片 | 来源:发表于2018-12-26 12:31 被阅读0次

    Python 支持的运算符:数学运算符、比较运算符、逻辑运算符、赋值、位

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

    print(5 / 2)结果和数学运算一样

    print(6.3 /3)python中能用小数进行/ 和 //

    print(5 // 2)数字一整除数字二结果只取整数部分

    幂运算 x**y 求x的y次方
    print(8 ** (1/3))
    print(16 ** 0.5)
    print(10 ** 4)

    image

    运算符的对象不一定是数据 也可以是存数据的变量

    2.比较运算符 >,<, ==,!=,>=,<=

    其所有结果均为布尔值(True,False)

    image
    age = int(input(""))
    if age > 10:
            print('what u input is bigger than 10')
    elif age == 10:
            print("ten")
    else:
            print("is smaller than 10")
    

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

    num = 100
    print(type(num),num,id(num))
    

    结果如下:

    <class 'int'> 100 8791178264496
    

    ==:判断变量的值是否相等
    is :判断地址是否相等

    list1 = [1,2]
    list2 = [1,2]
    list3 = list1
    print(list1 == list2, list1 is list2, id(list1), id(list2))
    print(list1 == list3, list1 is list3, id(list1), id(list3))
    

    其结果如下

    True False 4153928 4153992
    True True 4153928 4153928
    

    用一个变量给另一个变量赋值时 是将变量中的存储的数据的地址给另外一个变量

    num1 = 100
    num2 = 100
    num3 = num1
    print(id(num1), id(num2), id(num3))
    

    结果如下

    8791178264496 8791178264496 8791178264496
    

    因为python会对数字和字符串做缓存作为常用数据备份 内存空间中已经存在了这个值就不会新开辟内存空间

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

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

    and 与

    值1 and 值2 --->两个都是True结果才为True
    True and True ->True
    False and True ->False
    其他均为False要求多个条件同时满足的时候,就使用逻辑
    运算

    grade = 90
    score = 95
    print('是否能拿奖学金', grade > 90 and score >= 95)
    

    结果如下:

    是否能拿奖学金 False
    

    or 或

    如果两个都是False,否则结果为True

    多个条件中只要有几个条件满足,就使用逻辑或运算

    短路操作:与:如果第一个条件是False,就不会去判断第二个条件,直接让整个与运算为False
    或:如果第一个条件是True,就不会去判断第二个条件,直接让整个或运算为True

    grade = 70
    is_inclass = True
    print('是否处分',grade < 60 or not is_inclass)
    grade = 55
    print('是否处分',grade < 60 or not is_inclass)
    

    结果如下 :

    是否处分 False
    是否处分 True
    

    not 非

    例子同上
    not True -> False
    age = 20
    print(not age < 10 )

    4.赋值运算符: =, += , -= , *= , /= , //=, %=, **=

    赋值符号的左边必须是变量;右边必须是有结果的
    a. 变量 = 结果 --> 将结果赋给变量

    b.复合赋值运算符要求赋值符号的左边必须必须是一个已经赋值变量

    5.运算符的优先级

    数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符

    数学运算中:** > *,/,%,// > +,-

    优先级高的先算,优先级后算,如果有(),先算()里面

    print(True + 10, False + 10)
    

    结果如下:

    11 10
    

    2 数字类型

    1 整型(int) 包含所有整数支持 十进制 二进制 八进制 十六进制
    num0 = 123 #十进制,直接写
    num1 = 0b110101 #二进制 0b 加二进制数
    num2 = 0o127 #八进制 0o 加八进制数
    num3 = 0x89af #十六进制0x 加十六进制数

    print('十进制',123,'二进制',bin(123),'八进制',oct(123),'十六进制',hex(123))
    

    运算结果如下:十进制 123 二进制 0b1111011 八进制 0o173 十六进制 0x7b

    十进制 123 二进制 0b1111011 八进制 0o173 十六进制 0x7b
    

    2 浮点型(float): 包含所有小数,支持科学计算
    num1 = 12.5
    num2 = 3.25e2 #代表3.25乘以10的2次方

    1. 布尔型(bool): 数学运算中值只有True ==1 和 False == 0

    2. 复数(complex): 实部+虚部j , 注意: j前面必须有数字,不能省略



    字符串 (str)

    通过单引号或者双引号括起来的字符集

    str1 = 'abc'
    str2 = 'abc123'

    是python自己提供的一种容器型数据类型, 一个字符串中可以存多个字符,python中只有字符的概念,没有字符类型

    如果在python中表示一个字符,就用一个长度是1的字符串来表示
    字符串不可变但是有序

    字符串中的字符
    a.普通字符:包括一般的字母,数字,符号,其他文字,'a','G','1'

    b.转义字符: 通关在一些特定的字符前加, 来表示特殊的功能或者意义。

    '\n' -换行, ' 引号本身, ",\,\t 表示一个table 即缩进

    注:1.没有阻住转义的时候,一个转义字符的长度是1,一个空格也是一个字符
    2.可以再字符串最前面加r/R,来阻止转义

    str1 = 'abc\n123'
    str2 = 'hello\'z'
    str3 = '\\n'
    str4 = r'\\n'
    print(str1,str2,str3,str4)
    
    str8 = '\t姓名:小白\n\t年龄:18'
    str9 = r'\t姓名:小白\n\t年龄:18'
    print(str8)
    print(str9)
    

    结果如下:

    abc
    123 hello'z \n \\n
        姓名:小白
        年龄:18
    \t姓名:小白\n\t年龄:18
    

    c.编码字符:在字符串中用'\u' + 四位十六进制编码值表示一个字符

    str9 = '你好\u4e00'
    print(str9)
    

    结果为

    你好一
    
    1. 字符编码

    计算机只能存数字数据,在存储数据时只能存数字的二进制补码

    10 -> 转换成二进制 -> 求补码 (存)

    a -> 97

    字符的编码就是为了将字符存储到计算机中,给每个字符对应的一个固定的数字

    目前计算机采用的编码方式有两种,分别是ASCII和Unicode码表 Python 种用的是Unicode
    ASCII是用一个字节对字符进行编码(总共有128个字符)
    Unicode包含ASCII,两个字节对字符进行编码,包含了世界上所有的语言和符号。

    小写字母编码范围(a-z)97-122
    大写字母编码范围(A-Z)65-90
    中文编码范围 0x4e00-0x9fa5

    字符编码相关的函数
    a.chr(编码值) - 获取编码对应字符

    print(chr(0xA020))
    结果如下:
    ꀠ
    

    b.ord(字符) - 获取字符的编码值,返回的是十进制

    print(ord('巧'))
    结果如下:
    24039
    
    循环打印编码范围内的字符
    for x in range(0x1800,0x18AF+1):
        print(chr(x),end = ',')
    

    结果如下:

    ᠀,᠁,᠂,᠃,᠄,᠅,᠆,᠇,᠈,᠉,᠊,᠋,᠌,᠍,᠎,᠏,᠐,᠑,᠒,᠓,᠔,᠕,᠖,᠗,᠘,᠙,᠚,᠛,᠜,᠝,᠞,᠟,ᠠ,ᠡ,ᠢ,ᠣ,ᠤ,ᠥ,ᠦ,ᠧ,ᠨ,ᠩ,ᠪ,ᠫ,ᠬ,ᠭ,ᠮ,ᠯ,ᠰ,ᠱ,ᠲ,ᠳ,ᠴ,ᠵ,ᠶ,ᠷ,ᠸ,ᠹ,ᠺ,ᠻ,ᠼ,ᠽ,ᠾ,ᠿ,ᡀ,ᡁ,ᡂ,ᡃ,ᡄ,ᡅ,ᡆ,ᡇ,ᡈ,ᡉ,ᡊ,ᡋ,ᡌ,ᡍ,ᡎ,ᡏ,ᡐ,ᡑ,ᡒ,ᡓ,ᡔ,ᡕ,ᡖ,ᡗ,ᡘ,ᡙ,ᡚ,ᡛ,ᡜ,ᡝ,ᡞ,ᡟ,ᡠ,ᡡ,ᡢ,ᡣ,ᡤ,ᡥ,ᡦ,ᡧ,ᡨ,ᡩ,ᡪ,ᡫ,ᡬ,ᡭ,ᡮ,ᡯ,ᡰ,ᡱ,ᡲ,ᡳ,ᡴ,ᡵ,ᡶ,ᡷ,ᡸ,᡹,᡺,᡻,᡼,᡽,᡾,᡿,ᢀ,ᢁ,ᢂ,ᢃ,ᢄ,ᢅ,ᢆ,ᢇ,ᢈ,ᢉ,ᢊ,ᢋ,ᢌ,ᢍ,ᢎ,ᢏ,ᢐ,ᢑ,ᢒ,ᢓ,ᢔ,ᢕ,ᢖ,ᢗ,ᢘ,ᢙ,ᢚ,ᢛ,ᢜ,ᢝ,ᢞ,ᢟ,ᢠ,ᢡ,ᢢ,ᢣ,ᢤ,ᢥ,ᢦ,ᢧ,ᢨ,ᢩ,ᢪ,᢫,᢬,᢭,᢮,᢯,
    
    

    相关文章

      网友评论

          本文标题:Day-03 python初步了解

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