• python类和对象


    在python中,通过关键字class声明类。类具有属性和方法。

    class stu:
      def __init__(self, age, name):
        self.age = age
        self.name = name
      def get_age(self):
        return self.age
    
    s = stu(18, '张三')
    print(s.age, s.name)
    

    类的方法

    1、通过关键字def声明方法,类中的方法必须有至少一个形参,表示对象本身的引用,一般使用self表示。

    2、形参与实参

    除去首个参数表示对象引用,其与python函数的使用基本一致。

    3、私有方法

    __private_method:两个下划线开头,声明该方法为私有方法,只能在类的内部调用 ,不能在类的外部调用

    4、类的专有方法:

    init : 构造函数,在生成对象时调用
    del : 析构函数,释放对象时使用
    repr : 打印,转换
    setitem : 按照索引赋值
    getitem: 按照索引获取值
    len: 获得长度
    cmp: 比较运算
    call: 函数调用
    add: 加运算
    sub: 减运算
    mul: 乘运算
    truediv: 除运算
    mod: 求余运算
    pow: 乘方
    

    类的属性

    1、类属性和对象属性

    类属性:在类中,方法外创建,不同对象对其引用是同一个变量
    对象属性:在类中的方法中创建,不同对象对其引用是不同变量

    2、私有属性
    __private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。

    命名空间/作用域

    Python 的作用域一共有4种,分别是:

    有四种作用域:

    L(Local):最内层,包含局部变量,比如一个函数/方法内部。
    E(Enclosing):包含了非局部(non-local)也非全局(non-global)的变量。比如两个嵌套函数,一个函数(或类) A 里面又包含了一个函数 B ,那么对于 B 中的名称来说 A 中的作用域就为 nonlocal。
    G(Global):当前脚本的最外层,比如当前模块的全局变量。
    B(Built-in): 包含了内建的变量/关键字等,最后被搜索。
    规则顺序: L –> E –> G –> B。

    在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内置中找。

    继承

    class a:pass
    
    class b(a):pass
    

    python的继承通过在类名后的括号内声明继承的类实现,如果没有要继承的类,可以不带括号。
    需要注意的是,子类并不会自动调用父类的init初始化方法,而是需要在子类的初始化方法中调用。

    super().__init__()
    
  • 相关阅读:
    DataList控件部分使用方法
    评教系统——设计的重要性
    2010.7——2011.7年度总结
    Javascript初步
    asp.net天轰穿视频学习总结
    Datatable中对某列求和,三种不同情况下的方法
    DataTable删除多行
    C#语言的结构体布局
    geoserver、openlayers、PostgreSQL 开发环境配置
    字节流和结构体的转换[转]
  • 原文地址:https://www.cnblogs.com/heibaimao123/p/16301646.html
Copyright © 2020-2023  润新知