17 初识面向对象

面向对象

python中一切结尾对象,类型的本质就是类。精简代码,方便使用,方便修改。在为调用函数的时候,系统不会创建对象,只有在赋值之后,才会有一个对象生成。

def Person(name, age, sex, hobby):
    person = {
        'name': name,
        'age': age,
        'sex': sex,
        'hobby': hobby
    }
    return person

zhangsan = Person('张三', 10, '男', '吃')
lisi = Person('李四', 20, '女', '玩')

print(zhangsan)
print(lisi)

输出:
在这里插入图片描述
上述的Person就是一个类,是抽象的,其中可以包括属性,但不知道属性的具体值
上述中zhangsan就是一个对象,有属性相对应的值。根据类中描述的属性来按顺序进行定义。

自定义类

class 类名:
	属性1 = ‘a’
	属性2 = ‘b’

类名通过类名.属性来查看属性。

class Person:
    def __init__(self,*args):		
        self.name = args[0]
        self.weight = args[1]
        self.age = args[2]
        self.say = args[3]

alex = Person('张三',100,32,'你好')		#实例化
print(alex.name)
print(alex.weight)
print(alex.age)
print(alex.say)

输出:
在这里插入图片描述
类的创建过程:

  1. 类名() 会创造出一个对象,创建一个self变量
  2. 调用__init__方法,类名括号中的参数会被接收到self中
  3. 执行__init__方法
  4. 返回self
class Person:
    def __init__(self,*args):		#初始化方法,self是一个对象,是一个必须传的参数
        self.name = args[0]
        self.weight = args[1]
        self.age = args[2]
        self.say = args[3]
    def walk(self,n):		#方法,一般情况下必须传self参数,且必须写在第一个,后面还可以传其他参数。
        print('%s走了%d步'%(self.name,n))
alex = Person('张三',100,32,'你好')
Person.walk(alex,10)	#类似于下面的句子,但下面的要简单得多
alex.walk(10)

输出:
在这里插入图片描述
对象能做的事:

  • 查看属性
  • 调用方法
  • __dict__对于对象的增删改查操作都可以通过字典的语法进行

类名的作用:

  • 实例化
  • 调用方法(不过要自己传递self参数。Person.walk(alex,10))
  • 调用静态属性
  • __dict__对于类中的名字只能看,不能修改。可以使用类名.静态变量 = ‘...’进行修改
类属性(静态属性)

在类中直接定义的属性

class Person:
	country = 'China'		#类属性,是静态属性,只要创建了这个类,这个属性就一定存在
candy = Person()
print(candy.country)

输出:
在这里插入图片描述
circle 属性 半径 ,两个方法:求周长和面积

from math import pi
class Circle:
    def __init__(self,r):
        self.r = r
    def area(self):
        return pi*(self.r**2)
    def perimeter(self):
        return 2*pi*self.r

c1 = Circle(6)
print(c1.area())
print(c1.perimeter())

输出:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值