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 什么是面向对象的程序设计 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...
随机推荐
- python中的修饰符@的作用
1.一层修饰符 1)简单版,编译即实现 在一个函数上面添加修饰符 @另一个函数名 的作用是将这个修饰符下面的函数作为该修饰符函数的参数传入,作用可以有比如你想要在函数前面添加记录时间的代码,这样每个函 ...
- python哲学
import this The Zen of Python, by Tim Peters # python的设计哲学, 作者:Tim Peters Beautiful is better than u ...
- Spring cloud微服务安全实战-5-8实现基于session的SSO(认证服务器的session有效期)
认证服务器 session的有效期. 也就是认证服务器上的session的有效期 生成环境下,认证服务器一定是一个集群.集群.那么session一定是要在所有的服务器之间进行共享的.最简单的方式是用S ...
- SignalR 传Model类型的参数
目录 集线器方法 js调用 集线器方法 集线器写了一个方法是这样的 public void test(string name, Customer customer) 第一个参数是string类型的,第 ...
- Vue学习笔记十一:按键修饰符和自定义指令(钩子函数)
目录 padStart:补位 按键修饰符 Vue提供的按键修饰符 自定义按键修饰符 自定义指令 自定义指令的使用 钩子函数 钩子函数参数 使用钩子函数的bingding参数 私有自定义指令 钩子函数的 ...
- [ kvm ] 学习笔记 5:QEMU-KVM 命令详解
1. QEMU.KVM .QEMU-KVM QEMU 提供了一系列的硬件模拟设备(cpu.网卡.磁盘等),客户机指令都需要QEMU翻译,因此性能较差.KVM 是Linux 内核提供的虚拟化模块,负责C ...
- 页面进行ajax时 显示一个中间浮动loading
先发效果图,加载东西的时候如果没有设计或者其它提示会降低用户体验,所以写了个简单的loading弹层. 适用于触屏和pc页面. /* 页面进行ajax时 显示一个中间浮动loading @auther ...
- JavaScript获取手机屏幕翻转方法
/*屏幕翻转*/ window.addEventListener(window['onorientationchange'] ? 'orientationchange' : 'resize', fun ...
- CF1223D Sequence Sorting
思路: 首先把数组离散化,然后观察可以发现,在最优解中最终没有被移动过的那些数字一定是连续的,那么找到最长的连续的数字长度即可. 实现: #include <bits/stdc++.h> ...
- svn查看登录过的账号密码
直接下载:http://www.leapbeyond.com/ric/TSvnPD/