python - 初识面向对象
__init__(self,参数) 参数一般作为属性设置给对象,对象就是self,对象性的封装。 def 方法(self,参数): 方法,第一个参数一般是固定的self,当前类的对象
创建类:
class 类名:
def __init__(self): # 初始化方法,又被称为构造方法
self.属性 = 值
self.属性 = 值
self.属性 = 值
def fangfa(self):
方法体(函数体,return)
创建对象:
变量 = 类名() #实例化 <--> 创建
变量.属性 # 访问对象的属性信息
变量.方法() # 访问类中的方法
下面以造车来举例:
class Car: # 类名首字母大写,严格遵守驼峰命名规则
pass # 造车
c = Car() #类名() 表示创建对象
c.color = 'red' # 对象.属性 中间的点表示‘的’ ,当属性不存在的时候,相当于添加一个属性
c.paizhao = '京A888888'
print(c.color)
print(c.paizhao) c.color = 'blue' # 当属性存在的时候,是修改属性星系
# 相当于一个字典,属性为key,等号后边的内容为value
class User:
def __init__(self,username,password):
self.username = username
self.password = password
def login(self):
uname = input('请输入用户名:')
passw = input('请输入密码')
if uname == self.username and passw == self.password:
print('登陆成功')
else:
print('登陆失败')
info = User('zhangmeng','ni123')
info.login()
用面向对象的思维完成用户登录
class User:
def __init__(self,username,password):
self.username = username
self.password = password
def login(self):
uname = input('请输入用户名:')
passw = input('请输入密码')
if uname == self.username and passw == self.password:
print('登陆成功')
else:
print('登陆失败')
info = User('zhangmeng','ni123')
info.login()
class Student:
def __init__(self,name,ID,grade):
self.name = name
self.ID = ID
self.grade = grade stu1 = Student('张欣','','三年级') # 把多个信息(值)保存在一个对象中
stu2 = Student('黄瑶','','六年级') def choose(s):
print('选择%s去参加竞赛'%s.name) choose(stu1)
class foo:
def getmoney(self):
print('快到碗里来') class bar(foo):
pass c = bar()
c.getmoney()
# 快到碗里来
# 封装,继承,多态 class Animal:
def run(self):
print('动物在跑') def chi(self):
print('动物在吃') class Cat(Animal): def __init__(self,name,color,hobby):
self.name = name
self.color = color
self.hobby = hobby class Dog(Animal):
def __init__(self,name,color,hobby):
self.name = name
self.color = color
self.hobby = hobby def chi(self):
print('吃吃吃') c = Cat('xiaomei','红色','偷吃鱼')
d = Dog('budian','黑色','咬东西') def func(ani):
ani.chi() func(c)
func(d)

python - 初识面向对象的更多相关文章
- Python初识面向对象
初识面向对象 面向过程 VS 面向对象 面向过程的圣墟设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西 优点是:极大的降低 ...
- python之路--初识面向对象
一 . 初识面向对象 面向过程: 一切以事务的发展流程为中心. 面向对象: 一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象 打比方: 大象进冰箱 步骤: 第一步, 开门, 第二步, 装大 ...
- python 全栈开发,Day19(组合,组合实例,初识面向对象小结,初识继承)
一.组合 表示的一种什么有什么的关系 先来说一下,__init__的作用 class Dog: def __init__(self, name, kind, hp, ad): self.name = ...
- python全栈开发从入门到放弃之初识面向对象
面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的复 ...
- 巨蟒python全栈开发-第16天 核能来袭-初识面向对象
一.今日内容总览(上帝视角,大象自己进冰箱,控制时机) #转换思想(从面向过程到面向对象) 1.初识面向对象 面向过程: 一切以事物的发展流程为中心. 面向对象: 一切以对象为中心,一切皆为对象,具体 ...
- python基础(23):面向过程与面向对象的优劣、初识面向对象
1. 面向过程与面向对象的优劣 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程 ...
- Python 入门 之 初识面向对象
Python 入门 之 初识面向对象 1.初识面向对象编程 (核心--对象) (1)观察以下代码: # 面向过程编程 s = "alexdsb" count = 0 for i i ...
- 【学习笔记】--- 老男孩学Python,day16-17 初识面向对象,类名称空间,查询顺序,组合
面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的复 ...
- python学习之老男孩python全栈第九期_day022知识点总结——初识面向对象
一. 面向对象的引入# 人狗大战 def person(name,HP,aggr,sex): person = { 'name':name, # 昵称 'HP':HP, # 生命值 'aggr':ag ...
随机推荐
- drf 单表
^_^ # [{title,price},{}] 构造的数据结构 简单的FBV/CBV def showbooks(request): # FBV if request.method =='GET': ...
- 配置React Native 安卓开发环境
配置主要分为以下几步: 安装node.js 安装AndroidStudio 安装React Native命令行工具 搭建React Native版本的Hello World,修改代码查看效果 第一步 ...
- Spring的事务
事务:事务指的是逻辑上的一组操作,这组操作要么都成功,要么都失败. Transaction事务的四大特性ACID: 1.Atomicity原子性 事务的操作要么都成功,要么都不做,只要有一个失败,就会 ...
- php 加密解密算法 用于数据传输
/** * 加密方法 * @param string $data 要加密的字符串 * @param string $key 加密密钥 * @param int $expire 过期时间 (单位:秒) ...
- Mac上超好用的计时器和秒表
秒表 https://joaomoreno.github.io/thyme/ 计时器 https://github.com/michaelvillar/timer-app 更新---这个更棒!有网页有 ...
- SKCTF Writeup
签到题 请打开微信关注,发送give me flag,即可获得. Encode 1.ACSCLL 首先看到这类题,我们肯定是要使用ASCLL的(这么明显的提示大家肯定一眼就能看出来),我们可以对照As ...
- 02_计算机网络的OSI七层(应表会传网数物)
七层: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 五层: 应用层 传输层 网络层 数据链路层 物理层 四层: 应用层 传输层 网络层 数据接口层 一.物理层(Physical Lay ...
- Oh-My-Zsh及主题、插件安装与配置
切换zsh Manjaro linux默认安装了zsh,其他可能需要先安装 cat /etc/shells #查看本地有哪几种shell chsh -s /bin/zsh #切换到zsh 默认终端启动 ...
- SQL中IN与EXISTS的区别
1.IN子句中的子查询只能返回一个字段,不允许返回多个字段,而EXISTS可以返回多个字段 2.IN返回的是某字段的值,而EXISTS返回的则是True或False,EXISTS子句存在符合条件的结果 ...
- 一些Java基础方面问题的总结
1.Overloaded的方法是否可以改变返回值的类型? 答案:可以. overload是重载,overloaded是什么?重载的过去式?我还以为是我没见过的注解,也没有给限定条件,代码测试一下. p ...