Python技术分享

深入浅出学习Python

内置方法(一)

  • 当对对象按照字典操作时,会自动触发相关方法
  • 示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    class Person:
    # 当对象按照字典设置键值对时,会自动触发该方法
    def __setitem__(self, key, value):
    # print(key, value)
    self.__dict__[key] = value

    # 当对象按照字典操作根据键获取值时,会自动触发该方法
    def __getitem__(self, item):
    print(item)
    return self.__dict__[item]

    # 当做字典操作,删除键值对时,会自动触发该方法
    def __delitem__(self, key):
    del self.__dict__[key]


    p = Person()

    p['name'] = 'xiaoming'
    print(p.name)
    # 通过字典方式添加的键值对,可以通过属性的方式获取
    # print(p['name'])
    # print(p.__dict__)

    del p['name']
    # print(p.name)
阅读全文 »

面向对象

  • 与面向过程相比:二狗子准备结婚,需要盖房子

    • **面向过程:**数学逻辑的映射,学会做个好员工
    • **面向对象:**生活逻辑的映射,学会做个好领导
  • 生活实例

    • 类: 人 手机 电脑
    • 对象: 习大大、小杰 小杰的T2手机、小明的iPhone X 小杰的Mac、小李的华硕
阅读全文 »

eval

  • 将一个有效的Python代码字符串执行一遍
  • 示例1:
    1
    2
    3
    4
    5
    6
    a = 10
    b = 20

    s = 'a+b'
    # 打印的结果是30
    print(eval(s))
阅读全文 »

shutil

  • 拷贝普通文件

    1
    2
    3
    4
    5
    6
    # 拷贝普通文件
    import shutil

    shutil.copy('123.py', 'test.py')
    shutil.copy('123.py', 'c')
    shutil.copy('123.py', 'c/test.py')
阅读全文 »

目录管理(os)

  • system:执行系统命令

    1
    2
    # 执行系统命令
    os.system('cls')
  • name:获取操作系统名称

    1
    2
    # 操作系统的名称,nt代表Windows,posix代表Unix
    print(os.name)
阅读全文 »

迭代器(Iterator)

  • **定义:**就是可以使用for-in进行遍历,并且可以使用next依次获取元素的对象
  • 说明:
    • 生成器就是一种特殊的迭代器
    • 判断是否是迭代器
      1
      2
      3
      4
      from collections import Iterator

      l = (i for i in range(10))
      print(isinstance(l, Iterator))
    • 字符串,列表,元组,集合,字典等都不是迭代器,但是他们都是可迭代对象。
阅读全文 »

零碎知识

  • 灵活的if-else

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if True:
    print('真')
    else:
    print('假')

    # 相当于限制条件写在了后面
    a = 3 if False else 5
    print(a)

    # 相当于简化了这段代码
    if False:
    a = 3
    else:
    a = 5
    阅读全文 »

函数回顾

  • 函数的定义位置是随意的吗?
    • 不是,一定是先定义,后调用,函数的调用一定要放在定义之后。
  • 函数的名字可以相同吗?
    • 不可以,其他语言中有的可以重载。python中后面的会覆盖前面的。
  • 函数中能否再定义函数?
    • 能,函数内部定义的函数称为内部函数。它是很多高级功能的基础。
阅读全文 »

常用函数

  • 内置函数

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    print:打印、输出
    input:获取用户输入
    abs:求绝对值
    type:获取变量数据类行
    chr:将整数转换成ASCII对应的字符
    ord:将字符转换成对应的ASCII码
    id:获取变量的地址
    len:获取变量的长度(元素的个数)
    range:生成连续的可迭代对象
    enumerate:枚举可迭代对象

    类型相关:
    int
    float
    str
    bool
    list
    tuple
    set
    dict

    sum:求和
    pow:求幂,pow(2,3) 等价于 2**3
    round:四舍五入,可以指定保留位数
    max:求最大值
    min:求最小值

    hex:转换为 16 进制
    oct:转换为 8 进制
    bin:转换为 2 进制
阅读全文 »

函数

  • 定义

    • 函数是一段封装了特定功能的可重复使用的代码块。
    • 通过定义函数,你可以将代码模块化,使其更易于理解、调试和维护。
阅读全文 »
0%