python 面向对象-初识

一、分类

1、面向过程

2、面向函数

3、面向对象

二、类和对象

1、宏关

类是抽象的,对象是具体的

2、实例化

类->对象

3、类的作用

1)实例化成对象

实例化的过程,创建self对象,调用__init__()方法,获取返回值

2)调用静态属性

4、对象的作用

1)调用函数

2)查看属性

5、补充

1)类和属性都有__dict__

2)self可以看成字典(不严谨)

3)初始化的__init__和方法的形参必须有self

4)类的名字首字母大写

5)类的关键字class

# 计算长方形的周长、面积 square  perimeter area
class Square:       # 定义类
    def __init__(self, wide, height):   # 初始化
        self.wide = wide
        self.height = height

    def per(self):      # 周长方法
        return (self.height + self.wide) * 2

    def area(self):     # 面积方法
        return self.wide * self .height


s1 = Square(2, 4)   # 实例化
p1 = s1.per()   # 对象调用方法
a1 = s1.area()
print(p1, a1)
class Person:
    country = 'China'       # 静态属性/类属性

    def __init__(self, name, sex, age):     # 初始化
        self.name = name
        self.sex = sex
        self.age = age

    def hobby(self, hob):
        print('大叫好,俺叫%s,我是%s生,我今年%d岁,我喜欢%s' % (self.name, self.sex, self.age, hob))


person = Person('张飞', '', 24)      # 实例化
person.hobby('女人')      
print(Person.country)
Person.hobby(person, '女人')      # Person.hobby(person, '女人') 通过类调用方法,一般不这么写,与person.hobby('女人') 效果用于
""""
大叫好,俺叫张飞,我是男生,我今年24岁,我喜欢女人
China
大叫好,俺叫张飞,我是男生,我今年24岁,我喜欢女人
"""

 三、  命名空间

1、类的命名空间

定义:创建一个类就会创建一个类的命名空间

作用:储存属性

2、属性分类

静态属性:类里面定义的变量

动态属性:类里面定义的方法

类命名空间的属性是共享对象的

3、对象的命令空间

类->对象,实例化,创建对象的命名空间,是__init__里的属性

对象调用属性的过程:

先从对象命名空间里找,找不到,到类命名空间找,找不到,就不会在找,抛出异常

4、绑定方法

对象/实例.方法名

四、组合用法

定义:一个类的对象作为另一个类的数据属性

class Birthday:
    def __init__(self, month, day):
        self.month = month
        self.day = day


class Teacher:
    def __init__(self, name, age, birth):
        self.name = name
        self.age = age
        self.birth = birth


b1 = Birthday(11, 10)
te = Teacher('tom', 22, b1)     # b1是Birthday类的对象,作为Teacher类的数据属性
print(te.birth.month)

 

转载于:https://www.cnblogs.com/wt7018/p/10915125.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值