• Python基础


    变量名与赋值:变量名只能是字母、数字或下划线的任意组合,变量名的第一个字符不能是数字,关键字不能声明为变量名

    常用数据类型:

    整型:布尔型,标准整型,长整型

    非整型:双精度浮点型,复数,decimal(不是内建类型)

    序列类型:字符串,元组(tuple),列表(list)

    映像类型:字典(dict)

    type(a)查看变量a的类型

    不可变数据类型:数字类型,不可变集合,字符串,元组(tuple)

    可变数据类型:字典(dict),列表(list),可变集合(set)

    流程控制:

    if…else

    while…

    for…

    break…

    continue…

    用户交互:

    raw_input()和input()的区别

    exec()和eval()函数:

    eval()将字符串类型的代码执行并返回结果,print(eval('1+2+3+4'))

    exec()将自字符串类型的代码执行,exec("print('hello,world')")

    字符串常用功能:

    移除空白 strip()

    分割 split()

    长度 len(obj)

    索引 obj[]

    切片 obj[1:],obj[1:10]

    join()函数:

    连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串

    获取list中指定元素的下标值:

    #!/usr/local/bin/python
    #_*_ coding:utf-8 _*_
    a=[1,2,3,4,5,6,7,8,1,2,3,4,5,6,1,2,3,4,5]
    pos=0
    for i in range(a.count(2)) :   #先找出一共有多少个2,有多少就循环多少次
        if pos == 0 :                
            pos = a.index(2)
        else : 
            pos = a.index(2,pos+1)
        print pos

    dict,list,set区别:

    dict:查找和插入的速度极快,不会随着key的增加而增加。需要占用大量的内存,内存浪费多。KEY不可变。默认无序

    list:查找和插入的时间随着元素的增加而增加。占用空间小,浪费内存很少。通过下标查询。有序

    set:无序,不重复

    Python计数器:

    import collections
    obj = collections.Counter('sdfasdfasdfsdfqwerqw')
    print(obj)
    ret = obj.most_common(4)
    print(ret)

    enumerate()函数:

    取得位置索引和相应的值

    #!/usr/bin/python

    for i,v in enumerate(['tic','tac','toe']):

        print(i,v)

    for i,v in enumerate(['tic','tac','toe'],1):

        print(i,v)

    文件处理:

    f.read()与f.readline()与f.readlines()与f.xreadlines()区别

    read()方法用于直接读取字节到字符串中,可以将参数给定最多读取的字节数,如果没有给定,则文件读取到末尾

    readline()方法读取打开文件的一行(读取下个行结束符之前的所有字节),然后整行,包括行结束符,作为字符串返回

    readlines()方法读取所有行然后把它们作为一个字符串列表返回

    xreadlines()返回一个生成器,来循环操作文件的每一行

    f.write()与f.writelines()

    write()将字符串写入文件中

    writelines()接收一个字符串列表作为参数,将他们写入到文件中,换行符不会自动加入,需要显示加入换行符

    f.seek(64) 指定当前指针位置

    f.tell() 查看当前指针位置

    深浅拷贝:

    对于数字和字符串而言,赋值、浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址

    对于字典、元组、列表而言,进行赋值、浅拷贝和深拷贝时,其内存地址的变化是不同的

    浅拷贝,在内存中只额外创建第一层数据

    深拷贝,在内存中将所有的数据重新创建一份(排除最后一层,即:python内部对字符串和数字的优化)

    lambda表达式,map(),reduce():

    Lambda表达式

    temp = lambda x,y:x+y

    print temp(4,10)

    map()对所有元素进行统一操作

    reduce()用来进行累计操作,累加,累减,累乘等

    通用模块:

    要想当成一个模块使用,文件夹下必须有__init__.py

    是否为主文件:if __name__ == '__main__ '

    当前文件路径:__file__

    当前文件描述:__doc__

    random模块

    md5模块

    序列化和json:dumps,loads

    re正则表达式:

    match()函数只检测RE是不是在string的开始位置匹配,search()会扫描整个string查找匹配

    re.split()将匹配到的格式当做分割点对字符串分割成列表

    re.findall()找到所有要匹配的字符并返回列表格式

    时间模块:

    print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())

    print datetime.datetime.now().strftime("%Y_%m_%d_%H_%M_%S")

    sys模块:

    sys.argv 命令行参数List,第一个元素是程序本身路径

    sys.exit(n) 退出程序,正常退出时exit(0)

    os模块

    shutl模块:高级的文件、文件夹、压缩包处理模块

    configparser模块:用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为configparser

    subprocess模块:运行一个外部的程序,subprocess.Popen(...)用于执行复杂的系统命令

    logging模块

    面向对象:

    Class类

    Object对象

    Encapsulation封装

    Inheritance继承

    Polymorphism多态

    接口

    单例模式

    单例模式用来保证内存中仅存在一个实例
    ##单例定义
    class Foo(object):
        __instance = None
        @staticmethod
        def singleton():
            if Foo.__instance:
                return Foo.__instance
            else:
                Foo.__instance = Foo()
                return Foo.__instance
    ##获取实例
    obj = Foo.singleton();

    反射:

    以字符串的形式导入模块:

    temp = 'mysqlhelper'

    model = __import__(temp)

    model.count()

    以字符串的形式执行函数:

    temp = 'mysqlhelper'

    func = 'count'

    model = __import__(temp)

    Function = getattr(model, func)

    print Function()

    socket编程:

    SocketServer是python的一个网络服务器框架,可以减少开发人员编写网络服务器程序的工作量

    异常处理:

    try:
        pass
    except xxxExcept,e:
        pass
    except Exception,e:
        pass
    else:
        pass
    finally:
        pass
    
    class MyError(Exception): 
        def __init__(self,msg): 
            self.Message = msg 
        def __str__(self): 
            return self.Message 
    try: 
        a = 1 
        raise MyError('卧槽') 
    except Exception,e: 
        print e
    
    断言
    assert(1==1)
  • 相关阅读:
    SQL 通配符
    正则表达式
    与运算(&)、或运算(|)、异或运算(^)、右移运算符(>>>)本质介绍
    博客园博客目录自动生成(页面目录)
    Linux查看并杀死被占用的端口
    Eclipse的环境配置
    L-Rui
    Web页面弹出窗口代码大全
    linux-用户
    linux-网络
  • 原文地址:https://www.cnblogs.com/allenhu320/p/11314267.html
Copyright © 2020-2023  润新知