美文网首页
2019-03-06 python1

2019-03-06 python1

作者: run_a_way | 来源:发表于2019-03-06 20:57 被阅读0次

    难点

    python
    yield
    设计模式:工厂模式、单例模式
    闭包、装饰器
    进程池pool

    蓝图
    孤儿进程、僵尸进程

    高级编程todo

    CGI
    mysql
    mongodb
    json
    smtp邮件
    网络编程
    多线程
    xml

    标准库todo

    os:操作系统接口
    glob:文件通配符
    re:正则
    math:数学
    urlib:互联网
    datatime:日期和时间
    zlib:数据压缩
    timeit:性能度量
    doctest、unittest:测试

    环境:anaconda

    中文:# -- coding: UTF-8 --
    多行:multiline="hello
    world
    !"
    标准数据类型:数字、字符串、元组
    列表、字典、集合
    元组(),列表[]
    运算符:算术、比较、赋值、逻辑(and\or\not)、位、成员(in\not in)、身份(is\not is)、优先级

    数字

    数学函数:abs、ceil、cmp、exp、fabs、floor、log、log10、max、min、modf、pow、round、sqrt。
    随机数函数:choice、randrange、random、seed、shuffle、uniform。
    三角函数:
    数学常量:pi、e

    字符串

    转义字符:
    字符串格式化:
    三引号可以字符串跨行。
    字符串内建函数:capitalize、center、count、bytes.decode、encode、endswith、expandtabs、find、index、isalnum、isalpha、isdigit、islower、isnumeric、isspace、join 、len...

    列表

    函数:max、min、len、list(元组)
    方法:append、count、extend、index、insert、pop、remove、reverse、sort、clear、copy。

    字典

    集合

    操作:add、remove、clear

    other

    end关键字
    for循环:

    for i in range():
    

    *迭代器生成器*

    >>>list=[1,2,3,4]
    >>> it = iter(list)    # 创建迭代器对象
    >>> print (next(it))   # 输出迭代器的下一个元素
    1
    >>> print (next(it))
    2
    >>>
    
    #!/usr/bin/python3
     
    list=[1,2,3,4]
    it = iter(list)    # 创建迭代器对象
    for x in it:
        print (x, end=" ")
    

    def函数

    定长参数:
    不定长参数:

    # 可写函数说明
    def printinfo( arg1, *vartuple ):
       "打印任何传入的参数"
       print ("输出: ")
       print (arg1)
       print (vartuple)
     
    # 调用printinfo 函数
    printinfo( 70, 60, 50 )
    
    # 可写函数说明
    def printinfo( arg1, **vardict ):
       "打印任何传入的参数"
       print ("输出: ")
       print (arg1)
       print (vardict)
     
    # 调用printinfo 函数
    printinfo(1, a=2,b=3)
    >>> 
    1
    {'a':2,'b':3}
    

    匿名函数lambda:

    # 可写函数说明
    sum = lambda arg1, arg2: arg1 + arg2
     
    # 调用sum函数
    print ("相加后的值为 : ", sum( 10, 20 ))
    print ("相加后的值为 : ", sum( 20, 20 ))
    

    作用域:局部变量、全局变量

    数据结构

    数组(列表实现)
    堆(列表实现)
    队列(列表实现)

    >>> from collections import deque
    >>> queue = deque(["Eric", "John", "Michael"])
    >>> queue.append("Terry")           # Terry arrives
    >>> queue.append("Graham")          # Graham arrives
    >>> queue.popleft()                 # The first to arrive now leaves
    'Eric'
    >>> queue.popleft()                 # The second to arrive now leaves
    'John'
    >>> queue                           # Remaining queue in order of arrival
    deque(['Michael', 'Terry', 'Graham'])
    

    列表推导式:

    >>> [[x, x**2] for x in vec]
    [[2, 4], [4, 16], [6, 36]]
    

    del
    字典遍历

    >>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}
    >>> for k, v in knights.items():
    ...     print(k, v)
    ...
    gallahad the pure
    robin the brave
    

    zip:

    >>> questions = ['name', 'quest', 'favorite color']
    >>> answers = ['lancelot', 'the holy grail', 'blue']
    >>> for q, a in zip(questions, answers):
    ...     print('What is your {0}?  It is {1}.'.format(q, a))
    ...
    What is your name?  It is lancelot.
    What is your quest?  It is the holy grail.
    What is your favorite color?  It is blue.
    

    模块

    name属性:

    一个模块被另一个程序第一次引入时,其主程序将运行。
    如果我们想在模块被引入时,模块中的某一程序块不执行,
    我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。
    #!/usr/bin/python3
    # Filename: using_name.py
    
    if __name__ == '__main__':
       print('程序自身在运行')
    else:
       print('我来自另一模块')
    运行输出如下:
    
    $ python using_name.py
    程序自身在运行
    $ python
    >>> import using_name
    我来自另一模块
    >>>
    

    dir()

    输入输出

    repr():

    >>> #  repr() 函数可以转义字符串中的特殊字符
    ... hello = 'hello, runoob\n'
    >>> hellos = repr(hello)
    >>> print(hellos)
    'hello, runoob\n'
    

    rjust:

    >>> for x in range(1, 11):
    ...     print(repr(x).rjust(2), repr(x*x).rjust(3), end=' ')
    ...     # 注意前一行 'end' 的使用
    ...     print(repr(x*x*x).rjust(4))
    ...
     1   1    1
     2   4    8
     3   9   27
     4  16   64
     5  25  125
     6  36  216
     7  49  343
     8  64  512
     9  81  729
    10 100 1000
    

    {0:2d}

    >>> for x in range(1, 11):
    ...     print('{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x))
    ...
     1   1    1
     2   4    8
     3   9   27
     4  16   64
     5  25  125
     6  36  216
     7  49  343
     8  64  512
     9  81  729
    10 100 1000
    

    zfill()

    >>> '12'.zfill(5)
    '00012'
    >>> '-3.14'.zfill(7)
    '-003.14'
    >>> '3.14159265359'.zfill(5)
    '3.14159265359'
    

    str.format():

    >>> print('{}网址: "{}!"'.format('菜鸟教程', 'www.runoob.com'))
    菜鸟教程网址: "www.runoob.com!"
    >>> print('{0} 和 {1}'.format('Google', 'Runoob'))
    Google 和 Runoob
    >>> print('{1} 和 {0}'.format('Google', 'Runoob'))
    Runoob 和 Google
    >>> print('{name}网址: {site}'.format(name='菜鸟教程', site='www.runoob.com'))
    菜鸟教程网址: www.runoob.com
    >>> import math
    >>> print('常量 PI 的值近似为 {0:.3f}。'.format(math.pi))
    常量 PI 的值近似为 3.142。
    
    在 ':' 后传入一个整数, 可以保证该域至少有这么多的宽度。 用于美化表格时很有用。
    >>> table = {'Google': 1, 'Runoob': 2, 'Taobao': 3}
    >>> for name, number in table.items():
    ...     print('{0:10} ==> {1:10d}'.format(name, number))
    ...
    Runoob     ==>          2
    Taobao     ==>          3
    Google     ==>          1
    

    读写

    read、readline、readlines、tell、seek、close

    # 打开一个文件
    f = open("/tmp/foo.txt", "w")
    
    f.write( "Python 是一个非常好的语言。\n是的,的确非常好!!\n" )
    
    # 关闭打开的文件
    f.close()
    
    str = input("请输入:");
    print ("你输入的内容是: ", str)
    

    picle序列与反序列化

    os文件/目录方法

    私有变量、私有方法

    相关文章

      网友评论

          本文标题:2019-03-06 python1

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