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 ...
随机推荐
- centos6.5 MySQL数据库的安装
<div id="home"><div id="header"> <div id="blogTitle"> ...
- python-支付宝支付示例
项目演示: 1.输入金额 2.扫码支付: 3.支付完成: 4.跳转回商户 一.注册账号 https://openhome.alipay.com/platform/appDaily.htm?tab= ...
- datagridview 添加数据库数据
private void btnadd_Click(object sender, EventArgs e) { string str = @"Data Source=(localdb)\MS ...
- Rabbit原理理解
1.RabbitMQ知多少 圣杰 2.[RabbitMQ]——三种Exchange模式(Fanout.Direct.Topic) https://blog.csdn.net/hao134838/a ...
- Developing Vert.x Modules using the Standard Project
The module The tests Unit tests Integration tests Java integration tests JavaScript integration test ...
- Vue学习——学习vue必须了解的几个知识点
node.js介绍 Node 是一个让 JavaScript 运行在服务端的开发平台,使用JavaScript也可以开发后台服务.说明白些它仅仅是一个平台,我们使用vue开发必须要安装node.js. ...
- windows 10, v1903 正式版下载
一.简体中文版 cn_windows_10_business_editions_version_1903_x64_dvd_e001dd2c.iso sha1:bc6176bee6130 ...
- 好玩图像pil处理
pil库的学习总结 #__author:'lwq'#date: 2018/11/15 from PIL import Image,ImageFilter,ImageDraw,ImageFont ### ...
- HDU 3085 Nightmare Ⅱ(噩梦 Ⅱ)
HDU 3085 Nightmare Ⅱ(噩梦 Ⅱ) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Ja ...
- [IoC容器Unity]第三回:依赖注入
1.引言 上节介绍了,Unity的Lifetime Managers生命周期,Unity具体实现依赖注入包含构造函数注入.属性注入.方法注入,所谓注入相当赋值,下面一个一个来介绍. 2.构造函数注入 ...