Python 学习随笔

  1. r'...' 表示单引号内部的字符串不转义
  2. 空值None 不等于0 False ''空字符串, None有专属的数据类型NoneType
  3. ASCII编码是一个字节,Unicode编码是两个字节, UTF-8编码是可变长的1-6个字节(根据编码对应的数字采取不同的字节个数来表示)
  4. %的转义用%%表示
  5. dict中判断key存在方法:in dict.get(key) d.get(key, -1),get方法如果key不存在则返回None或者自己定义的不存在返回值
  6. 利用range函数生成等长度list要比set慢接近150倍左右
  7. 如果想定义一个什么事也不做的空函数,可以用pass语句

    def nop():
        pass

    比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来

  8. 函数多个返回值时,返回的是tuple

  9. 函数定义默认参数时,牢记一点:默认参数必须指向不变对象!否则默认参数指向了可变对象,函数中会对默认参数的对象进行改变,每当使用一次默认参数,都会改变默认参数
  10. 可变参数用*表示,如*nums,关键字参数用**表示,如**kw
  11. 关于位置参数和关键字参数

    def f1(a, b, c=0, **kw):
        print('a =', a, 'b =', b, 'c =', c, 'kw =', kw)
    f1(0,1,2) # a=0 b=1 c=2 kw = {}
    f1(0,1,c=2) # a=0 b=1 c=2 kw = {}
    f1(0,1,d=2) # a = 0 b = 1 c = 0 kw = {'d': 2}
    f1(0,c=1,b=2) # a = 0 b = 2 c = 1 kw = {}
  12. 函数传参顺序为必选参数 可变参数 关键字参数

  13. 类中定义私有变量:self.__name = name,双下划线开头双下划线结尾的变量,如:__num__为特殊变量,非私有变量
  14. 关于类和实例绑定方法
    公共部分

    from types import MethodType
    class Student(object):
        pass
    
    def set_age(self, age):
        self.age = age
    a = Student()
    b = Student()

    实例绑定

    a.set_age = MethodType(set_age,a) # 无法使用a.set_age = set_age形式绑定
    a.set_age(15)
    print(a.age) # 15

    类绑定

    
    # situation 1
    
    Student.set_age = MethodType(set_age, Student)
    a.set_age(15)
    b.set_age(16)
    print(a.age) # 16
    print(b.age) # 16
    
    
    # situation 2
    
    Student.set_age = set_age
    a.set_age(15)
    b.set_age(16)
    print(a.age) # 15
    print(b.age) # 16
  15. 15.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值