Python面向对象

 

面向过程(c语言)
面向对象:站在上帝的视角下,世间万物一切皆对象。
先通过用户需求建立模型,再用户多次交互改进
注意:class 定义类的时候,类的首字母必须是大写
调用方法为: 类名+.show 的方法.

面向对象的三个特性:
1、封装

  A、实例属性
  B、数据属性(类里面的变量)

2、继承
3、多态

 

要调用类里面的变量,以及方法(函数)等.首先对类进行实例化
obj是类Person()实例化后的对象
类实例化的过程也是类初始化的过程

 

类:
经典类
新式类

 

 

 

复制代码
# 定义类
class Person(object):
    # name和age可以理解为类的属性
    # init-->是初始化
    # 构造方法/构造函数

    def  __init__(self,name,age):
        # 实例属性
        self.name=name
        self.age=age
        print('start')

    # 清理操作
    def __del__(self):
        print('end')

    # 定义一个show方法返回的是类本身自己
    def show(self):

        # format()字符串格式化
        print('name:{0},age:{1}'.format(self.name,self.age))

# 类实例化的过程,也是针对构造方法初始化的过程(等于调用了__init__的方法)

obj=Person(name='wr',age=18)

obj.show()

print(obj.name)
结果:
start
name:wr,age:18
wr
end
复制代码

 

 

 

封装

复制代码
# 封装
class Animal(object):
    def __init__(self,age):
        self.age=age
    # 获取初始age
    def getAge(self):
        return self.age
    # 修改获取的age
    def setAge(self,age):
        if age>10 and age<100:
            self.age=age
        else:
            print('年龄错误')

objAnimal=Animal(age=30)
print(objAnimal.getAge())
objAnimal.setAge(age=90)
print(objAnimal.getAge())

class Animal(object):

    address='地球'

    def __init__(self,age):
        self.age=age

    def show(self):
        print('it is come from {0},and age is {1}'.format(self.address,self.age))

objAnimal=Animal(age=40)
objAnimal.show()
print(objAnimal.address)
print(objAnimal.age)
结果:
30
90
it is come from 地球,and age is 40
地球
40
复制代码

方法:
1、普通方法(方法可以读写)
2、特性方法(具备只读属性,方法不能有形式参数)
3、静态方法(属于类,只能用类名来调用),一般把数据属性使用静态方法来进行了处理

 

复制代码
class Animal(object):
    # address='地球'
    def __init__(self,age):
        self.age=age

    def show(self,name=' 野猪'):
        print('it is come from{0},and age is {1},and name is{2}'.
              format(self.address(),self.age,name))

    def func(self,**kwargs):
        print(kwargs)

    @staticmethod
    def address():
        return ' 地球'

    @property
    def info(self):
        print('hello world')

    @property
    def getAge(self):
        return self.age

objAnimal=Animal(age=30)
objAnimal.show()
objAnimal.info
objAnimal.func(name='wuya',age=18,city='xian')
结果:
it is come from 地球,and age is 30,and name is 野猪
hello world
{'name': 'wuya', 'age': 18, 'city': 'xian'}
复制代码

 

 

 

 
posted @   LaraCroft  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示