栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

CSDN的Python技能树体验三(面向对象编程)-哎嘿,今天的终结,明天的开始!

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CSDN的Python技能树体验三(面向对象编程)-哎嘿,今天的终结,明天的开始!

极简生活,极简编程,简到极致,就是完美!

今天学的也不是很多,明天应该能把web应用开发部分肝玩。真的写着写着就麻木了,我的,快乐呢!

同样资源在文末,话不多说,干吧!

# 1.类和对象的概念

class Student(object):
    # 初始化,name,age:对象实例化属性
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def getName(self):
        return self.name

    def getAge(self):
        return self.age

stu1 = Student("张三", 18)
stu2 = Student("李四", 20)
stu_list = [stu1, stu2]

for stu in stu_list:
    print(stu.name)
    print(stu.age)
张三
18
李四
20
# 2.类成员
class Car:
    # 私有化静态属性
    _id = 0
    _name = ""
    _price = 0.0

    def __init__(self, cid, name, price):
        self._id = cid
        self._name = name
        self._price = price

    def __str__(self):
        return "编号:{}--名称:{}--价格:{}".format(self._id, self._name, self._price)


car1 = Car(1001, "丰田", 100000)
car2 = Car(1002, "本田", 150000)

print(car1)
print(car2)
编号:1001--名称:丰田--价格:100000
编号:1002--名称:本田--价格:150000
# 3.面向对象三要素:继承(),封装_,多态
# 4. 创建类:三角形类,内置了底边长,高,面积

class Triangle:
    # 普通静态属性
    bottom = 0
    height = 0

    def __init__(self, bottom, height):
        self.bottom = bottom
        self.height = height

    def getArea(self):
        return (self.bottom*self.height)/2


triange1 = Triangle(10, 20)
print(triange1.getArea())
100.0
# 5.抽象类:利用abc模块实现抽象类
import abc


class Person(metaclass=abc.ABCmeta):
    @abc.abstractmethod
    def say(self):
        pass


class Student(Person):
    def say(self):
        print("好好学习!")


class Teacher(Person):
    def say(self):
        print("教书育人!")


stu11 = Student()
tea11 = Teacher()

stu11.say()
tea11.say()
好好学习!
教书育人!
# 6.访问控制,使用”_“前缀实现,类似Java的private
# 7.获取对象信息:过滤掉没有name属性的对象

class NormalPerson():
    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex


class SimplePerson():
    def __init__(self, age, sex):
        self.age = age
        self.sex = sex


p1 = NormalPerson("张三", 18, "男")
p2 = SimplePerson(0, "未知")

person_list = [p1, p2]

new_list = []
for person in person_list:
    if hasattr(person, 'name'):
        new_list.append(person)

print(new_list)
[<__main__.NormalPerson object at 0x0000029F445D71F0>]

资料在:面向对象编程.zip,明天见,Byebye!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/294258.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号