python入门-语法介绍

python入门-语法介绍

数据类型

  • 整数: 无范围限制
  • 浮点数: 超出范围用科学计数法表示
  • 字符串:''"" 括起来的文本
  • 布尔值:TrueFalse表示, 用 andornot进行运算
  • 空值: 空值是一个特殊的值,用 None 表示,不能理解为0
  • 常量: 变量名全部大写,python中没有机制保证常量的值不被改变
  • list: 有序集合,常用操作有pop()append()
  • tuple: 有序集合,一旦初始化就不能修改
  • dict:
  • 使用键值对(key-map)的存储格式
  • 通过哈希算法(Hash)计算存储位置,因此具有极快的查找速度
  • 需要占用大量内存,内存浪费很多。是一种用空间来换取时间的方法
    dict = {'Michael': 95, 'Bob': 75, 'Tracy': 85} #初始化
    dict['Lucy'] = 67
    'Thomas' in dict #判断key是否存在
    dict.get('Thomas', -1) #如果不指定返回值,则返回None
    dict.pop('Bob') #删除key,对应的value也会被删除
  • set:
  • set和dict类似,也是一组key的集合,但不存储value
  • 在set中没有重复的key,重复元素在set中自动被过滤
  • set是无序的
    set = set([1, 2, 3]) #要创建一个set,需要提供一个list作为输入集合
    set.add(4) #添加元素
    set.remove(4) #删除元素

字符编码

  • 字符串类型是 str,在内存中以Unicode表示,以字节为单位的bytes在网络上传输或者保存到磁盘上,如x = b'string'
    ord('s') #获取字符的整数表示
    chr('64') #把编码转换为对应的字符
    len('string') #计算字符长度,对于bytes型数据,计算的是字节长度
    'string'.encode('utf-8') #编码
    b'string'.decode('utf-8', errors='ignore')  #解码

函数

对于任意函数,都可以通过类似func(*args, **kw)的形式调用它,无论它的参数是如何定义的。

  • 必选参数:
    def power(x):
        pass
  • 默认参数:放在必选参数后面,默认参数必须指向不变对象
    def power(x, n=2):
        pass
  • 可变参数:在函数调用时,自动组装为一个tuple
    def calc(*numbers):
        pass
  • 关键字参数:函数内部自动组装为一个dict
    def person(name, age, **kw):
        pass
    person('Adam', 45, gender='M', job='Engineer')
  • 命名关键字参数
    def person(name, age, *, city, job):
        pass
    person('Jack', 24, city='Beijing', job='Engineer')

高级特性

  • 切片
	s = 'string'
	s[开始索引, 结束索引]
  • 迭代(iteration)
for x, y in []
  • 列表生成式
[ 生成式 循环 (循环) (条件判断) ]
  • 生成器(generator):将列表生成器的 [] 改为() 或者 把函数中的print语句改为yield
  • 迭代器(iterator):
  • 可作用于for循环的对象都是iterable
  • 可作用于next()函数的对象都ierator
  • listdictstr是iterable但不是iterator

函数式编程

  • 高阶函数
  • list(map(函数, iterable))
  • reduce(函数, iterable)
  • list(filter(函数, iterable))
  • sorted(list、 key=, reverse=)
  • 以函数作为返回值
  • 匿名函数:lambda x, y : x*y
  • 装饰器
  • 偏函数: functools.partial()

面向对象

  • @property 装饰器负责把一个方法变成属性调用
  • 枚举
  • type()
  • metaclass 元类

IO操作

  • 读写文件
    with open('/gbk.tx', 'r', encoding='gbk', errors='ignore') as f:
        print(f.read())
  • 操作文件
  • 获取当前目录的绝对路径 os.path.abspath('.')
  • 合并路径 os.path.join(str, str)
  • 创建目录 os.mkdir(str)
  • 删掉目录 os.rmdir(str)
  • 拆分路径 os.path.split(str)
  • 获取文件扩展名 os.path.splitext()
  • 序列化 pickle.dumps()pickle.dump() 反序列化 pickle.loads()pickle.load()
  • json json.dumps()json.dump()

进程和线程

  • 获取子进程id os.getpid()
  • 获取父进程id os.getppid()
  • 创建进程 process =Process(target= , args= )
  • 启动进程 process.start()
  • 进程同步 process.join()
  • 创建进程池 pool = Pool(int)
  • 关闭进程池 pool.close()
  • 进程同步 pool.join()
  • 进程间通信 QueuePipes

猜你喜欢

转载自blog.csdn.net/qq_37055438/article/details/84451470