python 面向对象-类中成员变量和方法(二)

一、类中定义成员方法

"""
格式一:
class 类名:
    def 方法名(self):
        方法体...
"""

(1.1)定义成员方法,并使用成员变量

class Student:
    #成员变量
    def __init__(self):
        self.name=None
        self.gender=None
    #成员方法: self 仅在声明时占位, 无需传递具体参数
    def play(self):
        print(self.name+'的性别 '+self.gender+",她正在玩游戏!")
    def study(self):
        print(self.name+'的性别 '+self.gender+",她正在学习!")


# #创建对象
stu =Student()
#赋值
stu.name='mike'
stu.gender='Woman'
#调用方法
stu.play()
stu.study()

(1.2)定义成员方法,有参数

class Student:
    #成员变量
    def __init__(self):
        self.name=None
        self.gender=None
    #成员方法带参数: self 仅在声明时占位, 无需传递具体参数
    def play(self,thing):
        print(f'{self.name}的性别-{self.gender},她正在玩{thing}')
    def study(self,thing='java'): # 默认形参
        print(f'{self.name}的性别-{self.gender},她正在学习{thing}')


#创建对象
stu =Student()
#赋值
stu.name='samantha'
stu.gender='Woman'
#调用方法
stu.play('CS')
stu.study()

二、__init__() 方法在创建对象时被运行, 无需手工调用即可执行。

class Emp:
    def __init__(self):
        self.ename=None
    #初始化成员变量这个方法,可以写多个,是按顺序执行的!
    def __init__(self):
        self.ename = 'zhang'

    def __init__(self):
        self.ename = 'vv'

print('start....')
#创建对象时,自动执行初始化方法
emp =Emp()
print('end....')
print(emp.ename)

# 注意:说明有多个这个__init__(self)方法时,按照顺序执行!,并创建对象直接执行的哦!

三、__str__() 方法在使用print打印对象时, 会自动执行代码, 也属魔术方法。

格式:
def __str__(self):
    return “信息”

class Cat:
    def run(self):
        return ('猫跑步!!')

class Dog:
    def __str__(self):
        return ('dog is running!')

cat =Cat()
# <__main__.Cat object at 0x000001FB558E9280> 对象的内存地址 没有什么含义
print(cat)

dog=Dog()
#打印对象时,会自动执行
print(dog)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值