python--基础00


eval(str )    用来计算在字符串中的有效Python表达式,并返回一个对象

将字符串形式的数据,转换为原本的类型

    str='3.14'
    str2 = "[10, 20, 30]"
    print(type(eval(str)))    # <class 'float'>
    print(type(eval(str2)))   # <class 'list'>

       / 除
        // 取整数
        %取余数
        ** 指数

字符串常用操作
        find      index    replace     split    strip   isdigit    isalnum   isalpha
列表常用操作
        append,    extend(整表添加), insert(m,n)下标m前面插入n
        del     pop    remove    index   count   in    not in 
        sort   remove 
字典常见操作 键是唯一的,是不可变类型
        del clear 
        len, keys,values items 
集合操作
        add添加元素, update拆分元素添加
        remove pop  discard(有删除,没有不操作)
        &  |
函数类型
        无参数,无返回值, 
        无参数,有返回值
        有参数,无返回值
        有参数,有返回值
    函数内部
        global 的使用

Python中函数参数是,引用传递rrrrrrrrr
    可变类型有: 列表、字典、集合
    不可变类型有: 数字、字符串、元组
    不仅要避免函数名之间不能相同,还要避免 变量名和函数名相同的,否则都会出现问题
    函数名和变量名不能相同
递归函数
    一个函数内部不调用其他函数,而是自己本身

匿名函数 lambda , 函数传参, 字典排序舅婆
    如sum = lambda arg1,arg2: arg1+arg2
    列表里面放字典 , 排序
    list_havedict.sort(key=lambda x:x['name'])
列表推导式
    [i for i in range(3,12) if ... else j for j in range(1,3)]
os模块
    os.rename(old_filename, new_filename)
    os.remove(filename)
    os.mkdir('')
    os.getcwd()
    os.chdir('../')
    os.listdir('./')
    os.rmdir('')
面向对象
    数据和函数绑定到一起, 进行封装, 更快速的开发, 减少代码的重写
    __str__   __new__  __init__  __del__
    继承
        类名.__mro__  属性和方法查找顺序
        子类重写父类方法, 但是别的方法中又要用父类的方法, 
        父类名.方法(参数)
        super().方法()
    三大特性
        封装,继承,多态
    静态方法,类方法,实例方法
        实例方法的调用需要使用实例对象, ,直接用实例对象调用或者传参形式
        self可以引用实例方法实例属性,类方法类属性,静态方法
        cls可以引用类方法类属性
        静态方法没参数, 
    单例
        某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例
        __new__
        至少要有一个参数cls,
        必须要有返回值
                可以return父类__new__出来的实例,或者直接是object的__new__出来的实例

    自定义异常
        自定义类继承Exception
        使用自定义的异常类里面 raise 异常类

    模块中的__all__=['','',...]  
         from xx import * 只会导入这个模块中的元素
    
    python中的包中
        需要__init__.py 文件, 文件里面有__all__=[], 
            导包时候包里面的文件才可以被from xx import *, 导入 
        __init__.py 控制着包的导入行为
        __init__.py为空, 仅仅是把这个包导入,不会导入包中的模块
        定义一个__all__变量,它控制着 from 包名 import *时导入的模块
        .
            newwsg
                recvmsg.py    >>test1()>>print(1)
                sendmsg.py    >>test2()>>print(2)
        没有__init__   pyhton2导入不成功, python3可以导入,不能使用
        有了__init__   newwag文件夹是一个包
            pyhton2可以导入,不能使用, python3可以导入,不能使用
        >>python2解决, __init__中写入   import 文件名
        >>python2,3 ----                 form . import sendmsg 

硬件 >> 输入,输出,外存储 | 运算, 控制, 内存储
软件, 硬件上第一层系统软件, 然后应用软件

os 模块 
     系统编程模块, 可以处理文件和目录
         os.remove(filename), os.rename(old_filename, new_filename), 
         os.mkdir('./folder'), os.chdir('../'), os.listdir('/'), os.rmdir('floder_name'), os.getcwd()
     查看路径    
         base_dir = os.path.dirname(os.path.abspath(__file__))
     路径拼接
         sys.path.insert(0, os.path.join(base_dir, 'apps'))

扫描二维码关注公众号,回复: 2951024 查看本文章

sys 模块
    提供常量、函数、python解释器方法
    sys.argv 
        命令行参数列表
        实现程序外部向程序内部传递参数
        // python ./filename hello world
            sys.argv[0]: filename
            sys.argv[1]: hello
            sys.argv[2]: world
    sys.path 模块目录列表

    sys.sedout.write()  //print的实现

    手写列表推导式
        list = [x for x in range(1,10)

函数传参顺序
    func(a, *args, b=2,c=3, **kwargs):


cerely :
    分布式任务队列
    基于python开发
    异步任务
    可以看作是生产者, 多个消费者, broker(中间人)组成的分布式工作小组
    另外beat负责任务调度

docker :
    开源的容器虚拟化平台
    采用的是C/S架构, Docker的客户端和Docker的守护进程进行通讯, 
    Doker的守护进程处理较为复杂的任务,如建立、运行、发布你的 Docker 容器
    Docker的客户端和守护进程之间通过socker或者RESTfulAPI进行通信
    1 Docker的守护进程,
    2 Docker的客户端
    3 DOcker的内部
        镜像, 仓库, 容器

猜你喜欢

转载自blog.csdn.net/SkyJianWei/article/details/82120165