采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
class Dic():
def__init__(self):
global dic
dic = {" a" : ("A" , 1)," b" : ("B" , 2)}
a = Dic() #怎么调用字典 喵喵喵
两种方法修改
1.删掉 global那一行
#无参构造函数不需要写,默认就有一个无参的
#不能用global声明类变量和实例变量,只能用于指定全局变量
#(只是通过测试得出的结论,还没有研究具体原因)
#怎么指定全局变量,祥见方法2
#虽然可以,但最好不要用什么时候都使用"号,尽量使用'
class
Dic():
dic
=
{
"a"
: (
"A"
,
1
),
" b"
"B"
2
)}
a
Dic()
#这里必须使用单引号
print
(a.dic[
'a'
])
#或者不实例化,去掉a = Dic(),直接打印类变量也可以
(Dic.dic[
(
'A'
)
这是打印结果,系统自动把你的"改成'号了,python没有char和string之分,所有还是改改习惯吧
2.加两个缩进,再加一个模块变量
(global的用法)必须添加一个模块变量,但是这里的作用是,指明模块变量,如果不加global,类或方法里的同名变量会被识别为一个全新的变量,无法用这种同名变量修改模块变量,所以要用global指明
{}
def
__init__(
self
):
global
'a '
' b'
'B'
(dic[
下面这种也可以, 连实例化都不需要
我这里 如果global dic =…………会直接报错,然后a=Dic()后,也不能打印a.dic['a']
是我搞错了,又试了一下, 元代码的根本问题是,不能在类里用global给变量声明
而且global 不能写成 global c = ...... 要写成 global c c=........ 是我搞错了,sorry
登录后可查看更多问答,登录/注册
语法精讲/配套练习+思考题/原生爬虫实战
5.8k 7
2.5k 3
2.2k 5
4.2k 22
2.4k 19