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 什么是面向对象的程序设计 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...
随机推荐
- 001-guava概述
一.概述 Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] .缓存 [caching] .原生类型支持 [primitives supp ...
- Flutter利用GridView实现网格的商品布局
GridView.count 生成的是静态网格 效果: 代码: import 'package:flutter/material.dart'; void main() { runApp(MyApp() ...
- Python3入门(十三)——常用内置模块之摘要模块hashlib/hmac
(1)hashlib hashlib提供了常见摘要算法:如MD5,SHA1等等 一个md5的加密示例如下: import hashlib m = hashlib.md5() m.update(&quo ...
- Linux记录-批量安装ssh(转载)
首先,需要检查expect是否安装:rpm -qa|grep expect 然后,在操作机上创建公钥:ssh-keygen 一路回车即可 创建好之后到/root/.ssh/下就可以看到id开头的2个文 ...
- ArrayList数组操作
String字符类型的操作方法 public static void main(String[] args) { // ArrayList ArrayList<String> list = ...
- array_map
<?php //对数组中的每个元素做函数处理 $arr = array(,,,,,); function cheng($hah){ ; } var_dump(array_map('cheng', ...
- MySQL修改表名示例
首先,我们新建一个名为test_table的表: drop table if exists test_table; create table test_table select TABLE_SCHEM ...
- ASP.NET(C#)图片加文字、图片水印,神啊,看看吧
ASP.NET(C#)图片加文字.图片水印 一.图片上加文字: //using System.Drawing; //using System.IO; //using System.Drawing.Im ...
- 解释张量及TF的一些API
张量的定义 张量(Tensor)理论是数学的一个分支学科,在力学中有重要应用.张量这一术语起源于力学,它最初是用来表示弹性介质中各点应力状态的,后来张量理论发展成为力学和物理学的一个有力的数学工具.张 ...
- Word中如何加载EndNote
在百度中搜索了很多解决方案,都不尽相同忙了一上午也没解决,然后搁浅,吃过午饭回来在安装目录下找到如下exe文件三四步点击搞定 所以,有时候问题出现了长时间没解决,可以换下环境出去溜达一圈说不定就茅塞顿 ...