# class Chinese(object):
class Chinese:
'''
类的说明性文档
'''
pass print(Chinese) # <class '__main__.Chinese'> # 类的实例化:类名+小括号,到底做了什么?
p1 = Chinese()
print(p1) # <__main__.Chinese object at 0x0568C2B0>

类的属性操作

 class Chinese:
country = 'China'
def __init__(self,name):
self.name = name
def play(self):
print("玩耍")
def sing(self):
print("唱歌") print(Chinese) # <class '__main__.Chinese'>
# 打印类的数据字典
print(Chinese.__dict__) #################——数据属性——######################
# 查看
print(Chinese.country) # China
# 修改
Chinese.country = '中国'
print(Chinese.country) # 中国
# 增加
Chinese.dang = '党'
print(Chinese.dang)
# 删除
# print(Chinese.__dict__)
del Chinese.dang
# 打印类的数据字典
# print(Chinese.__dict__) #################——函数属性——######################
def eat(self):
print("吃吃吃")
def eat123(self):
print("吃吃吃123")
# 增加
Chinese.eat = eat
# 查看
print(Chinese.eat) # <function eat at 0x04D0C8E8>
# 打印类的数据字典
# print(Chinese.__dict__)
# 修改
Chinese.eat = eat123
print(Chinese.eat) # <function eat123 at 0x04DEC810>
# 删除
del Chinese.eat
# print(Chinese.__dict__)

实例的属性操作

 class Chinese:
country = 'China'
def __init__(self,name):
self.name = name
def play(self):
print("玩耍")
def sing(self):
print("唱歌") p1 = Chinese('yuan')
print(p1) # <__main__.Chinese object at 0x05079CD0>
# 打印实例的数据字典【即init中的】
print(p1.__dict__) # {'name': 'yuan'} #################——数据属性——######################
# 查看
print(p1.name) # yuan
# 增加
p1.age = 18
print(p1.age) #
# 打印实例的数据字典
print(p1.__dict__) # {'name': 'yuan', 'age': 18} #不要修改底层的属性字典
# p1.__dict__['sex']='male'
# print(p1.__dict__)
# print(p1.sex) # 修改
p1.age = 23
print(p1.age) #
print(p1.__dict__) # {'name': 'yuan', 'age': 23}
# 删除
del p1.age
print(p1.__dict__) # {'name': 'yuan'} #################——函数属性——######################
# 实例没有函数属性
# 类的属性修改会直接体现到实例 def eat(self):
print("吃吃吃")
# 增加
p1.eat = eat
# 查看【忘记吧】
# p1.eat("###") # 容易出错
# p1.eat(p1)

类与实例

 country = "中国****"
class Chinese:
country = 'China'
def __init__(self,name):
self.name = name
print("--->", country) # ---> 中国****
def play(self):
print("玩耍")
def sing(self):
print("唱歌") p1 = Chinese('yuan')
# 打印实例的数据字典
print(p1.__dict__) # {'name': 'yuan'}
# 【当实例的数据字典没有时】访问类的数据字典
print(p1.country) p1.country = "中国"
# 打印实例的数据字典
print(p1.__dict__) # {'name': 'yuan', 'country': '中国'}
# 访问实例的数据字典
print(p1.country) # 中国 # 访问类的数据字典
print(Chinese.country) # China
# 初始化时【country与p1.country、Chinese.country的区别】
p2 = Chinese('Lucy') # 初始化时

Python开发——面向对象【类、实例】的更多相关文章

  1. Python之面向对象类和对象

    Python之面向对象类和对象 定义一个类:class 定义类的语法: class Test(object): """ 类里定义一类事物共同的技能. 可以是变量,也可是函 ...

  2. python(面向对象-类封装调用)

    一.面对对象思想 (1)大家肯定听过 Python 中”一切皆对象“的说法,但可能并不了解它的具体含义,只是在学习的时候听说 Python 是面向对象的编程语言,本节将向大家详细介绍 Python 面 ...

  3. python开发面向对象基础:组合&继承

    一,组合 组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合      人类装备了武器类就是组合 1.圆环,将圆类实例后传给圆环类 #!/usr/bin/env python #_*_ ...

  4. Day 21 python :面向对象 类的相关内置函数 /单例模式 /描述符

    1.isinstance(obj,cls) 检查obj是否是类cls的对象: 备注:用isinstance 的时候,产生实例后,会显示实例既是父类的实例,也是子类的实例 class Mom: gend ...

  5. python开发面向对象基础:接口类&抽象类&多态&钻石继承

    一,接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实 ...

  6. python的面向对象-类的数据属性和实例的数据属性相结合-无命名看你懵逼不懵逼系列

    1. class Chinese: country='China' def __init__(self,name): self.name=name def play_ball(self,ball): ...

  7. PYTHON开发--面向对象基础入门

    面向对象 一:面向对象初级 1.思考:首先在python中,以前我们以前用到的几乎都是函数式编程,但是有时候函数式编程其中代码重复利用率太高,我们往往会把这些重复代码写进一个函数日后去调用,所以呢,今 ...

  8. PYTHON开发--面向对象基础二

    一.成员修饰符 共有成员 私有成员, __字段名 - 无法直接访问,只能间接访问 1.     私有成员 1.1  普通方法种的私有成员 class Foo: def __init__(self, n ...

  9. python开发面向对象基础:人狗大战学面向对象

    一,通过函数写人狗大战这个故事 #!/usr/bin/env python #_*_coding:utf-8_*_ #1.函数 人模子 def person(name,level,life_value ...

随机推荐

  1. ubuntu18.04 apt-get换国内源 阿里源 163源 清华源 中科大源

    服务器上安装了最新的Ubuntu Server 18.04,代号为bionic.使用apt-get命令安装软件时,有时候速度比较慢,有时候会失败.因此考虑用国内的镜像源更换下apt-get的默认源. ...

  2. redis 4.x 安装哨兵模式 sentinel

    1.下载 http://download.redis.io/releases/redis-4.0.11.tar.gz 2.解压 tar zxvf redis-4.0.11.tar.gz 3.安装 cd ...

  3. redis 双写一致性 看一篇成高手系列1

    首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用.在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作. 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存.又或者 ...

  4. 转:细说ASP.NET Windows身份认证

    转自:https://www.cnblogs.com/fish-li/archive/2012/05/07/2486840.html 细说ASP.NET Windows身份认证 阅读目录 开始 认识A ...

  5. 一个简单的gridlayout栗子

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. android 开发 View _6_Canvas详解

    牛逼大神的博客地址:http://www.gcssloop.com/customview/Canvas_BasicGraphics 安卓自定义View进阶-Canvas之绘制图形 在上一篇自定义Vie ...

  7. 深度学习原理与框架-猫狗图像识别-卷积神经网络(代码) 1.cv2.resize(图片压缩) 2..get_shape()[1:4].num_elements(获得最后三维度之和) 3.saver.save(训练参数的保存) 4.tf.train.import_meta_graph(加载模型结构) 5.saver.restore(训练参数载入)

    1.cv2.resize(image, (image_size, image_size), 0, 0, cv2.INTER_LINEAR) 参数说明:image表示输入图片,image_size表示变 ...

  8. spark-1

    先测试搭好的spark集群: 本地模式测试: 在spark的目录下: ./bin/run-example SparkPi 10 --master local[2] 验证成功: 集群模式 Spark S ...

  9. git保存用户名和密码

    git保存用户名和密码 简介:tortoiseGit(乌龟git)图形化了git,我们用起来很方便,但是我们拉取私有项目的时候,每次都要输入用户名和密码很麻烦,这里向大家介绍怎么避免多少输入 试验环境 ...

  10. k8s定义Deployment,和service

    定义一个Deployment和service做个简单的笔记 有时候我们需要开放Pod的多个端口,比如nginx的80和443端口,那如何定义Deployment文件呢,定义单个端口如下 apiVers ...