day24-python之面向对象
1.面向对象
# name='元昊'
#
# gender='母'
#
# type='藏獒' #狗的特征
dog1={
'name':'元昊',
'gender':'母',
'type':'藏獒'
}
dog2={
'name':'alex',
'gender':'母',
'type':'腊肠',
}
dog3={
'name':'hb',
'gender':'母',
'type':'哈士奇'
}
person1={
'name':'武sir',
'gender':'母',
'type':'人'
} person2 = {
'name':'流水',
'gender':'母',
'type':'狗'
} def dog(name,gender,type):
# 狗的动作
def jiao(dog):
print('一条狗[%s],汪汪汪' % dog['name'])
def chi_shi(dog):
print('一条[%s] 正在吃屎' % dog['type'])
dog1 = {
'name':name,
'gender': gender,
'type': type,
'jiao':jiao,
'chi_shi':chi_shi,
}
return dog1
# d1=dog('元昊','母','中华田园犬')
# d2=dog('alex','母','藏敖')
# print(d1)
# print(d2)
# d1['jiao'](d1)
# d2['chi_shi'](d2) # def dog(name,gender,type):
# # 狗的动作
# def jiao(dog):
# print('一条狗[%s],汪汪汪' % dog['name'])
# def chi_shi(dog):
# print('一条[%s] 正在吃屎' % dog['type'])
# def init(name,gender,type):
# dog1 = {
# 'name':name,
# 'gender': gender,
# 'type': type,
# 'jiao':jiao,
# 'chi_shi':chi_shi,
# }
# return dog1
# return init(name,gender,type)
#
# d1=dog('元昊','母','中华田园犬')
# d2=dog('alex','母','藏敖')
# print(d1)
# print(d2)
# d1['jiao'](d1)
# d2['chi_shi'](d2)
2.面向对象设计练习
def school1(name,addr,type):
def init(name,addr,type):
sch = {
'name':name,
'addr':addr,
'type':type,
'kao_shi':kao_shi,
'zhao_sheng':zhao_sheng
}
return sch
def kao_shi(school):
print('%s 学校正在考试'%school['name'])
def zhao_sheng(school):
print('%s %s 正在招生'%(school['type'],school['name']))
return init(name,addr,type)
s1 = school1('将近','sb','肥猪')
s1['zhao_sheng'](s1)
def school(name,addr,type):
def init(name, addr, type):
sch = {
'name': name,
'addr': addr,
'type': type,
'kao_shi': kao_shi,
'zhao_sheng': zhao_sheng,
}
return sch
def kao_shi(school):
print('%s 学校正在考试' %school['name'])
def zhao_sheng(school):
print('%s %s 正在招生' %(school['type'],school['name']))
return init(name,addr,type) # s1=school('oldboy','沙河','私立学校')
# print(s1)
# print(s1['name'])
#
# s1['zhao_sheng'](s1)
#
s2=school('清华','北京','公立学校') print(s2)
print(s2['name'],s2['addr'],s2['type'])
s2['zhao_sheng'](s2)
3.面向对象展示
#用面向对象编程独有的语法class去实现面向对象设计
class Dog:
def __init__(self,name,gender,type):
self.name=name
self.gender=gender
self.type=type def bark(self):
print('一条名字为[%s]的[%s],狂吠不止' %(self.name,self.type)) def yao_ren(self):
print('[%s]正在咬人' %(self.name)) def chi_shi(self):
print('[%s]正在吃屎' %(self.type)) dog1=Dog('alex','female','京巴')
# print(dog1.__dict__)
dog2=Dog('wupeiqi','female','腊肠')
dog3=Dog('yuanhao','female','藏獒')
#
dog1.bark()
dog2.yao_ren()
dog3.chi_shi()
4.类相关知识
# class Chinese:
# '这是一个中国人的类'
# pass
#
# print(Chinese)
#
# #实例化到底干了什么?
# p1=Chinese() #实例化
# print(p1) '''
1.数据属性
2.函数属性
''' class Chinese:
'这是一个中国人的类'
dang='好'
def sui_di_tu_tan():
print('朝着墙上就是一口痰')
def cha_dui(self):
print('插到了前面')
#
# print(Chinese.dang)
# Chinese.sui_di_tu_tan()
# Chinese.cha_dui('元昊')
#
# print(dir(Chinese))
# print(Chinese.__dict__) #查看属性字典
# print(Chinese.__dict__['dang'])
# Chinese.__dict__['sui_di_tu_tan']()
# Chinese.__dict__['cha_dui'](1)
# print(Chinese.__name__)
# print(Chinese.__doc__)
print(Chinese.__module__)
5.对象相关知识
'''
1.数据属性
2.函数属性
'''
class Chinese:
'这是一个中国人的类' dang='公司' # def __init__(name,age,gender):
# dic={
# 'name':name,
# 'age':age,
# 'gender':gender
# }
# return dic
def __init__(self,name,age,gender):
# print('我是初始化函数,我开始运行了')
self.mingzi=name #p1.mingzi=name
self.nianji=age #p1.nianji=age
self.xingbie=gender
# print('我结束啦') def sui_di_tu_tan(self):
print('%s 朝着墙上就是一口痰' %self.mingzi)
def cha_dui(self):
print(self)
print('%s 插到了前面' %self.mingzi) def eat_food(self,food):
print('%s 正在吃%s' %(self.mingzi,food)) p1=Chinese('元昊',18,'female') #--->__init__(self,name,age,gender)
# p1.sui_di_tu_tan()
# p1.eat_food('屎')
# #
# p2=Chinese('武sir',10000,'姑娘')
# p2.eat_food('韭菜馅饼')
# print(dir(p2))
#
# p1=Chinese.__init__(p1,name,age,gender) # print(p1.__dict__)
# print(p1.__dict__['xingbie'])
# print(p1.mingzi)
# print(p1.mingzi111111111111111) # print(p1.dang) # print(Chinese.__dict__)
# Chinese.sui_di_tu_tan(p1)
# Chinese.cha_dui(p1)
#
# p1.sui_di_tu_tan()
#
# print('[------------------->')
# p1.cha_dui()
6.类属性增删改查
class Chinese:
country='China'
def __init__(self,name):
self.name=name def play_ball(self,ball):
print('%s 正在打 %s' %(self.name))
#查看
# print(Chinese.country) #修改
# Chinese.country='Japan'
# print(Chinese.country)
#
p1=Chinese('alex')
# print(p1.__dict__)
# print(p1.country)
#
# #增加
Chinese.dang='对的'
# #
# print(Chinese.dang)
# print(p1.dang)
#
# #删除
del Chinese.dang
del Chinese.country
#
print(Chinese.__dict__)
# print(Chinese.country)
#
#
def eat_food(self,food):
print('%s 正在吃%s' %(self.name,food)) Chinese.eat=eat_food
#
# print(Chinese.__dict__)
# p1.eat('屎')
#
#
def test(self):
print('test') Chinese.play_ball=test
p1.play_ball()# Chinese.play_ball(p1)
7.实例属性增删改查
class Chinese:
country='China'
def __init__(self,name):
self.name=name def play_ball(self,ball):
print('%s 正在打 %s' %(self.name,ball))
p1=Chinese('alex')
# print(p1.__dict__) #查看
# print(p1.name)
# print(p1.play_ball) #增加
# p1.age=18
# print(p1.__dict__)
# print(p1.age) #不要修改底层的属性字典
# p1.__dict__['sex']='male'
# print(p1.__dict__)
# print(p1.sex) #修改
p1.age=19
print(p1.__dict__)
print(p1.age)
#
# #删除
del p1.age
print(p1.__dict__)
8.例子
# class Chinese:
# country='China'
# def __init__(self,name):
# self.name=name
#
# def play_ball(self,ball):
# print('%s 正在打 %s' %(self.name,ball))
# p1=Chinese('alex')
# print(p1.country)
# p1.country='日本'
# print('类的--->',Chinese.country)
# print('实例的',p1.country) # country='中国'
# class Chinese:
# def __init__(self,name):
# self.name=name
#
# def play_ball(self,ball):
# print('%s 正在打 %s' %(self.name,ball))
# p1=Chinese('alex')
# print(p1.country) # country='中国'
# class Chinese:
# def __init__(self,name):
# self.name=name
#
# def play_ball(self,ball):
# print('%s 正在打 %s' %(self.name,ball))
#
# def shi_li_hua():
# name=input('>>: ')
# p1=Chinese(name)
# # print(p1.country)
# print(p1.name)
# shi_li_hua() # country='中国-------------------'
# class Chinese:
# country='中国'
# def __init__(self,name):
# self.name=name
# print('--->',country)
#
# def play_ball(self,ball):
# print('%s 正在打 %s' %(self.name,ball))
#
# print(Chinese.__dict__)
# print(Chinese.country)
# p1=Chinese('alex')
# print('实例--------》',p1.country) # Chinese.
# p.
# class Chinese:
# country='China'
# def __init__(self,name):
# self.name=name
#
# def play_ball(self,ball):
# print('%s 正在打 %s' %(self.name,ball))
# p1=Chinese('alex')
#
# print(p1.country)
# p1.country='Japan'
# print(Chinese.country) class Chinese:
country='China'
l=['a','b']
def __init__(self,name):
self.name=name def play_ball(self,ball):
print('%s 正在打 %s' %(self.name,ball))
p1=Chinese('alex')
# print(p1.l)
p1.l=[1,2,3]
print(Chinese.l)
print(p1.__dict__)
p1.l.append('c')
print(p1.__dict__)
print(Chinese.l)
day24-python之面向对象的更多相关文章
- python基础——面向对象编程
python基础——面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的 ...
- Python的面向对象3
接下来,我们接着讲Python的面向对象,在上一次的博客中,我们详细介绍了类与对象的属性,今天,我们来详细介绍一下面向对象中的方法! 1.定义实例方法 一个实例的私有属性就是以__开头的属性,无法被外 ...
- Python的面向对象2
我们接着讲解Python的面向对象 1.初始化实例属性 在现实生活中,一种类型的实例会具有相同的某些属性,把这些实例划分为一个类型,则这些实例必然有相似的部分.但是,在创建实例之后,我们一个一个的为实 ...
- Python的面向对象1
今天,我们来介绍Python的面向对象编程,其实面向对象并不陌生,在C++ ,Java ,PHP中也有大量使用! 好了,我们来步入正题! 那什么是面向对象编程呢? 1. 面向对象编程是一种程序设计 ...
- My way to Python - Day05 - 面向对象-思维导图
My way to Python - Day05 - 面向对象 思维导图
- Python进阶---面向对象的程序设计思想
Python的面向对象 一.面向过程与面向对象的对比 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...
- Python之面向对象一
引子 小游戏:人狗大战 角色:人和狗 角色属性:姓名,血量,战斗力和性别(种类) 技能:打/咬 用函数实现人打狗和狗咬人的情形 def Dog(name,blood,aggr,kind): dog = ...
- python基础——面向对象进阶下
python基础--面向对象进阶下 1 __setitem__,__getitem,__delitem__ 把对象操作属性模拟成字典的格式 想对比__getattr__(), __setattr__( ...
- python基础——面向对象进阶
python基础--面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 ...
- python基础——面向对象的程序设计
python基础--面向对象的程序设计 1 什么是面向对象的程序设计 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...
随机推荐
- maven项目中,添加依赖后,出现"Dependency 'xxxx‘ not found"解决过程
转自:https://blog.csdn.net/lixld/article/details/82284269 idea中修改pom.xml文件,添加各种工程依赖的jar,一直没有问题, 但今天遇到问 ...
- matplotlib 常用操作
标准的Python中用列表(list)保存一组值,可以当作数组使用.但由于列表的元素可以是任何对象,因此列表中保存的是对象的指针.这样一来,为了保存一个简单的列表[1,2,3],就需 要有三个指针和三 ...
- PAT 甲级 1064 Complete Binary Search Tree (30 分)(不会做,重点复习,模拟中序遍历)
1064 Complete Binary Search Tree (30 分) A Binary Search Tree (BST) is recursively defined as a bin ...
- Jmeter性能测试实战教程系列-搭建分布式性能测试环境(五)
Jmeter 是java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误.为了让jmeter工具 ...
- AI佳作解读系列(五) - 目标检测二十年技术综述
计算机视觉中的目标检测,因其在真实世界的大量应用需求,比如自动驾驶.视频监控.机器人视觉等,而被研究学者广泛关注. 上周四,arXiv新出一篇目标检测文献<Object Detection ...
- 容器版Jenkins官方镜像 本身自带了 Java
docker版Jenkins官方镜像 本身自带了 Java
- 【Leetcode_easy】888. Fair Candy Swap
problem 888. Fair Candy Swap solution: class Solution { public: vector<int> fairCandySwap(vect ...
- mysql数据库表的查询
一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...
- Deepin Linux下为Wine创建文件关联
在Deepin Linux下,默认地,使用apt安装的Wine并没有创建文件关联,这使得在文件管理器中双击exe等Windows可执行文件时,不能直接运行.为此,必须手动在桌面环境中创建文件关联. 文 ...
- scrapy工具创建爬虫工程
1.scrapy创建爬虫工程:scrapy startproject scrape_project_name >scrapy startproject books_scrapeNew Scrap ...