python 基础之特殊函数

### 特殊函数

- 示例1

  ```python
  d = {'name': 'xiaoming', 'age': 20}

  # 返回对象的字符串表示形式
  r = repr(d)

  print(r, type(r))

  # 执行有效的python代码字符串
  d2 = eval(r)

  print(d2, type(d2))

  a = 10
  b = 20
  c = eval('a + b')
  print(c)
  ```


- 示例2:

  ```python
  class Person:
      def __init__(self, name, age):
          self.name = name
          self.age = age

      # print打印对象,str方法转换时都会触发
      def __str__(self):
          print('__str__')
          return '姓名:{} 年龄:{}'.format(self.name, self.age)

      # 返回对象的字符串表示形式,使用repr函数处理时会自动触发
      def __repr__(self):
          return "Person('{}', {})".format(self.name, self.age)
      
  p = Person('王大花', 18)
  # print(p)
  # s = str(p)

  r = repr(p)
  print(r)

  p2 = eval(r)
  print(p2, type(p2))

 

posted @ 2018-12-21 22:37  青春叛逆者  阅读(132)  评论(0编辑  收藏  举报