python类(class)中参数self的简单解释 1.self只有在类的方法中才会有,其他函数或方法是不必带self的. 2.在调用时不必传入相应的参数.3.在类的方法中(如__init__),第一参数永远是self,表示创建的类实例本身,而不是类本身.4.可以把对象的各种属性绑定到self.5.self代表当前对象的地址.self能避免非限定调用造成的全局变量.6.self不是python的关键字,也可以用其他名称命名,但是为了规范和便于读者理解,推荐使用self.    python中的…
1)_init_函数(方法) #-*- encoding:utf-8 -*- class NewClass(object): def __init__(self,name): print self self.name = name print "我的名字是%s" % self.name cc = NewClass() 打印结果: <__main__.NewClass instance at 0x020D4440> 我的名字是yhc 在这段代码中,self是NewClass类…
别的语言中关于函数有传值和传引用的区分. 关于此,流传很广的一个说法是 他们在现象的区别之一就是值传递后的变化,受到影响的就是引用,未受到影响的就是传值.   在学习中,也曾碰到过这个问题,网上关于这个也是有着一些争论,各执一词. 但是官方文档中,却明确写着是call by object reference. https://docs.python.org/2/tutorial/controlflow.html#id2   The actual parameters (arguments) to…
python面向对象中的继承关系中,子类对父类的构造方法的调用有两种方法: 父类名.__init__(self,参数) #注意名字是父类 super(本子类名,self)__init__(其他参数) #注意名字是本身子类,而且init后是self之外的参  例子程序代码: # -*- coding:utf-8 -*- class Person(object): __metaclass__=type def __init__(self,name="Jim"): "父类的构造方法…
函数中讲解参数: 形参和实参的认识 函数无参数的调用 函数单个参数的调用 函数多个参数的调用 # #调试函数给默认参数传新值,则函数使用新值 # 注意:当多种参数同时出现在函数中,默认参数要放在最后的位置,不能放在形式参数的前面 在函数中直接给与形参赋予实参,在函数调用函数本身的时候不需要赋予实参 不同类型的参数不能相加 main调用方法 可变元组(*)可以传入多个实参 参数可变长字典格式 参数为可变长字典 参数为可变长字典(实参在函数中调用) 注意点:如果当前函数中同时出现可变长元组和可变长字…
类的继承.多态.封装 一.类的继承 1.应用场景: 类大部分功能相同,大类包含小类的情况 例如: 动物类 共性:都要吃喝拉撒.都有头有脚 特性: 猫类.走了很轻,叫声特别,喜欢白天睡觉 狗类.的叫声很大,晚上睡觉 2.继承顺序 在python2版本中多重继承有分两种继承循序 (1).一直往上找 .找到最高级的父类再重另外一个分支找,直到找到为止. (2).一直往上找,找到最高级父类的下一层后就不找了.从另外一个分支找,另外一个分支没找到最后才找最高级的父类. 再python3中只有第一种继承循序…
在Python教程里,针对默认参数,给了一个“重要警告”的例子: def f(a, L=[]): L.append(a) return L print(f(1)) print(f(2)) print(f(3)) 默认值只会执行一次,也没说原因.会打印出结果: [1] [1, 2] [1, 2, 3] 因为学的第一门语言是Ruby,所以感觉有些奇怪. 但肯定的是方法f一定储存了变量L. 准备知识:指针 p指向不可变对象,比如数字.则相当于p指针指向了不同的内存地址. p指向的是可变对象,比如lis…
先看语法,python 类语法中有三种方法,实例方法,静态方法,类方法. # coding:utf-8 class Foo(object): """类三种方法语法形式""" def instance_method(self): print("是类{}的实例方法,只能被实例对象调用".format(Foo)) @staticmethod def static_method(): print("是静态方法")…
python 类(object)的内置函数 # python 类(object)的内置函数 ### 首先 #### 以__双下划线开头的内置函数 __ #### __往往会在某些时候被自动调用,例如之前了解的__next__的函数,和__init__函数, 这类函数 还有一些常用的: #### 1 .isintance 2. issubclass ```python isinstance(obj , cls) class Foo (object): pass obj = Foo () isins…
上节<第8.5节 Python类中的__new__方法和构造方法__init__关系深入剖析:执行顺序及参数关系案例详解>通过案例详细分析了两个方法的执行顺序,不知大家是否注意到了,在上述代码中__new__方法调用父类的__new__方法时,传递参数只传递了cls一个实参,而没有传递后面两类参数(在本例中只有第一类参数中有1个实参10).这个问题也困扰了老猿,我们先验证一下,如果传递全部参数会怎样. 一. 案例1:调用object类的__new__传参验证 我们将上节的类中的__new__方…