python内建属性

Python在启动的时候会⾃动为我们载⼊很多内建的函数,类,属性,⽐如dict,list,type,print,这些都位于builtin 模块中,可以使⽤dir(builtin)来查看.
这也是为什么我们在没有import任何模块的情况下,就能使⽤这么多丰富的函数和功能了.

在Python中,有⼀个内建模块,该模块中有⼀些常⽤函数;在Python启动后,且没有执⾏程序员所写的任何代码前,Python会⾸先加载该内建函数到内存.

另外,该内建模块中的功能可以直接使⽤,不⽤在其前添加内建模块前缀

常见的内建属性

对象的内建属性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class Itcast(object):
def __init__(self,subject1):
self.subject1 = subject1
self.subject2 = 'cpp'
#属性访问时拦截器,只要访问属性就必须先调用此方法(包括方法(方法也是对象))
# 所以此方法中,不能包含访问属性的语句:比如self.subject1
def __getattribute__(self,obj):
print("====1>%s"%obj)
if obj == 'subject1':
print('log subject1')
return 'redirect python'
else:
temp = object.__getattribute__(self,obj)
print("====2>%s"%str(temp))
return temp
def show(self):
print('this is Itcast')
s = Itcast("python")
print(s.subject1)
print(s.subject2)
#1. 先获取show属性对应的结果,,,,应该是一个方法
#2. 再调用方法show()
s.show()
# import types
# p1.eat = types.MethodType(eat, p1)
# ====1>subject1
# log subject1
# redirect python
# ====1>subject2
# ====2>cpp
# cpp
# ====1>show
# ====2><bound method Itcast.show of <__main__.Itcast object at 0x0>>
# this is Itcast

Share Comments