-
Notifications
You must be signed in to change notification settings - Fork 0
/
关于__getitem__.py
61 lines (48 loc) · 1.34 KB
/
关于__getitem__.py
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
class DataBase:
'''Python 3 中的类'''
def __init__(self, id, address):
'''初始化方法'''
self.id = id
self.address = address
self.d = {self.id: 1,
self.address: "192.168.1.1",
}
def __getitem__(self, key):
# return self.__dict__.get(key, "100")
return self.d.get(key, "default")
data = DataBase(1, "192.168.2.11")
print(data["hi"])
print(data[data.id])
# import re
# RE_WORD = re.compile(r'\w+')
# class Sentence:
# def __init__(self, text):
# self.text = text
# self.words = RE_WORD.findall(text) # re.findall函数返回一个字符串列表,里面的元素是正则表达式的全部非重叠匹配
# def __getitem__(self, index):
# return self.words[index]
#
# s = Sentence('The time has come')
# print("s = ", s)
#
# for word in s:
# print(word)
#
# print("*"*50)
# print(s[3])
# # -*- coding:utf-8 -*-
# class DataTest:
# def __init__(self, id, address):
# self.id = id
# self.address = address
# self.d = {self.id: 1,
# self.address: "192.168.1.1"
# }
#
# def __getitem__(self, key):
# return "hello"
#
#
# data = DataTest(1, "192.168.2.11")
# # print(len(data)) # TypeError: object of type 'DataTest' has no len()
# print(data[6])