新学 发表于 2019-8-17 18:37:51

Python类实例化

请各位鱼友帮我指出如下代码的错误。
此代码能正常运行,系统返回值0.可是没有任何输出。
求各位大神相助。
class User:
    def __init__(self, first, last, **info):
      self.first = first
      self.last = last
      self.info = {}
      for key, value in info.items():
            self.info = value
   
    def describe_user(self):
      print('user name:', self.first , self.last)
      for key,value in self.info.items():
            print(key + ':' + value)
   
    def greet_user(self):
      print('Hello,', self.first, self.last+'!')
      
Li_Wenjie = User('Li', 'Wenjie', sex='male', identity='administrator')
Li_Wenjie.describe_user
Li_Wenjie.greet_user

zltzlt 发表于 2019-8-17 18:42:57

你没有 print 当然不输出啦!

class User:
    def __init__(self, first, last, **info):
      self.first = first
      self.last = last
      self.info = {}
      for key, value in info.items():
            self.info = value

    def describe_user(self):
      print('user name:', self.first, self.last)
      for key, value in self.info.items():
            print(key + ':' + value)

    def greet_user(self):
      print('Hello,', self.first, self.last + '!')


Li_Wenjie = User('Li', 'Wenjie', sex='male', identity='administrator')
print(Li_Wenjie.describe_user)
print(Li_Wenjie.greet_user)

zltzlt 发表于 2019-8-17 18:44:50

本帖最后由 zltzlt 于 2019-8-17 19:08 编辑

不好意思搞错了,正确代码:

(函数调用一定要加括号 ())

class User:
    def __init__(self, first, last, **info):
      self.first = first
      self.last = last
      self.info = {}
      for key, value in info.items():
            self.info = value

    def describe_user(self):
      print('user name:', self.first, self.last)
      for key, value in self.info.items():
            print(key + ':' + value)

    def greet_user(self):
      print('Hello,', self.first, self.last + '!')


Li_Wenjie = User('Li', 'Wenjie', sex='male', identity='administrator')
Li_Wenjie.describe_user()
Li_Wenjie.greet_user()

jackz007 发表于 2019-8-17 18:54:20

      函数调用可以不加括号的吗?
Li_Wenjie.describe_user()
Li_Wenjie.greet_user()

_2_ 发表于 2019-8-17 19:34:56

jackz007 发表于 2019-8-17 18:54
函数调用可以不加括号的吗?
Li_Wenjie.describe_user()
Li_Wenjie.greet_user()

不可以,否则会成下面这样:
>>> def func():
        pass

>>> func
<function func at 0x02888F18>
>>>

_2_ 发表于 2019-8-17 19:35:46

jackz007 发表于 2019-8-17 18:54
函数调用可以不加括号的吗?
Li_Wenjie.describe_user()
Li_Wenjie.greet_user()

不可以,否则会成下面这样:
>>> def func():
        pass

>>> func
<function func at 0x02888F18>
>>>

jackz007 发表于 2019-8-17 19:41:16

_2_ 发表于 2019-8-17 19:35
不可以,否则会成下面这样:

      难道我不知道,看不出来我是在反问吗,多此一举!

zltzlt 发表于 2019-8-17 19:45:41

_2_ 发表于 2019-8-17 19:35
不可以,否则会成下面这样:

7 楼说得对,他是在反问,这都看不出来{:10_321:}
页: [1]
查看完整版本: Python类实例化