徐州市学Python面授学校在哪里

达内致力于面向IT互联网行业,培养软件开发工程师、测试工程师、系统管理员、智能硬件工程师、UI设计师、网络营销工程师、会计等职场人才。2015年起,推出面向青少年的少儿编程、智能机器人编程、编程数学等K12课程

Python是个非常受欢迎的编程语言,随着近些年机器学习、云计算等技术的发展,Python的职位需求越来越高。


1. 类继承

有如下的一段代码:

class A(object):

def show(self):

print 'base show'class B(A):

def show(self):

print 'derived show'

obj = B()

obj.show()

如何调用类A的show方法了。 方法如下:

obj.__class__ = A

obj.show()

_class_方法指向了类对象,只用给他赋值类型A,然后调用方法show,但是用完了记得修改回来。

2. 方法对象

问题:为了让下面这段代码运行,需要增加哪些代码?

class A(object):

def __init__(self,a,b):

self.__a = a

self.__b = b

def myprint(self):

print 'a=', self.__a, 'b=', self.__b

a1=A(10,20)

a1.myprint()

a1(80)

答案:为了能让对象实例能被直接调用,需要实现call方法

class A(object):

def __init__(self, a, b):

self.__a = a

self.__b = b

def myprint(self):

print 'a=', self.__a, 'b=', self.__b

def __call__(self, num):

print 'call:', num + self.__a

3. new和init

下面这段代码输入什么?

class B(object):

def fn(self):

print 'B fn'

def __init__(self):

print "B INIT"

class A(object):

def fn(self):

print 'A fn'

def __new__(cls,a):

print "NEW", a

if a>10:

return super(A, cls).__new__(cls)

return B()

def __init__(self,a):

print "INIT", aa1 = A(5)a1.fn()a2=A(20)a2.fn()

答案:

NEW 5

B INIT

B fn

NEW 20

INIT 20

A fn

使用new方法,可以决定返回那个对象,也就是创建对象之前,这个可以用于设计模式的单例、工厂模式。init是创建对象是调用的。

领取试听课
每天限量名额,先到先得
温馨提示:为不影响您的学业,来 徐州python培训 校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
  • 详情请进入 达内IT培训江苏校区

关于我们 | 招生信息 | 新闻中心 | 学校动态

版权所有:搜学搜课(www.soxsok.com)