1. 14、人工智能Python基础之面向对象_实例属性、类属性、内置类属性、内置函数_笔记
    2. # 编程方式:面向过程 函数式 面向对象
    3. # 面向对象(Object Oriented,OO)是软件开发方法
    4. # 属性:实例属性(通过构造方法里创建) 类属性
    5. # 实例属性一定要通过构造方法来声明
    6. # 类属性:定义在类中且在方法体之外,类属性在所有实例化对象中是公用的,通过类型.类属性的方式调用
    7. # self不是Python的关键字,代表的是当前实例对象,完全可以用其他单词取代它,只是按照惯例和PEP8标准,推荐使用self
    8. # 方法:普通方法、类方法、静态方法、构造方法
    9. # 构造方法不需要调用,是在实例化对象的时候由python系统自动调用
    10. # 访问属性:1、对象名.实例属性 2、类名.类属性 3、内置函数访问 getattr() hasattr() setattr() delattr()
    11. # 调用方法:对象名.方法名
    12. # 内置类属性:
    13. # 1、__dict__ 类的属性(包含一个字典,由类的属性名:值组成) 实例化对象.__dict__
    14. # 2、__doc__ 类的文档字符串 类名或实例化对象名.__doc__
    15. # 3、__name__ 类名 类名.__name__
    16. # 4、__bases__ 类的所有父类构成元素(包含了由所有父类组成的元组)
    17. # __name__ 如果在当前py文件运行则返回__main__ 如果是被引入作为模块在另外py文件运行则返回模块名
    18. # -*- coding: utf-8 -*-
    19. __author__ = 'dongfangyao'
    20. __date__ = '2018/1/12 下午8:49'
    21. __product__ = 'PyCharm'
    22. __filename__ = 'oo1'
    23. # 编程:面向过程 、 函数式 面向对象
    24. # 实例属性、类属性、内置类属性、内置函数
    25. class Peple():
    26. """
    27. 定义了一个人类
    28. """
    29. country = 'china'
    30. def __init__(self, name, age, sex):
    31. # print('构造方法:在实例化对象的时候运行创建')
    32. self.name = name
    33. self.age = age
    34. self.sex = sex
    35. def getName(self):
    36. return self.name
    37. # 1、属性: 实例名.属性 类名.类属性 内置函数访问属性
    38. p1 = Peple('dfy', 28, 'male')
    39. p2 = Peple('dfy888', 20, 'female')
    40. # p1.country = 'xxxx'
    41. # print(p1.country)
    42. # print(p2.country)
    43. # print(p1.name)
    44. # print(p1.getName())
    45. # print(Peple.country)
    46. # print(p1.country)
    47. # print(Peple.name)
    48. # print(getattr(p1, 'name'))
    49. # print(hasattr(p1, 'age'))
    50. # setattr(p1, 'name', 'dongfangyao')
    51. # delattr(p1, 'name')
    52. # print(p2.name)
    53. print(Peple.__dict__)
    54. # print(p1.__dict__)
    55. # print(Peple.__doc__)
    56. # print(p1.__doc__)
    57. print(Peple.__name__)
    58. # print(Peple.__bases__)
    59. 复制代码
    60. # -*- coding: utf-8 -*-
    61. __author__ = 'dongfangyao'
    62. __date__ = '2018/1/12 下午9:13'
    63. __product__ = 'PyCharm'
    64. __filename__ = 'name'
    65. def a():
    66. print('我是a函数')
    67. # 源码
    68. if __name__ == '__main__':
    69. a()
    70. print(__name__)
    71. 复制代码
    72. # -*- coding: utf-8 -*-
    73. __author__ = 'dongfangyao'
    74. __date__ = '2018/1/12 下午9:14'
    75. __product__ = 'PyCharm'
    76. __filename__ = 'name1'
    77. import name
    78. 复制代码