zoukankan      html  css  js  c++  java
  • Python类的定义、方法和属性使用

    类用来描述具有相同的属性和方法的对象的集合。
    对于在类中定义的函数,称为方法。
    类变量不直接叫做类变量,称为属性。

    1、类的定义

    例子:

    class User():
        pass

    说明:

    (1)定义了一个类名为User的类
    (2)类名一般约定用大写字母开头,函数则用小写字母开头,以做区分
    (3)用pass表示为空类,暂时还没准备好类的内容

    2、类的方法

    例子:

    class User():
        def say(self) -> None:
            print('hello')

    调用:

    a = User()
    a.say()
    print(hex(id(a)))
    print(a)

    运行结果:

    hello
    0x36dfd68
    <__main__.User object at 0x00000000036DFD68>

    说明:

    (1)上面定义了方法say,方法可以有0到多个参数,但第一个参数是必须有的,第一个参数有约定俗成的名字叫self在对象上调用一个方法时,不需要手动为self提供一个值,原因是解释器会自动把调用对象实例做为第一个参数,赋值给各个方法的self参数。
    例如上面a.say()不需要为self提供值,解释器会自动转换为User.say(a)
    (2)self 代表的是类的实例,上面hex(id(a))查询实例的内存地址,可以看出和打印对象名是同个地址。
    对象可以用__repr__方法覆盖,例子:

    class User():
        def __repr__(self) -> str:
            return '覆盖默认行为'

    调用:

    a = User()
    print(a)

    运行结果:

    覆盖默认行为 

    3、类的属性

    例子:

    class User():
        def __init__(self, name: str) -> None:
            self.name = name        
        def say(self) -> str:
            print('我的名字是:', self.name)

    调用:

    a = User('张三')
    print(a.name)
    a.say()

    运行结果:

    张三
    我的名字是: 张三

    说明:

    (1)用构造方法__init__初始化属性,在方法中用self.属性名访问。

  • 相关阅读:
    Python之杨辉三角算法实现
    iOS之UI--微博个人详情页
    iOS之UI--通讯录的实例关键知识技术点积累
    iOS之github第三方框架(持续更新)
    关于第三方IOS的checkBox框架的使用
    iOS之UI--Quartz2D的入门应用--重绘下载圆形进度条
    iOS之多控制器管理--项目中的常见文件
    iOS之微博UI实例--拟物化设计(成功了90%)
    主要责任、主要技术
    IOS之UI -- UITableView -- 2 -- 等高的Cell
  • 原文地址:https://www.cnblogs.com/gdjlc/p/11148468.html
Copyright © 2011-2022 走看看