经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
Python学习问题记录
来源:cnblogs  作者:btxg  时间:2019/10/9 8:56:15  对本文有异议

 

在学习Python的是后遇到点小问题,记录下来以后忘了再来看看。

一. python2 和python3在继承父类的时候是不同的。super() 是一个特殊的函数,帮助Python将父类和子类关联起来。在Python3中,直接使用如下代码:

Python3

  1. class Father():
    def __init__(self,make,kkk,aaa)
    ~~snip~~
    class Son(Father):
    super().__init__(make,kkk,aaa)

在Python2中有两种方法:

第一种

  1. class Father():
    def __init__(self,make,kkk,aaa)
    ~~snip~~
    class Son(Father):
    super(son,self).__init__(make,kkk,aaa)

第二种

  1. class Father():
    def __init__(self,make,kkk,aaa)
    ~~snip~~
    class Son(Father):
    Father.__init__(self,make,kkk,aaa) # 注意此处参数含self

二. 在运行过程中还遇到了一个问题。

遇到如下的报错,上网查询发现是调用对象函数的时候没有加 () .

  1. <bound method ElectricCar.get_descriptive_name of <__main__.ElectricCar object at 0x0000000003200A90>>
    ?

如下:

 

#encoding=utf-8
class Car(object):
    def __init__(self,make,model,year):
        """初始化描述汽车的属性"""
        self.make = make
        self.model = model
        self.year = year
        self.odometer_reading = 0

    def get_descriptive_name(self):
        """返回整洁的描述性信息"""
        long_name = str(self.year) + ' ' + self.make + ' ' + self.model
        return long_name.title()
    def read_odometer(self):
        """打印一条指出汽车里程的消息"""
        print("This car has " + str(self.odometer_reading) + " miles o it.")
    def update_odometer(self,mileage):
        """将里程表读数设置成指定的值"""
        self.odometer_reading = mileage 
class ElectricCar(Car): #继承Car的类
    def __init__(self,make,model,year):
        """初始化父类的属性"""
        super(ElectricCar,self).__init__(make,model,year)

my_tesla = ElectricCar('tesla','model s','2016')
print(my_tesla.get_descriptive_name)

加了括号后就运行正常了。

在最后一行:print(my_tesla.get_descriptive_name)改为

print(my_tesla.get_descriptive_name())   就解决问题了。

 

 

原文链接:http://www.cnblogs.com/btxg/p/11638425.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号