缩进:代表层次关系;
换行输出:end='\n'
数据类型:
    整型(int)、浮点型(float)、复数(complex)、字符串(str) 布尔(bool)
    列表(list)、元组(tuple)、字典(dict)、集合(set)
    [ ]:列表;       { }:映射,键值             ( ):元组
    pass:占位符
       注意:字符串和数字不可比较
比较运算:
    and:取第一个为flase的值,否则去最后一个为true的值
    ro:取第一个为true的值,否则去最后一个为flase的值
    not:结果取反
进制之间的转换:
    bin:转为二进制
    oct:转八进制
    hex:转十六进制
条件判断语句:
    (1)if ( ):
        满足就执行的内容

    (2)if ( ):
        满足就执行的内容
            lese:
        否则就执行的内容
    (3)if ( ):
        满足就执行的内容
            leif:
        否则再判断,满足就执行的内容
            lese:
        都不满足时,最后执行的内容

循环语句:
    (1)while 判断条件:
        条件成立时执行的代码
    注意:要保持判断条件中值的改变,不然容易死循环
    
    (2)for i in range(次数):
        条件成立时执行的代码
    注意:range(次数)也可以是数组、元组……等
    
    关键字:
        break:用来结束整个循环。
        continue:用来结束本轮循环,开启下一轮循环。
    
    (3)for…
        内容
        break
        else…

    注意:当循环里的break没有被执行的时候,就会执行else。

三元表达式:
    语法:满足的值 if 表达式  else 不满足的值

字符串***:
    介绍:python中可以使用  一对单引号、一对双引号、一对三单引号、一对三双引号来表示字符串
    转义字符:
        \n   :   表示换行
        \t    :   表示制表符
        \\    :   表示普通的反斜线
    字符串常见的操作:
        获取长度:len
        查找内容:find,index,rfind,rindex
        判断:
         

startswitch
             endswitch
             isalpha
             isdight
             isalnum
             isspace


        计算出现次数:count
        替换内容:replace(谁,换成谁)
        切割字符串:split,rsplit,splitlines,partition,rpartition
        修改大小写:
         

capitalize:第一个单词的首字母大写
             title:每个单词的首字母都大写
             upper:全转为大写
             lower:全转为小写


        空格处理:
          

ljust:ljust(10, '+')      # Monday++++
             rjust:rjust(10, '+')     # ++++Monday
             center:center(10, '.')     # ..apple...
             lstrip:去掉左边空格
             rstrip:去掉右边空格
             strip:去掉两边空格


        字符串拼接:join(用什么符号来连接,连接哪的符号)
        
        ASCLL:
            ord():得到对应的编码
            chr():根据编码获取对应的字符

列表推导式:
    语法一:列表名=[ 元素 for i in range(范围)  if  条件语句  ]    #if条件语句可无,还有这里的元素可以是一个数组
    
    语法二:points = [(i,j) for i in range(7,9) for j in range(13,15)]
                 print(points)

列表的复制:单层列表的copy修改原值时,copy的列表不变。多层列表的copy修改原值时,多层中的单层元素copy的列表时不变,但多层中列表copy的值会变
""

列表与元组的转变:
    列表转元组:tuple(列表名)
    元组转列表:list(元组名)    

字典:
    语法:字典名={ "key”:“value","key”:“value"}  #这里的key不可重复,通过key来访问
    添加:字典名[ “key"  ]="value"       #有就修改,没有就添加
    删除某个元素:字典名.pop("key")
    清空:字典名.clear()
    查找:
        语法一:字典名["key"]        #没有会报错
        语法二:字典名.get("key","默认值")    #没有就输出默认值

    遍历:
        语法 一:for…in 循环,获取到 key 。
        语法二:获取到所有的 key,然后再遍历 key ,根据 key 获取 value 。
        语法三:获取到所有 value 。(缺点:只能拿到value,拿不到key)
        语法四:使用 items() 方法。
      

for k,v in 字典名.items():
                 print(k,"=",v)

字典推导式:

dict1 = {v:k for k,v in dict1.items() .} #例如key和value相互交换
     print(dict1)

集合:
    特点:无效(没有先后关系),不重复
    方法:
         add 添加一个元素
         pop 随机删除其中的一个元素
         remove 删除指定的元素
         update 方法是将新的集合拼接到原集合中。
         union 方法是将多个集合合并,生成一个新的集合。
         clear 清空一个集合
    注: {} 表示的是空字典,空集合使用 set() 来表示。

    集合的算术运算符:
        支持 – 法,相当于求差集。
        可以使用 & 运算符,相当于求交集。
         可以使用 | 运算符,相当于求并集。
        可以使用 ^ 运算符,相当于求差集的并集。(就是只有一个集合有的元素)

函数:
    定义函数:
        def 函数名(参数):
            执行代码
    函数中定义全局变量:
        global 变量名

    查看 局部变量 和 全局变量:globals() 和 locals() 
    

 内置函数总结 
      filter(a ,b ) 过滤器,输出b中满足a的所有值
      map(a,b)   引式,对b中的数通一做a操作
      reduce(a,b)   对b中的元素做a操作
     any 只要有一个元素转为布尔值为真,则返回 True ,否则返回 False。
     bin 将数字转换为 二进制。
     chr 将字符编码转为 对应的字符。
     ord 与 chr 相反,将 字符 转化为 对应的编码。
     dir 列出对象的 所有属性 和 支持的方法。
     divmod 求两个数相除的商和余数。
     eval 执行字符串里的python代码。
     exit 退出程序以指定的退出码结束程序。
     globals 用来查看所有的全局变量
     locals 用来查看所有的局部变量
     help 用于打印帮助文档。
     oct 将数字转换为 8 进制。
     hex 将数字转换为 16进制。
     id 获取一个数据的内存地址。
     print 打印数据。
     input 让用户输入内容。
     isinstance 判断对象是否是由一个类创建出来的。
     issubclass 判断一个类是否是另一个类的子类。
     len 获取长度
     iter 获取可迭代对象的迭代器。
     next : for…in循环的本质就是调用迭代器的 next 方法。
     max :最大值
     min :最小值
     open : 用来打开一个文件。
     pow : 求幂运算
     round : 用于四舍五入 保留到指定的小数位。
     sort : 排序
     sum : 求和
     repr : 把一个对象或变量 转化为 字符串 类型保存
    
    输入函数(得到的是一个字符串):input()
    保留小数:"{:.2f}".format(保留的数)
    用空格切割小数:数.split()
    随机数的产生:random.randint(几,到几)

面向对象(有self):
    1.调用__new__方法,用来申请内存空间;
    2.调用__init__方法,并让 self 指向申请好的那段内存空间;
    3.__slots__方法:设置规定属性,不能随意增加其他属性
    4.__str__方法:是打印对象是放回的值
    

    内置属性:
        1.dir(对象名):将对象支持的所有属性和方法; 

    私有属性:
        定义:名字前加一个”_ _“
        调用:
            1.对象名._类名__私有变量名:以两个下划线开始的变量是私有变量。一般只在类的内部使用,可以定义为私有变量
            2.对象名._类名__私有方法名:
    类方法(cls):
        定义:@classmethod
        调用:类名.类方法名 

    静态方法:
        定义:@staticmethod
        调用:类名.静态方法名

继承:
    封装:就是打包。 函数是对语句的封装。 类是对函数和变量的封装。
     继承:类和类之间认为手动的建立父子关系,父类的属性和方法子类可以使用。
    多态:是一种技巧。提高代码的灵活度。

     继承的基本使用:
        Dog类是Animal类的子类
        Animal类是Dog类的父类
        Dog类从Animal类继承
        Dog类是Animal类的派生类
        Animal类是Dog类的基类
        Dog类从Animal 类派生

    可以重写:
        覆盖:完全不一样
        调用super()方法来扩展:父类方法实现的基础上有更多的实现时