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

原文地址:https://www.cnblogs.com/gdjlc/p/11148468.html

时间: 2024-11-05 09:59:54

Python类的定义、方法和属性使用的相关文章

给python类动态添加方法(method)

群里有人问如何做到 def foo(): pass class Bar(object): pass Bar.set_instance_method(foo) b = Bar() b.foo() 这个其实还是比较简单的, 只要写个函数给类设置属性即可, 可根据需求是否用函数包装下, 或者用staticmethod这个decorator: import functools def foo(): print 'hello world' class Bar(object): def __init__(s

Java中主类中定义方法加static和不加static的区别

Java中主类中定义方法加static和不加static的区别(前者可以省略类名直接在主方法调用,后者必须先实例化后用实例调用) 知识点:1.Getter and Setter 的应用 2.局部变量与成员变量(也可叫做全局变量) 3.Static关键字的用法 a.成员变量被static修饰后的所有类的共享属性 b.方法被static修饰之后,在本类内调用的类名省略问题;以及不用Static,即使在本类内也必须先实例化 4.This关键字的用法 this:是当前类的对象引用.简单的记,它就代表当前

【速记速学】Python类的定义,属性,方法,访问性!

前言: Python 随着人工智能,机器学习,深度学习,AI 的发展,迅速成为宠儿. 今天,花 5 分钟时间,解读下Python中的类,定义,使用等. 如何定义自己的类呢? 01 类(对象) class dog(object)以上定义了一个dog对象,它继承于根类object. 02 类的属性 def init(self, name, dtype):self.name = nameself.dtype = dtype以上定义了dog对象的两个属性:name, dtype,通过init,这个系统函

python 类的定义和继承

python 2 中类 一.类定义: ? 1 2 class <类名>:   <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象 类的私有属性:__private_attrs  两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问在类内部的方法中使用时 self.__private_attrs  类的方法在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方

python学习笔记(方法、属性、迭代器)

准备工作 为了确保类是新型类,应该把 _metaclass_=type 入到你的模块的最开始 class NewStyle(object): more_code_hereclass OldStyle: more_code_here 在这个两个类中NewType是新类,OldType是属于旧类,如果前面加上 _metaclass_=type ,那么两个类都属于新类. 构造方法 构造方法与其的方法不一样,当一个对象被创建会立即调用构造方法.创建一个python的构造方法很简答,只要把init方法,从

Python 类的魔术方法

Python中类的魔术方法 在Python中以两个下划线开头的方法,__init__.__str__.__doc__.__new__等,被称为"魔术方法"(Magic methods).魔术方法在类或对象的某些事件出发后会自动执行,如果希望根据自己的程序定制自己特殊功能的类,那么就需要对这些方法进行重写. 注意:Python 将所有以 __(两个下划线)开头的类方法保留为魔术方法.所以在定义类方法时,除了上述魔术方法,建议不要以 __ 为前缀. Python提供的魔术方法 魔术方法这里

Python类三种方法,函数传参,类与实例变量(一)

1 Python的函数传递: 首先所有的变量都可以理解为内存中一个对象的'引用' a = 1 def func(a): a = 2 func(a) print(a) # 1 a = 1 def fun(a): print("函数里",id(a)) # 函数里 41322472 a = 2 print("赋值后",id(a), id(2)) # 赋值后 41322448 41322448 print("函数外",id(a), id(1)) # 函数

python类的定义

效果图: 代码: # 定义一个表示人的类 class Person: # 定义一个所有实例可以访问的变量(这里称为:公共属性) name = "孙悟空" # 定义一个所有实例可以访问的函数(这里称为: 方法) # 一般命名基础参数为 self ,至少有一个参数 def say_hello(self): #print('你好!我是',self.name) print('你好!我是%s'%self.name) # %s 就是 %self.name # 创建Person的实例 p1 = Pe

全面解析python类的绑定方法与非绑定方法

类中的方法有两类: 绑定方法 非绑定方法 一.绑定方法 1.对象的绑定方法 首先我们明确一个知识点,凡是类中的方法或函数,默认情况下都是绑定给对象使用的.下面,我们通过实例,来慢慢解析绑定方法的应用. class People: def __init__(self,name,age): self.name = name self.age = age def talk(self): pass p = People('xiaohua',18) print(p.talk) 输出结果: <bound m