在调式中已经发现第二次初始化worker的时候,worker的name已经为lisi了,为什么打印结果仍然是111,新手望拍砖指导。
父类
class worker(object):
'''
classdocs
'''
name="111"
salary=""
def __init__(self,name,salary):
self.name=name
self.salary=salary
#print self.name,self.salary
def work(self):
print "I'm working"
子类
from worker import worker
class Tester(worker):
'''
classdocs
'''
name=""
salary=""
sex=""
def __init__(self,name,salary,sex):
worker(name,salary)
self.name=name
self.salary=salary
self.sex=sex
def boring(self):
worker.work(self)
print self.name,self.salary,self.sex
调用类:
from com.dianxinos.model.worker import worker
from com.dianxinos.model.Tester import Tester
class Hello:
def __init__(self):
#reload()
oneworker= worker("zhangsan","5000")
oneworker.work()
print oneworker.name,oneworker.salary
def test(self):
tester=Tester("lisi","10000","man")
tester.work()
#tester.boring()
print tester.name,tester.salary,tester.sex
print super(Tester, tester).name
if __name__ == "__main__" :
h=Hello()
h.test()
打印结果:
I'm working
zhangsan 5000
I'm working
lisi 10000 man
111
111
分享到:
相关推荐
【C语言中文网Python教程】是一份离线的Python学习资料,包含了多个主题,旨在帮助用户深入了解和掌握Python编程语言。这份教程通过一系列HTML文件提供VIP级别的内容,无需网络连接即可阅读。 首先,我们来看看...
Python程序文件通常以`.py`为扩展名。 在Python的字符串操作中,切片可以用来获取字符串的一部分。如`s = "Happy New Year"`,表达式`s[3:8]`将返回子字符串'py Ne'。Python的语句布局需要保持一致的缩进,这是其...
Python中的方法有一个特殊的第一个参数,通常命名为`self`,它引用的是调用该方法的对象。`self`不是关键字,但约定俗成用于指向实例本身。例如: ```python class MyClass: def my_method(self): print(self) ``...
初学者通常从学习Python的基本语法开始,比如数据类型(整数、浮点数、字符串、布尔值等)、变量的命名规则、以及如何使用Python中的字符串进行编码操作。list和tuple是Python中用于存储序列数据的两种主要类型,...
`hasattr()`、`getattr()`和`setattr()`函数分别用于检查对象是否有特定属性、获取属性值和设置属性值。`delattr()`则用于删除对象的属性。私有方法(如`__private_method`)是双下划线开头的,限制了它们只能在类...
- **对于不可变对象**(如整数、字符串和元组),在函数内部改变这些对象的值并不会影响原始变量。这是因为不可变对象一旦创建就不能改变,任何改变都会创建一个新的对象。 示例: ```python def fun(a): a = ...
- **不可变类型**:一旦创建后,其值就不能被改变。主要包括数字类型、字符串和元组。 - **可变类型**:可以更改其值。主要包括列表、字典和集合。 #### 18. 去重并按照升序排列 要对字符串中的字符进行去重并排序...
3. **对象赋值**:Python中的对象赋值实际上是引用的复制,而不是值的复制。这意味着当一个对象赋值给另一个变量时,它们都指向同一个内存位置。这也可以理解为一种“变成”——两个变量现在都代表了相同的对象。 `...
Python是一种高级编程语言,以其简洁明了的语法和强大的...这个“Python课件”可能涵盖了以上这些方面,通过学习,你可以逐步提升Python编程技能,掌握从基础到高级的各个层面,为在IT领域的工作和研究打下坚实的基础。
5. **StopIteration**:迭代器没有更多的值可返回。在遍历迭代器时,当没有更多元素时,会抛出此异常。 6. **GeneratorExit**:生成器(generator)在某些情况下需要异常来通知其退出,例如`next()`调用在一个已关闭...
在Python编程语言的世界里,初学者常常通过一系列的思维导图来...以上知识点构成了Python编程的基础框架,通过深入理解和实践这些概念,初学者能够逐步掌握Python语言,并为进一步学习更复杂的编程技术打下坚实基础。
其次,编码方面,Python 3.x 将源码文件的默认编码设定为 UTF-8,这使得直接在代码中使用非 ASCII 字符变得更加简单和直观。例如,你可以直接在代码中声明并打印中文字符,如 `print(中国)`,而在 Python 2.x 中则...
静态方法不会跟随继承链改变,它总是指向定义它的那个类,而类方法则会根据调用的子类或父类改变其行为。 以上所述知识点是对给定文件内容中出现的Python面向对象编程概念和实践的总结。在实际编程中,合理利用这些...
Python还支持动态类型,意味着变量可以存储不同类型的值。 控制流程是程序的重要组成部分。在Python中,`if`、`elif`和`else`用于条件判断,`for`和`while`用于循环。例如,`for i in range(10): print(i)`会打印出...
- **常量**:一旦赋值后就不能改变的数据值。 **2.3 运算符** - **算术运算符**:如加法(+)、减法(-)等。 - **比较运算符**:如等于(==)、不等于(!=)等。 - **逻辑运算符**:如and、or、not等。 **2.4 输入与输出...
- **为什么选择Python而不是Perl**: - Python相较于Perl在语法上更加清晰,学习曲线更为平缓。 - Python支持多种编程范式,包括面向对象、命令式和函数式编程。 - **目标读者**: - 无论是初学者还是有一定编程...
- Python中没有严格的私有属性概念,但可以通过命名约定实现一定程度的封装。 - **继承和多态**: - 继承允许子类继承父类的属性和方法。 - 多态意味着不同类的对象可以响应相同的接口。 - **获取对象信息**: - ...
- **使用源文件**:将Python代码保存为.py文件,便于管理和复用。 ##### 基本概念 - **字面意义上的常量**:如数字、字符串等,是编程中最基本的数据单元。 - **变量**:用于存储数据的标识符,遵循特定的命名规则...
- **为什么选择Python作为编程入门语言**:Python因其简洁易懂的语法而成为学习编程的理想起点。它支持多种编程范式,如面向对象、命令式、函数式等,并且拥有庞大的标准库和第三方库,使得开发工作变得更加高效。 ...