Python进阶编程 面向对象

一.面向对象

1.1面向对象的基本格式

class 类名:
    def 方法名(self):
        print(123)
        return 123
    def 方法名(self):
        print(123)
        return 123
###调用类中的方法###
#1.实例化一个对象
obj=类名()
#2.通过对象调用方法
result=obj.方法名()

类名的角度调用类中的属性.

1. 查看类中的所有的内容.  类名.__dict__只用于获取类中的全部.
# print(Student.__dict__)
# print(Student.__dict__['daily'])

万能的 .点.

 print(Student.daily)  # 查
 Student.cloth = '校服'  # 增
 print(Student.__dict__)
 Student.examination = '不考试!'  # 改
 print(Student.examination)
 del Student.daily  # 删
 print(Student.__dict__)

一般类中的属性都是通过类名.的方式去操控的.

实例化对象发生的三件事

    1. 在内存中创建一个对象空间.*
    1. 自动执行__init__方法,并且将对象空间传给self参数.*
    1. 执行__init__方法里面的代码,给对象空间封装其属性.*
class Student:
    """
    此类是构建学生类
    """

    daily = '学习'
    examination = '考试'

    def __init__(self,n,a,h):

        # self.n = '小黑'
        # self.sex = '随便'
        self.name = n
        self.age = a
        self.hobby = h

    def work(self,c):
        # self.color = '绿色'
        self.color = c
        print(f'{self.name}每天要上课')

    def homework(self):
        # 利用self 对象空间,为所欲为
        print('家庭作业')

对象操作对象里面的属性.

 对象查看全部属性
print(obj.__dict__)
对象可以操作对象空间的属性  万能的点
obj.age = '29'  # 增
del obj.n  # 删
obj.sex = '女'# 改
print(obj.n)  # 查

对象查看类中的属性.

对象查看类中的属性.
print(mc_sq.daily)
对象调用类中的方法
liye.work('绿油油')
print(liye.__dict__)

从空间角度研究类

对象如果查询一个属性: 对象空间 ----> 类空间 ----> 父类空间

类查询一个属性: 类空间 ----> 父类空间

对象与对象之间原则上互相独立(除去组合这种特殊的关系之外).

原文地址:https://www.cnblogs.com/llwwhh/p/11318018.html

时间: 2024-11-09 09:38:07

Python进阶编程 面向对象的相关文章

Python自动化开发课堂笔记【Day08】 - Python进阶(面向对象的高级用法,网络编程)

面向对象的高级用法 1. __str__ 只要执行打印对象的操作,就会触发该对象类中的__str__方法(也就是对象的绑定方法)它是一种默认的方法,默认的打印输出为<__main__.Foo object at 0x003EE350>,但是如果将该绑定方法在类中重写的话,要求必须有以字符串类型的返回值,返回形式可以自己设定. class Foo: def __init__(self,name,age): self.name = name self.age = age def __str__(s

Python高级编程 面向对象、元类、多线程、异步IO、asyncio

—— 面向对象 —— 鸭子类型抽象基类类变量.对象变量的查找顺序静态方法.类方法.实例方法数据封装和私有属性对象的自省机制上下文管理器contextlib实现上下文管理器super函数的查找顺序mixin继承模式的应用 —— asyncio并发编程 —— 事件循环协程嵌套call_soon.call_later.call_atcall_soon_threadsafeThreadPoolExecutor+asyncioasyncio 模拟 http 请求future 和 taskasyncio 同

python进阶之面向对象初识

面向对象 不同于面向过程的编程思想,面向对象是一种将程序抽象为一个个对象的编程思想,能更好的处理现实世界到的一些复杂问题. 通过下面的例子来初步了解面向对象的编程方式. class Person: # class + 类名 :定义一个类 place = 'earth' # 类属性 (静态属性) # __init__初始化方法,默认创建一个self对象,用来接收对象的属性.可以没有初始化方法 def __init__(self, name, sex, age, nationality): # se

Python进阶编程 反射

1.7反射 python面向对象中的反射:通过字符串的形式操作对象相关的属性.python中的一切事物都是对象(都可以使用反射) class Foo: f = '类的静态变量' def __init__(self,name,age): self.name=name self.age=age def say_hi(self): print('hi,%s'%self.name) obj=Foo('egon',73) #检测是否含有某属性 print(hasattr(obj,'name')) prin

Python进阶编程 类的成员

类的成员 class A: company_name='老男孩' #静态变量 __iphone='1515151' #私有静态变量 def __init__(self,name,age): #特殊方法(双下方法) self.name=name #对象属性 self.__age=age #私有对象属性 def func(self): #普通方法 pass def __func(self): #私有方法 pass @classmethod def func1(cls): #类方法 '''定义类方法

Python进阶编程 类与类的关系

类与类的关系 依赖关系 # 依赖关系: 将一个类的类名或者对象传给另一个类的方法中. class Elephant: def __init__(self, name): self.name = name def open(self,r1): # print(ref1) print(f'{self.name}默念三声: 芝麻开门') r1.open_door() def close(self): print('大象默念三声:芝麻关门') class Refrigerator: def __init

Python进阶 函数式编程和面向对象编程等

函数式编程 函数:function 函数式:functional,一种编程范式.函数式编程是一种抽象计算机的编程模式. 函数!= 函数式(如计算!=计算机) 如下是不同语言的抽象 层次不同 高阶函数:能接收函数做参数的函数 变量可以指向函数 函数的参数可以接收变量 一个函数可以接收另一个函数作为参数 例子: 接收abs函数, 定义一个函数,接收x,y,z三个参数.其中x,y是数值,z是函数 . 1 2 3 def add(x,y,z):     return z(x)+z(y) print ad

Python 进阶(三)面向对象编程基础

定义类并创建实例 在Python中,类通过 class 关键字定义.以 Person 为例,定义一个Person类如下: class Person(object): pass 按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的.类的继承将在后面的章节讲解,现在我们只需要简单地从object类继承. 有了Person类的定义,就可以创建出具体的xiaoming.xiaohong等实例.创建实例使用 类名+(),类似函数调用的形式创建: xia

一、Python 进阶 之 函数式编程

Python 进阶 之 函数式编程 写在前面 入门阶段的系列笔记传送门 → 进这里 已经掌握了基础的内容如下: 变量和数据类型:Python 内置的基本类型 List 和 Tuple:顺序的集合类型 条件判断和循环:控制程序流程 Dict 和 Set:根据Key访问的集合类型 函数:定义和调用函数 切片:如何对 list 进行切片 迭代:如何用 for 循环迭代集合类型 列表生成式:如何快速生成列表 接下来我要学会: 函数式编程 如何使用 Python 的模块(内置模块和第三方模块) 面向对象编