python基础:类基础

1.面向过程: ------ 函数  --- 功能

2.面向对象: ------ 类
------------面向对象  (object-oriented ;简称: OO) 至今还没有统一的概念 我这里把它定义为:
                按人们 认识客观世界的系统思维方式,采用基于对象(实体) 的概念建立模型,
                模拟客观世界分析、设 计、实现软件的办法。
            ------ 程序是由数据和功能组合而成的对象构建起来的

买电脑:
------ 面向过程:----- 需求 ---- 电脑商城 -- 筛选电脑 --- 测试性能 ---- 砍价  ---- 成交
------ 面向对象:----- 需求 ---- 电脑高手(对象 ---- 功能组合而成 )

人类  ----- 男人, 女人

3.  面向对象编程(Object Oriented Programming-OOP) 是一种解决软件复用的设计和编程方法。
    这种方法把软件系统中相近 相似的操作逻辑 和  操作 应用数据、状态,-------- 以类的形式描述出来,
    ------ 以对象实例的形式在软件系统中复用,以达到提高软件开发效率的作用。


4. 类 ----- class
        类是抽象的, 是具有相同特征或行为的事物统称

5. 类的定义

class 类名():
    代码业务逻辑

6. 类名的定义:
    与函数命名方法一样
    驼峰命名法 ---- 单词首字母大写

class Person():
    print('人类')
7. 如何调用类  ---- 实例化
   实例化 ------ 对象(实例化对象)
class Example_F():
    print('ok')
#实例化,实例化会触发这个类,不是真正的调用
a = Example_F()
print(a)#<__main__.Example_F object at 0x000002E81F73CA48>
b = Example_F()
print(b)#<__main__.Example_F object at 0x0000020B67CEEC48>
#两次实例化出来的对象是不同的
print(type(a))#<class '__main__.Example_F'>
8.类的属性
------- 类的属性就像人拥有独特的特征(属性)


实例化时 ---- 实例对象会获取到这个类的所有属性  ----- 变成了 实例对象的属性
class Example_S():
    name = 'ye'
a = Example_S()
print(a.name)#ye
b = Example_S()
print(b.name)#ye
#在实例化的时候会获取这个类的所有属性

9.实例对象的属性
每个类的属性相互独立,互不干扰
class Example_S():
    name = 'ye'
a = Example_S()
a.name = 1
a.second = 'ok'
print(a.name)#1
print(dir(a))
#dir查看类的所有属性

b = Example_S()
b.second = 'yes'
print(b.name)#ye
print(dir(b))
print(b.second)

10.类与实例之间的联系
-------- 类 ----- 类是抽象的, 是具有相同特征或行为的事物统称  ---- 不存在 -- 描绘事物共性
-------- 实例  ----- 某个事物的具体的个体  --- 真实存在的
-------- 实例与实例之间互不影响, 都是独立的


11. 私有属性  -------- 只是一种规范, 不是限制
----------------  _    外部直接访问
----------------  __   外部无法直接访问
可以访问


属性都可以添加或修改
class Person():
    name = '人'
    _age = 18
    __sex = '未知'

laowang = Person()
# print(dir(laowang))
print(dir(Person))
print(laowang.name)
print(laowang._age)
# print(laowang.__sex)
print(laowang._Person__sex)#间接访问
#
12. 类的方法
----   类的方法就像人的动作(方法)
实现某个功能
类的方法也可以传参
可以在方法里面调用实例对象的属性
class Person():
    def habit(self):
        print('play ball')
    def demo(self,name):
        print(self)
        print(name)

xiaoming = Person()
xiaoming.habit()#play ball
xiaoming.demo('小明') #小明
# #通过实例化对象获得方法

# class Person():
#     def habit(self):
#         print('play ball')
#     def demo(self):
#         print(self.name)
# xiaoming = Person()
# xiaoming.name = '小明'
# xiaoming.demo()#小明

13.初始化方法(在实例化的时候会去触发): __init__()  ------ 魔法方法(在特定情况下会去自动触发)
                                                 --- 构造函数


实例对象本身  ------ self
查看对象的属性及方法  --- dir
13.初始化方法(在实例化的时候会去触发): __init__()  ------ 魔法方法(在特定情况下会去自动触发)
                                                 --- 构造函数

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值