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 ...
随机推荐
- 2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析 一.原理与实践说明 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2 ...
- nginx 环境不支持thinkPHP
在linux+Nginx+mysql+PHP 新装的服务器下,不支持重写pathinfo功能 . 需要加入这个代码 让Nginx 支持重写功能 location / { if (!-e $reques ...
- 解决 IntelliJ IDEA Tomcat 控制台中文输出乱码问题
解决办法 找到安装IDEA的bin目录将idea.exe.vmoptions和idea64.exe.vmoptions两个文件打开分别在文件最末尾添加-Dfile.encoding=UTF-8
- 新疆大学ACM-ICPC程序设计竞赛五月月赛(同步赛) H XOR
链接:https://www.nowcoder.com/acm/contest/116/H来源:牛客网 题目描述 Once there was a king called XOR, he had a ...
- pkuwc2019游记
填坑 为了打击胡吹瞎吹恶势力 具体考试情况略了 题解 Day1 D1T1 100分 状压dp 考虑用点的存在状态转移边的情况的思想 D1T2 100分 虚树+ntt 假设在最下方的斯坦纳树上统计答案, ...
- xtrabackup 2.4.3 BUG
用XtraBackup对备份集进行apply log 的时候,卡在 xtrabackup 版本:2.4.3 InnoDB: Waited for 1535930 seconds for 128 pen ...
- EECS 649 Introduction to Artificial Intelligence
EECS 649 Introduction to Artificial IntelligenceExamElectronic Blackboard Submission Due: April 24, ...
- java为什么要重写hashCode和equals方法?
如果不被重写(原生)的hashCode和equals是什么样的? 不被重写(原生)的hashCode值是根据内存地址换算出来的一个值. 不被重写(原生)的equals方法是严格判断一个对象是否相等的方 ...
- Linux 设置系统时间和时区2.Ubuntu
查看当前时间状态 timedatectl status 设置时区 sudo dpkg-reconfigure tzdata Asia shanghai
- Eclipse中Lombok的安装和注解说明
Lombok 可用来帮助开发人员消除 Java 的重复代码,尤其是对于简单的 Java 对象(POJO),比如说getter/setter/toString等方法的编写.它通过注解实现这一目的. 官网 ...