类的是劣化过程解剖

类的语法

class Dog(object):

    print("hello,I am a dog!")

d = Dog() #实例化这个类
#此时的d就是类Dog的实例化对象
#实例化,其实就是以Dog类为模版,在内存里开辟一块空间,存上数据,赋值成一个变量名

注:上面的代码其实有问题,想给狗起名字传不进去

传如名字,类的局部函数内的转换过程

class Dog(object):
def __init__(self,name): #构造函数,构造方法==初始化方法
self.NAME = name def sayhi(self): #类的方法
print("hello , I am a is",self.NAME) d = Dog("shali") #Dog(d,"shali") #实例化后产生的对象叫实例。
print(d.sayhi())

为什么有__init__? 为什么有self?

# d = Dog('LiChuang', "京巴")
# d.sayhi() print(Dog)

没实例直接打印Dog输出如下

<class '__main__.Dog'>

代表 即使不实例化,这个Dog类本身也是已经存在内存里的,那实例化时,会产生什么化学反应呢?

其实self,就是实例本身!你实例化时python会自动把这个实例本身通过self参数传进去。

  

Python 类的式列化过程解剖的更多相关文章

  1. Python进阶6---序列化与反序列化

    序列化与反序列化*** 为什么要序列化 ? 定义 pickle库 #序列化实例 import pickle lst = 'a b c'.split() with open('test.txt','wb ...

  2. python学习15-序列化(转载)

    序列化是指把内存里的数据类型转换成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘和网络传输时只能接受bytes 一.pickle 把python对象写入到文件中的一种解决方案,但是写入到文件 ...

  3. python类特列方法使用

    class Rgc(object): def __new__(cls, *args, **kwargs): print('在类通过__new__方法实例化一个对象') return super(Rgc ...

  4. 实列+JVM讲解类的实列化顺序

    刨根问底---类的实列化顺序 开篇三问 1什么是类的加载,类的加载和类的实列有什么关系,什么时候类加载 2类加载会调用构造函数吗,什么时候调用构造函数 3什么是实列化对象,实列化的对象有什么东西. 我 ...

  5. 细说python类3——类的创建过程

    细说python类3——类的创建过程 https://blog.csdn.net/u010576100/article/details/50595143 2016年01月27日 18:37:24 u0 ...

  6. Django REST framework--序列化

    Django REST framework--序列化 基础准备工作 创建项目添加应用 (venv) lee@lee:~/PycharmProjects/Djdemo/djdemo$ python ma ...

  7. 再学python类(终结篇)

    续写 初学python类,这几天吃坏东西了,拖着虚弱的身躯写的.有些乱请各位看官海涵. 声明:本人编程新手,还在学习中.所表述的东西都是基础语法之类的,分享我的学习笔记.还望多多指点,我一定虚心接受. ...

  8. 【Python&数据结构】 抽象数据类型 Python类机制和异常

    这篇是<数据结构与算法Python语言描述>的笔记,但是大头在Python类机制和面向对象编程的说明上面.我也不知道该放什么分类了..总之之前也没怎么认真接触过基于类而不是独立函数的Pyt ...

  9. python类:magic魔术方法

    http://blog.csdn.net/pipisorry/article/details/50708812 魔术方法是面向对象Python语言中的一切.它们是你可以自定义并添加"魔法&q ...

随机推荐

  1. 一、K3 WISE 开发插件《K3 WISE常用数据表整理》

    在后台数据库ICClassType表中,字段FID<0的是老单,FID>0的是新单. ----------------系统设置------------------------FStatus ...

  2. springboot2.X访问静态文件配置

    config配置: @Configuration public class WebMvcConfig implements WebMvcConfigurer { /** * 跨域配置 * @retur ...

  3. nfs文件共享服务

    文件共享服务端10.100.1.13: yum install -y rpcbind nfs-utils  #rpcbind可以给nfs开多个端口 service rpcbind start serv ...

  4. python数据库操作

    python操作数据库应该比java更简单些,连接数据库需要有驱动,pcat就推荐自己遇到的3个模块:mysql.connector.sqlalchemy.MySQLdb

  5. js字符串转数字(小数),数字转字符串

    将字符串转化为小数并加法计算,然后保留两位小数 (parseFloat(that.data.pay_price) + parseFloat(that.data.qiandao)).toFixed(2) ...

  6. Linux 下安装mysql 5.7

    Linux 下安装mysql 5.7 本人首次安装时按照菜鸟教程的步骤一步一步来的,结果意外的是 装成5.6了,而且各种无厘头的问题,例如无法启动... 本文参照 大佬:‘这个名字想了很久~’ 的&l ...

  7. 转 python测试框架最全资源汇总

    转自: http://www.testclass.net/list/python_list_1/ xUnit frameworks(单元测试框架) frameworks 框架 unittest - p ...

  8. 【MySQL】锁——查看当前数据库锁请求的三种方法 20

    MySQL提供了查看当前数据库锁请求的三种方法:1. show  full  processlist命令  观察state和info列 2. show engine  innodb status\G ...

  9. 固定浮动侧边栏(SmartFloat)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. 地图标绘系统V1.0测试版【申明:来源于网络】

    地图标绘系统V1.0测试版[申明:来源于网络] 地址:http://blog.csdn.net/allgis/article/details/39718085