类的调用

实例化

class Luffy:
school = 'luffy'
def __init__(self,name,age):
self.Name = name
self.Age = age
def learn(self):
print('%s is learning' % self.Name)
def eat(self):
print('is eating') stu1 = Luffy('xing',19)

__init__,初始化方法,可差异化不同对象,self为自己本身,实例化时把 自己传递进去了

stu1 = Luffy('xing',19)
print(stu1.Name)
Luffy.__init__(stu1,'yang',22)
print(stu1.Name)
---------------------------------------
xing
yang

甚至可以通过以上方法更改属性

stu1 = Luffy('xing',19)

stu1.learn()
Luffy.learn(stu1)
--------------------------------
xing is learning
xing is learning

以上为调用类的方法的两种方法

注意:

实例化对象有自己的特有属性

stu1 = Luffy('Tom',19)
stu2 = Luffy('Bob',22) print(stu1.__dict__)
print(stu2.__dict__)
---------------------------
{'Name': 'Tom', 'Age': 19}
{'Name': 'Bob', 'Age': 22}

实例化对象的公共数据属性都指向类中数据属性的地址,而函数属性则是自己的地址

stu1 = Luffy('Tom',19)
stu2 = Luffy('Bob',22) print(id(stu1.school))
print(id(stu2.school))
print(id(Luffy.school)) print(id(stu1.learn))
print(id(stu2.learn))
print(id(Luffy.learn))
-------------------------------
15527680
15527680
15527680 # 数据属性地址一样 12010160
12010160
16096184 # 函数属性地址stu1和stu2一样(可能是Python新版的优化)

Python3 中统一了类型与类的概念

l1 = [1,2,3]
l2 = list([4,5,6])
print(type(l1),type(l2)) l1.append(4)
list.append(l2,7)
print(l1)
print(l2)
------------------
<class 'list'> <class 'list'> [1, 2, 3, 4]
[4, 5, 6, 7]

Python--类的调用的更多相关文章

  1. python类内部调用自己的成员函数必须加self

    class A: def a(self): print("hello world") def b(self): return self.a() 上面的self.a()中self是不 ...

  2. Python类中的装饰器在当前类中的声明与调用

    [本文出自天外归云的博客园] 我的Python环境:3.7 在Python类里声明一个装饰器,并在这个类里调用这个装饰器.代码如下: class Test(): xx = False def __in ...

  3. python 四种方法修改类变量,实例对象调用类方法改变类属性的值,类对象调用类方法改变类属性的值,调用实例方法改变类属性的值,直接修改类属性的值

    三种方法修改类变量,实例对象调用类方法改变类属性的值,类对象调用类方法改变类属性的值,调用实例方法改变类属性的值,类名就是类对象,city就是类变量, #coding=utf-8 class empl ...

  4. 第8.6节 Python类中的__new__方法深入剖析:调用父类__new__方法参数的困惑

    上节<第8.5节 Python类中的__new__方法和构造方法__init__关系深入剖析:执行顺序及参数关系案例详解>通过案例详细分析了两个方法的执行顺序,不知大家是否注意到了,在上述 ...

  5. Python类中super()和__init__()的关系

    Python类中super()和__init__()的关系 1.单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(sel ...

  6. python 类以及单例模式

    python 也有面向对象的思想,则一切皆对象 python 中定义一个类: class student: count = 0         books = [] def __init__(self ...

  7. Python类的特点 (1):构造函数与方法

    Python中,类的特点: #encoding:utf-8 class Parent(object): x=1 #x是Parent类的属性(字段) def __init__(self): print ...

  8. python 类中staticmethod,classmethod,普通方法

    1.staticmethod:静态方法和全局函数类似,但是通过类和对象调用. 2.classmethod:类方法和类相关的方法,第一个参数是class对象(不是实例对象).在python中class也 ...

  9. python类及其方法

    python类及其方法 一.介绍 在 Python 中,面向对象编程主要有两个主题,就是类和类实例类与实例:类与实例相互关联着:类是对象的定义,而实例是"真正的实物",它存放了类中 ...

  10. python类的定义和使用

    python中类的声明使用关键词class,可以提供一个可选的父类或者说基类,如果没有合适的基类,那就用object作为基类. 定义格式: class 类名(object): "类的说明文档 ...

随机推荐

  1. python线程+队列(queue)

    ---恢复内容开始--- python的线程学习 用处 pocpiliang脚本的编写 函数式:调用 _thread 模块中的start_new_thread()函数来产生新线程.语法如下: _thr ...

  2. 浅谈 es6 箭头函数, reduce函数介绍

    今天来谈一下箭头函数, es6的新特性 首先我们来看下箭头函数长什么样子, let result = (param1, param2) => param1+param2; 上述代码 按照以前书写 ...

  3. 绕过本机DNS缓存

    --转载注明来源 http://www.cnblogs.com/sysnap/ 0x1 背景 往HOST文件添加127.0.0.1  www.baidu.com, 可以劫持百度的域名.病毒经常篡改HO ...

  4. sed中使用变量及变量中存在特殊字符‘/’处理

    sed中使用变量,普通的处理方式无法解析变量 如当前file文件中存在字符串pedis,现将其替换为redis [root@localhost work]# cat file pedis 如下两种替换 ...

  5. SQL-W3School-高级:SQL BETWEEN 操作符

    ylbtech-SQL-W3School-高级:SQL BETWEEN 操作符 1.返回顶部 1. BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围. BETWEE ...

  6. C++ STL transform

    #include<iostream>#include<vector>#include <list>#include <algorithm>#includ ...

  7. [ML] Roadmap: a long way to go

    看上去不错的博文: 机器学习的经典算法一览 (一) 机器学习的经典算法一览 (二)       1.引言 正文将详细介绍传统机器学习算法,基本思想和用途.把问题解决思路和方法应用建议提前到这里的想法也 ...

  8. windows10下idea快捷键文件

    没详细测试. https://my.oschina.net/superwen/blog/833482 |快捷键|英文说明|说明|冲突 |---|---|--| |Ctrl + Shift + F||根 ...

  9. xampp 启动mysql 显示busy

    1.端口被占用问题:2.默认3306端口并没有被占用:3.删除xampp\mysql\data\下的ibdata1再重启:4.没装其他mysql.

  10. FPGA回忆记事(一):基于Nios II的LED实验

    实验一:基于Nios II的LED实验 一.    创建Quartus II工程 1.打开Quartus II环境.开始->程序->Altera->Quartus II 9.1. 2 ...