python-基础知识总结

1、数据类型:数字型(int,long,float,complex),布尔型(bool),字符串(str),列表(list),元祖(tuple),字典(dict),集合(set)

2、字符串格式化:
    1) 'Hello, %s' % 'world'
    2) 'hello {}'.format('kangkang')
    
3、字符串解码与编码
    1) 解码:decoding('utf-8') 默认是:utf-8
    2) 编码:encoding('utf-8')
    
4、list
    1) 定义方式:[]
    2) 操作方式
        1) 增:append("内容")末尾追加;insert("位置", "内容")指定位置追加
        2) 删:pop()删除末尾;pop(位置)删除指定位置的内容
        3) 改: list[下标] = 新内容
        4) 查: in, not in ; 下标(整数从前开始,负数从末尾开始)
        
5、tuple
    1) 定义方式:()
    2) 元祖只能查,方法和list一样
    3) 元祖拆包:        
    注:元祖拆包 a=(1,2)  c,d = a , c = 1 d = 2
    依此类推
        for A,B IN a :
            A = 1
            B = 2

6、dict
    1) 定义方式{key:value}
    2) 操作方式
        1) 增:dict[key]=value
        2) 删:del dict[key]
        3) 改:相同键名表修改
        4) 查:dict[key]没有报错,可以用in先做判断;dict.get(key)没有不会报错

7、set
    1)定义方式:{},如果要创建一个空集合,你必须用 set() 而不是 {}
    2)操作方式
        1) 增 add()
        2) 删 pop末尾,remove()指定
        3) 改 update({}或[])
        4) 查 for in

类型总结:
    1) 可变类型:list,dict,set
    2) 不可变类型:number, bool, str, tuple
    3) 作用:不可变类型可以作为键,可变类型不能作为键.
    4) 补充:type()可以测出变量类型,id()可以测出变量的地址
        
8、函数
    1) 定义: def func_name(形参)
    2) 调用:  func_name(实参)
    3) 型参类型:
        1) 默认参数:func_name(a,b=2),b是默认参数,必须放在必要参数的后面(不然会出问题,因为不知道参数是给默认参数还是必要参数)
           例:print('value',end="")不换行,end为默认参数'\n'
           注:有多个默认参数,可以指定为哪个默认参数指定值,可以通过参数名=值的方式调用
        2) 不定长参数:func_name(a,b,*args) *args 实参多于形参的个数都是它的(封装成元祖(注:一个元素的元祖是(a,)一定有逗号))
        3) 关键字参数:func_name(**kwargs) 带有变量名的参数
           调用方法:func_name(key=value) 如果key为必要参数,先满足必要参数。
        4) 命名关键字参数func_name(*,a,b)a,b为命名关键字参数
           调用方法:func_name(a = value, b = value)
        
        形参的定义顺序:必要参数,默认参数,不定长参数,命名关键字参数,关键字参数 (不定长参数和命名管家你参数不联用)
    4) 递归函数
    5) 匿名函数:
        1) 定义方式:lambda 形参:表达式  (默认返回表达式的值)
        2) 调用方式:可以将匿名函数赋值给变量,通过变量访问
    6) 值传递or引用传递?
        Python参数传递统一使用的是引用传递方式。因为Python对象分为可变对象(list,dict,set等)和不可变对象(number,string,tuple等),
        当传递的参数是可变对象的引用时,因为可变对象的值可以修改,因此可以通过修改参数值而修改原对象,这类似于C语言中的引用传递;
        当传递的参数是不可变对象的引用时,虽然传递的是引用,参数变量和原变量都指向同一内存地址,但是不可变对象无法修改,
        所以参数的重新赋值不会影响原对象,这类似于C语言中的值传递。
        
9、模块
    1) 一个py文件相当于一个模块
    2) 模块安装: pip install 模块名
    3) 导入模块:
        1)import 模块 调用:模块名.方法(或别的)例:import requests
        2)from 模块 import 方法  调用:方法(或别的)例:from lxml import etree
        3)from 模块 impory * ,不推荐,后面导入的会覆盖前面的
        4)import 模块 as 小名
    4) def _func_name() 以下划线开头的属性和方法是这个模块私有的
    5) __all__ = ["函数,变量,类···"] 在模块中可以指定那些东西能被外部调用
    
    6) 模块在解释的时候,模块会被翻译成字节码。后续不用重新翻译。
    7) __name__ 属性:通过命令执行时:为__main__ 模块导入引用是模块名
        
       所以在模块中if(__name__ == "__main__"):后面可以执行一些只在当前模块执行的代码,通常是测试代码。
    8) 标准模块写法:
        # -*-coding:utf-8-*-
        __author__ = 'author'

        import modules

        def main():
            pass

        if __name__ == '__main__':
            main()
            
10、类
    1) 类的定义:class 类名():
    2) 对象的声明:类名()
    3) 方法:
        1) __new__(),实例创建的时候调用
        2) __init__(),实例初始化用
        3) __del__(),实例销毁时候用
        4) 私有方法:def __func_name():
        5) 静态方法:正常方法加上@staticmethod
        6) 正常方法:def func_name():
        7) 类方法:正常方法上加@classmethod 用来修改类属性
    4) 属性:
        实例属性:
            1)定义方式: def __init__(self, name, sex):
                            self.name = name
                            self.sex = name
            2)私有属性: self.__name = name
            3)正常方法可以修改属性(类似java中get、set方法)
        类属性:
            1) 定义方式: class Student():
                            name = ''
                直接在类中定义
            2) 私有属性:__name = name
            3) 通过类方法修改
    5) 继承:
        1) 实现方式:class A(C)
        2) 支持多继承class A(B,C)
           注意:如果方法重名,首先调用自己的方法
           可以通过类名.__mro__的查看调用顺序
        3) 调用父类方法:可以通过类名加方法名
    6) 多态:
        1) 向上转型:子类对象先从父类对象继承,然后子类对象应用赋值给父类对象
        2) 向下转型:父类对象引用赋值给子类对象
        上述两条是java中的多态体现
        在python中不要求严格的继承关系,只要即在向上转型的过程中不要求子类必须继承自父类。
 
11、异常
    1) 定义方式:
        try:
        except 异常名字(多个异常用括号包起来):
        except Exception as exp捕获所有异常
            exp:异常信息
        else:
            没有异常时执行
        finaly:
    2) 自定义异常
        定义:从Exception(异常类)继承
        抛出:raise 自定义异常类
    3) 抛出异常:raise
    
12、IO操作
    1) 打开文件:open('文件名.后缀','操作符')
    2) 关闭文件:close()
    3) 读文件:read()防止内存奔溃;读行数据:readlines()全部行;readline 只读一行
    4) 写文件:write(); writelines()
        1) write()需要传入一个字符串做为参数,否则会报错
        2) writelines()既可以传入字符串又可以传入一个字符序列,并将该字符序列写入文件
    5) 文件定位:seek(offset,from)
                offset:移动距离
                from: 0:表示文件头
                       1: 当前位置
                       2:文件结尾
    6) 文件操纵:os模块
        1) 文件重命名:os.rename()
        2) 文件删除:os.remove()
        3) 删除文件夹:os.rmdir()
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值