zoukankan      html  css  js  c++  java
  • python2.0 s12 day2

    s12 day2 视频每节的内容

    05 python s12 day2 python编码
     
      1.第一句python代码
        python 执行代码的过程
        文件读到内存 分析内容 编译字节码  转换机器码 cpu调用
     
      2.python解释器 
        执行时加python  python hello.py
        或者在文件头写入#/usr/bin/env python3.5
        ./hello.py
     
      3.python的版本
        cpy
        jpy
        pypy 这个和其他的不同之处,在于编译时先编译成字节码,转换成机器码是在编译时做的,执行时cpu直接调用机器码。
        其他python是编译时,只编译成字节码,执行时先转换成机器码,然后cpu调用。所以pypy同其他版本的py,程序运行时要快。
     
      4.python内容编码问题
        字符编码的种类,8位表示1个字符 (8位一个字节)
        asicii码 8位表示1个字符,可以表示256个字符
        unicode  至少16位(至少2个字节) 表示一个字符
        utf-8 是对unicode的 一个优化,如果字符属于以前ascii码表示的字符,都按照8位存,如果是欧洲一些字符用16位存(2个字节),汉字用24位存(3个字节)
     
    06 python s12 day2 接收执行参数
     
      1注释
        单行注释
        多行注释
      2.执行脚本传入参数
        使用sys模块
        import sys  
        sys.argv
     
    07 python s12 day2 Python字符串原理剖析
     
      1.pyc文件
        执行python代码时,如果导入了其他的.py文件,那么,执行过程中会自动生成一个与其同名的.pyc文件(字节码文件),该文件就是python解释器编译后的字节码文件。.pyc文件存在了,把原文件删掉了,程序也可以执行,因为python优先找.pyc文件,如果没找到先生成在执行。python内部有检测文件与.pyc文件的一致性。
        注释:代码经过编译可以产生字节吗;字节码通过反编译也可以得到代码
     
      2.变量
        变量命名
        变量的作用
        缓冲池:python内部有缓冲机制。减少内存负担
        缓冲池:python中对数字和字符串的一个机制,当数字小于257时(大于或等于就超出了),多个变量引用这个数字时,python指引到一个内存块,当超过257时,python将不指向这个内存块。字符串同样有一个临界值。(这个值怎么定义的,不清楚。知道有临界就行。)
          数字举例:
          >>> i1 = 7
          >>> i2 = 7
          >>> id(i1)
          140348026316520
          >>> id(i2)
          140348026316520
          >>> i3 = 257
          >>> i4 = 257
          >>> id(i3)
          140348026351544
          >>> id(i4)
          140348026351520
              >>>
            这个缓冲区的作用是提高内存的利用率和执行效率。i1 = 7 ,i2 = 7理论上需要分配到两块内存块中,python为了提高效率做了一个优化指向同一块内存,将一些常用类型的数据的值放到缓冲区,提供了这么一个缓冲机制。把python认为常用的放到缓冲池中。
     
      3.输入输出
        input()
        #当我们输入密码时,不希望显示出来,可以导入python的getpass模块来实现
        import getpass
        pwd = getpass.getpass(“请输入您的密码:”)
        print(pwd)
     
      4.流程控制
        if...else...
        while 
     
      5.基本的数据类型
        1)数字
          int(整型)
          long 长整型
          float 浮点型
          complex 复数 (基本用不到)
        2布尔值
          真或假
          1或0
        3字符串
          字符串原理
     
    08 python s12 day2 基本数据类型常用方法
          字符串的3种格式化方法
          万恶的+
          字符串常用功能:
          移除空白 .strip()
          分割 str.split()
          长度 len(str)
          索引 str[0]
          切片
        4列表
          创建列表的2种方法:
            a = [‘x’,’y']
            a = list(('x','y’))
          列表的常见方法:
            索引
            切片
            追加 list.append()
            删除 list.pop() list.remove() del
            长度 len(str)
            循环 for,while
              continue;break;pass;return;exit(0,1,2..)
            包含  x in list
        5元祖
          元祖的元素不可修改
            (11,22,33)
            (11,22,{’k1’:’v1'})
          元祖的元素如果是一个字典,字典是可以修改,但不能删除
            a = (11,22,{'k1':'v1’})
            a[2]['k2'] = ‘v2’
            a
            (11, 22, {'k2': 'v2', 'k1': 'v1’})
          其他的功能和列表一样
        6)字典
          创建字典的两种方式:
            a = {‘k1’:’v1’,’k2’:’v2'}
            a = dict(‘k1’=‘v1’,’k2’=‘v2’)
          字典的常用方法:
            索引 d[key]
            新增 d[key] = xx
            删除 del d[key]
            键、值、键值对
              keys values items
            循环
              for k,v in dic.items()
            长度
      6.运算符
    09 python s12 day2 上周作业实例分析
    直播里看过了,此节跳过
     
    10 python s12 day2 Python主文件判断
     
      1.主入口文件
        使用文件的__name__ == ‘__main__’ 属性判断,如果不是主程序文件则显示 文件名是不带.py
     
    11 python s12 day2 一切事物都是对象
      1.类的简单介绍
        1)对于python ,一切事物都是对象,对象基于类创建
        创建对象,对象中有很多方法。创建对象时,并不是在对象中同时 创建了方法。而是实例化类时创建了对象,并告诉这个对象,你是我这个 类的儿子老子这里有很多功能,你记住这些功能集合的列表的内存地 址,回头就根据这个内存地址首先找到功能集合列表,根据集合的内容去 找里面的方法。    
      还可以这样理解:

               类创建对象:创建了对象和给对象一个指引到类的指引标志。告诉类,如果用类的某些功能,通过这个指引标记找到类,类来执行。

        2)python来说所有事物都是对象
          对象是基于类创建的
          对象具有的所有的功能都是根据内存地址去类中找的。调用类里面的成员。
        3)查看类的方法
          type()方法查看类型
          dir()查看有哪些方法
          help()查看详细的方法
     
    12 python s12 day2 int内部功能介绍
      按照类的方式来看看数据类型
        type()查看对象的类型
        如果是内置的类,直接显示对象类型
        如果是安装的外部包,查看对象类型显示的是那个类在什么位置
        >>> from twisted.internet import reactor
        >>> print type(reactor)
        <class 'twisted.internet.selectreactor.SelectReactor'>
      1.整数类 int
        a = 18
        bit_length()二进制位的长度s
        a.__abs__()绝对值,因为是比较常用的功能,并且方法又是带下划线的,python就把这个功能放到内置函数里面里了。所以就有了abs()
        abs(-19) abs()内部做两件事,先是拿到这个数字创建int对象,然后调用这个对象的.__abs__()
        a.__add__() 同__abs__,而且python在语法堂中定义成1+1,内部就是拿前面一个数字创建对象,然后调用__add__()
        a.__cmp__ 比较,python3.5里就没有了
        a.__and__
        a.__bool__
        a.__divmod__这个有用,用于得到商和余数
          >>> divmod(8,2) 
          (4, 0)
        a.__eq__()是否相等
        a.__flot__()转换成浮点型 
        a.__floordiv__()地板除,语法堂 5//6
          >>> a.__floordiv__(6) 
          0
        a.__ge__() 大于等于返回True,>=
        a.__hash__()创建对象时有一个哈西值
     
    13 python s12 day2 float和long内部功能介绍
      2.flot浮点型和int类似 
        .as_integer_ratio 就这一个怪异的,把浮点型转化成最简比的分数比如0.5转成1/2
        long长整型 和int类似的
    14 python s12 day2 str内部功能介绍一
      3.字符串
        1)所有语言百分之八十都是对字符串和集合的操作
        2)str的常用操作
          a = ‘eric’
            使用dir(a)查看字符串有哪些成员。
            这里我们首要关注成员里的方法
            用到模块的时候用vars()不仅列出成员,成员值也列出来
          a.__contains__(‘er’) 包含返回true 语法堂 ‘er’ in a
          a.__eq__() 字符串的相等 语法堂 ==
          __format__ 字符串的格式化,
            >>>a = ‘eric{0}’
            >>>a.__format__(‘alex’)
            >>> a.format('alex’) 
            ‘alexalex'
          __getattribute__() 反射的时候会用到它,暂时到这这个方法 
          __getitem__() 类的时候用到。这个方法暂时到这 语法堂 str[0]
          a.capitalize()首字符大写了
            >>> a.capitalize()
             ‘Alex’
          a.casefold() 将大写字符变小些
            >>> a = 'alExV5'
            >>> a.casefold()
            ‘alexv5'
          a.center这个有用
            >>> print(8*'*',a,8*'*')
            ******** alExV5 ********用center可以实现
            >>> a.center(20) 
            '         alExV5         ‘ 
            >>> a.center(20,'*’)
             '*******alExV5*******’
          a.count(‘a')计算字符出现的次数。还可以定义起始位置和结束位置
          a.count(‘a’,0,10) 从位置0到为止10统计
          a.encode()将字符串转编码
            >>> a = '李杰’ 
            >>> a.encode('gbk’)
               b'xc0xeexbdxdc'
          a.endswith() 判断是不是以什么结尾的,如果是返回true,也可以加起始位置和结束位置,判断子序列是不是以什么结尾的
     15 python s12 day2 str内部功能介绍二
          a.expandtabs()将tabs转换成空格,默认情况下将一个tabs转换成8个空格
            >>> a = 'a lex’ 
            >>> a.expandtabs() 
            'a lex’ 
          a.find() 找某个字符,返回这个字符的位置,可以设置找的起始位置和结束位置,如果找的字符不存在,返回-1
          a.index() 也是找,和find的不同,找不到的时候直接抛出异常报错
          a.format() 就是做字符串格式化的,内部调用__format__()
            两种写法
            >>> a = "alex {0} as {1}” 
            >>> a.format('sb','eric’) 
            'alex sb as eric’ 
            >>> a ="alex {name} as {id}”
            >>> a.format(name='sb',id = 'eric’) 
            'alex sb as eric’ 
          isalnum()是否是字母或者数字
          isalpha()是否是字母
          isdecimal()是否是10进制小数
          isdigit()是否是数字
          isidentifier()是否是关键字
          islower()是否全部是小写
          isnumeric()是否是数字
          isprintable()是否可以打印,忽略
          isspace()是否是空格
          istitle()是否是标题,判断每一个字母首字母都是大写
          isupper()是否全部是大写
          ‘’,join(list) 拼接
          ljust() 和center功能相似,左对齐
          rjust()
          lower() 全部变成小写
          lstrip()
          maketrans()做一个对应表,和translate()结合使用,来做替换
          translate()
            >>> intab = 'abcde’ 
            >>> outtab = ‘12345'
            >>>trantab = ''.maketrans(intab,outtab)   
            >>> trantab
             {97: 49, 98: 50, 99: 51, 100: 52, 101: 53}
            >>> l_str = 'this is a ,that is bc'
            >>> l_str.translate(trantab)
            'this is 1 ,th1t is 23'
          partition() 做分割,把字符串分割成3部分
            >>> a = 'alexissb’ 
            >>> a.partition('is’)
             ('alex', 'is', 'sb’)
          replace()替换
          replace(‘old’,’new’,个数)
          rfind()从右向左找
          split()
          splitlines()根据行分割,没有它用split(‘ ')也能实现
          strip()
          startswith()以什么开头
          swapcase() 大小写转换
          title() 将字符串中所有的字母的首字母大写
          upper() 大写
          zfill() 
    16 python s12 day2 上下文管理剖析
      2.with的用法
        with open(‘h.log’,’r’) as f_read:
          f_readlines
        with 的意思是执行完后继续调用函数,原理如下:下面的语句不能执 行 哦,只是原理展示
        def f():
          print(‘11111’)   1.先打印1111
          yield 2.碰到 yield了,记录函数的位置,并跳出函数
          print(‘333333’) 4.with语句块执行完后在打印这个
        with f():
          print(‘我插一杠子’)  3.紧接着打印这句
    17 python s12 day2 list内部功能介绍
      3.
        1)列表的2种构建方式:
          li = list([1,2])
          li = [1,2,3]
        2)列表的常用方法:
          append() 尾部添加
          clear() 把列表清空
          copy() 拷贝浅拷贝
          count()  判断元素出现的次数
          extend() 扩展一个列表,参数可以是列表也可以是元组
            大家以后再写列表或者元组的时候一定在最后加一个逗号[1,2,3,] (1,2,3,)
          index() 查找返回下标,找不到抛异常,可以加查找起始位置 和结束位置
          insert() 插入指定位置,insert(0,’sb’)
          pop() 参数为下标位置,移除并返回元素值,下标位置不存在 时抛出异常,报错,
          remove() 参数为元素值,移除,不返回元素值,只返回执行状态,当参数 值不存在时,抛出异常
          reverse()反转,列表反转。
          sort() 按字符编码排序
    18 python s12 day2 tuple和dict内部功能介绍
      4.元组
        1)元组的2种创建方式
          t1 = (1,2,) 
          t1 = tuple((1,2)) 或 tuple([1,2])
        2)元组的常用方法:
          (略)
    19 python s12 day2 字典和列表课上练习题
      5.字典
        1)字典的2种创建方式
          a = {‘k1’,’v1’}
          a = dict(k1= 'v1’)
        2)字典的常用方法:
          clear()清空
          copy() 浅拷贝
          fromkeys()
            >>> a = a.fromkeys(['k1','k2'],'v1')
            >>> a
            {'k2': 'v1', 'k1': 'v1’}
          get()方法获得值,如果参数key不存在,返回空值
          a.values()
          a.keys()
          a.items()
          a.pop()删除,参数key,删除并获得value
          a.popitem() 删除随机删除键值对,没用
          setdefault(k,v) 两个参数,如果k键存在,则返回值,如果不存在将加入字典,并且值为’v’
          update() 
    完结!!!
  • 相关阅读:
    IoC之Ninject
    C#中的扩展方法
    Office 2016 Pro Plus Project 专业版 Visio 专业版 64 位vol版本方便KMS小马oem
    Microsoft Office 2016 简体中文 Vol 版镜像下载
    svn 被锁住 冲突 Can't revert without reverting children
    定时检查服务批处理,发现服务停止立即启动服务
    C++中关于[]静态数组和new分配的动态数组的区别分析
    IP地址与无符号整数值相互转换
    算法:整数与ip地址转换
    将字符串表示的IP地址转变为整形表示
  • 原文地址:https://www.cnblogs.com/zhming26/p/5386489.html
Copyright © 2011-2022 走看看