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)
python 面向对象-初识的更多相关文章
- Python面向对象 | 初识
一.面向对象编程 类 : 具有相同属性和技能的一类事物 对象: 就是对一个类的具体的描述 实例化:类——>对象的过程 使用面向对象的好处: 使得代码之间的角色关系更加明确 增强了代码的可扩展性 ...
- 初识python面向对象
一.初识python面向对象: class Person: #使用class关键字定义一个类 age=0 #类变量(静态变量) def eat(self,food): #定义一个方法 self.age ...
- python递归 及 面向对象初识及编程思想
递归 及 面向对象初识及编程思想 一.递归 1.定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. (1)递归就是在过程或函数里调用自身: (2)在使用递 ...
- python基础学习笔记——面向对象初识
面向对象初识 python中一切皆对象. 类有两种: 新式类:在py3中所有类都是新式类 经典类:在py2中只有类本身继承了object类才叫做新式类,默认是经典类 class Person: cou ...
- Python中面向对象初识到进阶
面向对象初识到进阶 # 面向对象结构: # class 类名: # def __init__(self,参数1,参数2): # self.对象的属性1 = 参数1 # self.对象的属性2 = 参数 ...
- Python面向对象01 /面向对象初识、面向对象结构、类、self、实例化对象
Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 目录 Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 1. 面向对象初识 2. 面向 ...
- python 面向对象专题(一):面向对象初识、面向对象结构、类、self、实例化对象
https://www.cnblogs.com/liubing8/p/11301344.html 目录 Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 1. 面向对象 ...
- python之面向对象初识
一.面向对象初识 1.结构上 面向对象分成两部分:属性.方法 class A: name = 'xiaoming' # 静态属性.静态变量.静态字段. def func1(self): # 函数.动态 ...
- python基础(17)继承类和面向对象初识
1.继承类 class Lm: money = 1000000 house = 5 def driver(self): print('会开车') class Mcb(Lm): def about_me ...
随机推荐
- Ultra-QuickSort——[归并排序、分治求逆序对]
Description In this problem, you have to analyze a particular sorting algorithm. The algorithm proce ...
- boostrap-非常好用但是容易让人忽略的地方【3】:clearfix
代码 显示结果 代码 结果
- linux查看文件内容跳到文件底部和回到文件顶部的快捷键
有时候需要查看一些日志文件,然后要从底部开始查看的话 可以按 shift+g 即可跳到文件底部 要返回文件顶部的时候 按 gg即可
- HDU 1969 Pie [二分]
1.题意:一项分圆饼的任务,一堆圆饼共有N个,半径不同,厚度一样,要分给F+1个人.要求每个人分的一样多,圆饼允许切但是不允许拼接,也就是每个人拿到的最多是一个完整饼,或者一个被切掉一部分的饼,要求你 ...
- 从头学pytorch(三) 线性回归
关于什么是线性回归,不多做介绍了.可以参考我以前的博客https://www.cnblogs.com/sdu20112013/p/10186516.html 实现线性回归 分为以下几个部分: 生成数据 ...
- SpringBoot Starter机制 - 自定义Starter
目录 前言 1.起源 2.SpringBoot Starter 原理 3.自定义 Starter 3.1 创建 Starter 3.2 测试自定义 Starter 前言 最近在学习Sp ...
- 选题Scrum立会报告+燃尽图 03
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8680 组长:杨天宇 组员:魏新,罗杨美慧,王歆瑶,徐丽君 组名:组长 第 ...
- ecshop数据结构
ecshop数据结构 2.7.2版本,数据库表 共88张表 注: 1.颜色为蓝色的字,有待讨论验证的地方. 2.颜色为红色的字,是新增的字段.(改文档是基于网上下载的老版本的数据字典修改而成,已经检 ...
- 关于MySQL幻读的实验
该实验基于 CentOS 7 + MySQL 5.7 进行 打开两个窗口连接到MySQL 第一个连接的事务我们命名为 T1 第二个连接的事务我们命名为 T2 T2 发生在 T1 的 O1 操作结束以 ...
- surging 社区版本支持.net core 3.1
简介 surging 经过两年多的研发,微服务引擎已经略有雏形,也承蒙各位的厚爱, GitHub上收获了将近2800星,fork 811,付费用户企业也有十几家,还有咨询培训, 在2020年,我们将依 ...