一、运算符
          
          
          
            1、算术运算符:主要用于两个对象算数计算(加减乘除等运算)
          
          
          
            运算符:
          
        
          
              +:两个对象相加
          
          
          
               -:得到负数或是一个数减去另一个数
          
          
          
               *:两个数相乘或是返回一个被重复若干次的字符串
          
          
          
               /:x除以y
          
          
          
               %:返回除法的余数
          
          
          
               **:返回x的y次幂
          
          
          
               //:返回商的整数部分
          
          
          
            2、比较(关系)运算符:用于两个对象比较(判断是否相等、大于等运算)
          
          
          
            运算符:
          
        
          
              ==:比较对象是否相等
          
          
          
               !=:比较两个对象是否不相等
          
          
          
               <>: 比较两个对象是否不相等
          
          
          
               >: 返回x是否大于y
          
          
          
               <: 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。
          
          
          
               >=: 返回x是否大于等于y
          
          
          
               <=: 返回x是否小于等于y
          
          
          
          
            3、赋值运算符:用于对象的赋值,将运算符右边的值(或计算结果)赋给运算符左边。
          
          
          
            运算符:
          
        
          
              =: 简单的赋值运算符
          
          
          
               +=: 加法赋值运算符
          
          
          
               -=: 减法赋值运算符
          
          
          
               *=: 乘法赋值运算符
          
          
          
               /=: 除法赋值运算符
          
          
          
               %=: 取模赋值运算符
          
          
          
               **=: 幂赋值运算符
          
          
          
               //=: 取整除赋值运算符
          
        
          
            4、逻辑运算符:用于逻辑运算(与或非等)。
          
          
          
            运算符:
          
        
          
              and: 并运算符
          
          
          
               or: 且运算符
          
          
          
               not: 非运算符
          
          
          
          
            5、位运算符: 对Python对象进行按照存储的bit操作。
          
          
          
            运算符:
          
        
          
              &: 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
          
          
          
               |: 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
          
          
          
               ^: 按位异或运算符:当两对应的二进位相异时,结果为1
          
          
          
               ~: 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1
          
          
          
               <<: 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0
          
          
          
               >>: 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
          
        
          
            6、成员运算符:判断一个对象是否包含另一个对象。
          
          
          
            运算符:
          
        
          
              in: 如果在指定的序列中找到值返回 True,否则返回 False
          
          
          
               not in: 如果在指定的序列中没有找到值返回 True,否则返回 False
          
          
          
            7、身份运算符:判断是不是引用自一个对象
          
          
          
            运算符:
          
        
          
              is: 判断两个标识符是不是引用自一个对象
          
          
          
               is not: is not是判断两个标识符是不是引用自不同对象
          
          
          
          
            二、基本数据类型
          
        
          
            1、数字: int(整数)
          
          
          
            2、字符串(str)
          
          
          
               a.创建方式
          
          
          
                 s1 = "name"
          
          
          
                 s2 = str('myname')
          
        
          
               b.特有功能
          
          
          
                 s1.upper() #转换为大写
          
          
          
                 s1.find() #查询字符
          
          
          
                 s1.replace() #替换
          
          
          
                 s1.strip() #去掉首尾空白处
          
        
          
               utf-8编码:一个汉字,是3个字节,1个字节是8位
          
          
          
               c.编码、for:
          
          
          
                 name = "李露"
          
          
          
                 for i in name:
          
          
          
                 print(i)
          
          
          
                 bytes_list = bytes(i, encoding='utf-8')
          
          
          
                 print(bytes_list)
          
          
          
                 for b in bytes_list:
          
          
          
               1、python3.5 for循环时候,循环的每一个元素是“字符”
          
          
          
               2、字符 =》字节 
          
          
          
          
                 bytes_list = bytes("字符串", encoding='utf-8')
          
        
          
               #utf-8 => 3字节
          
          
          
               #gbk => 2字节
          
          
          
                 print(bytes_list) #默认每一个字节都是16进制表示
          
          
          
                 for b in bytes_list:
          
          
          
                 print(b) #默认每一个字节都是10进制表示
          
          
          
               3、10进制的数字 ==》2进制
          
          
          
                 bin(10进制的数字)
          
          
          
          
               4、byte 和str
          
          
          
                 st = str()
          
          
          
                 a.创建字符串
          
          
          
                 b.转换成字符串、字节、编码、for
          
          
          
                 m = bytes()
          
          
          
                 a.创建字节
          
          
          
                 b.转换成字节,字符串,要编程什么编码类型的字节
          
          
          
          
            3、布尔值
          
          
          
            4、元组(tuple)
          
          
          
               a.创建元组
          
          
          
                 t = (11,21,33)
          
          
          
                 t1 = tuple()
          
          
          
               b.特有功能
          
          
          
                 t= tuple()
          
          
          
                 t.count()
          
          
          
                 t.index()
          
          
          
               c.嵌套(元素不可修改)
          
        
          
            5、列表(list)
          
          
          
                可变元素的“集合”
          
          
          
                a.创建列表:
          
          
          
                 li = [11,22,33]
          
          
          
                 li = list() #创建一个列表
          
          
          
          
                b.将其他元素转换成列表
          
          
          
                 字符串、元组、字典 =》列表
          
          
          
                 t2 =("name","age")
          
          
          
                 l2 = list(t2)
          
          
          
          
               c.特有功能
          
          
          
                 li = list()
          
          
          
                 li.append() #向列表中添加数据
          
          
          
                 li.clear() #清除
          
          
          
                 li.extend() #批量增加、扩展
          
          
          
                 li.reverse() #翻转,自己内部元素翻转
          
          
          
                 li.insert() #向指定的位置插入元素
          
        
6、字典(dict)
          
            三、基本数据类型之set(set是一个无序且不允许重复的集合)
          
          
          
              1)创建
          
          
          
                 a. se = set() #创建一个空集合
          
          
          
                 b. se = {11,22,33,44}
          
          
          
              2)实例:
          
          
          
                 li = [11,222,11,2]
          
          
          
                 s1 = set(li)
          
          
          
                 s1 = [2,11,222]
          
          
          
              3)set提供的方法
          
          
          
                 a. add() #添加一个元素
          
          
          
                 b. clear() #清空集合内容
          
          
          
                 c. copy() #全拷贝
          
          
          
                 d. difference #找不同的集合,并将新值赋值给新变量
          
          
          
                 例:
          
          
          
                   se = {11,22,33}
          
          
          
                   be = {22,55}
          
          
          
                   #找se中存在,be中不存在的集合,并将新值赋值给新变量
          
          
          
                   ret = se.difference(be)
          
          
          
                   print(ret)
          
          
          
                   #找be中存在,se中不存在的集合
          
          
          
                   ret = be.difference(se)
          
          
          
                   print(ret)
          
          
          
          
                 e. difference_update() #找不同的集合,并更新自己
          
          
          
                   例:
          
          
          
                   ss = {11,22,33}
          
          
          
                   bbb = {22,55}
          
          
          
                   #找se中存在,be中不存在的集合,并更新自己
          
          
          
                   ss.difference_update(bb)
          
          
          
                   print(ss)
          
          
          
                   #找be中存在,se中不存在的集合,并更新自己
          
          
          
                   bb.difference_update(ss)
          
          
          
                   print(bb)
          
          
          
          
                 f. discare()、remove() #移除指定的元素
          
          
          
                   例:
          
          
          
                   se = {11,22,33}
          
          
          
                   se.discare(11)
          
          
          
                   print(se) ==>{22,33}
          
        
          
                 g. intersection() #找交集,并将新值赋值给新变量
          
          
          
          
                 h. intersection_update() #找交集,并更新自己
          
        
          
                 i. isdisjoint() #有交集为False, 没交集为True
          
          
          
          
                 j. issubset() #是否子集合,是子集合为True,否则为False
          
          
          
          
                 k. issuperset() #是否是父集合,是父集合为True,否则为False
          
          
          
          
                 l. union() #并集
          
          
          
          
            四、三元运算
          
          
          
          
               普通的条件语句
          
          
          
                 if 1 == 1:
          
          
          
                   name = "hello"
          
          
          
                 else:
          
          
          
                   name = "world"
          
          
          
          
               三元运算语句
          
          
          
                 #如果条件成立,则将值1赋值给name,否则将值2赋值给name
          
          
          
                 name = 值1 if 条件 else 值2
          
          
          
          
            五、不同数据类型在内存中的存址方式
          
        
          
               a. 字符串srt,一次性创建,不能被修改,只要修改,再创建 
          
          
          
               b. 列表list, 链表,下一个元素的位置,上一下元素的位置
          
        
          
            六、深浅拷贝
          
          
          
               1)深拷贝:在内存中将所有的数据重新创建一份(排除最后一层,即python内部对字符串和数字的优化)
          
          
          
               2)浅拷贝:在内存中只额外创建第一层数据
          
          
          
               3)赋值:只是创建一个变量,该变量指向原来的内存地址。
          
          
          
          
               a. 对于数字和字符串而言,赋值、浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址。
          
          
          
          
               b. 对于字典、元组和列表而言,赋值、浅拷贝和深拷贝时,其内存地址的变化是不同的
          
        

