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.属性名访问。

  • 相关阅读:
    Nginx负载均衡+代理+ssl+压力测试
    Nginx配置文件详解
    HDU ACM 1690 Bus System (SPFA)
    HDU ACM 1224 Free DIY Tour (SPFA)
    HDU ACM 1869 六度分离(Floyd)
    HDU ACM 2066 一个人的旅行
    HDU ACM 3790 最短路径问题
    HDU ACM 1879 继续畅通工程
    HDU ACM 1856 More is better(并查集)
    HDU ACM 1325 / POJ 1308 Is It A Tree?
  • 原文地址:https://www.cnblogs.com/gdjlc/p/11148468.html
Copyright © 2011-2022 走看看