Python中文
首页
教程
问答
标签
搜索
登录
注册
一个特定的变量不是定义,我不知道为什么
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p><a href="https://i.stack.imgur.com/vMmk0.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/vMmk0.png" alt="enter image description here"/></a></p> <p>我正在做一个python项目,这是一个基于pplapi数据库的社会研究。我的第一项研究是关于一个人的年龄和她的财富之间的联系。从字典中,我提取了提供人们年龄的信息和提供他们财富的信息,然后将这些信息放入矩阵,然后绘制出所有信息。我的第二项研究是关于幸福感与人们离开的城市大小之间的联系。和以前一样,我在同一本字典里找到了我需要的信息,我把所有的东西都放进一个矩阵,然后画出所有的东西。我正在尝试做一些对象编程,我是新手</p> <p>问题是在我的类区域,我定义了一个名为“H”的变量,但是python说这个变量没有定义。我想我在函数上方加了一个“@classmethod”的小把戏,但我不知道该怎么做才能解决所有问题。有人能帮我吗?如果可能的话,解释一下当我执行这个命令时会发生什么?我添加了Python给我的错误消息的图像</p> <pre><code>import json import math class Agent: # Les class n'ont pas de () à la fin def dire_bonjour(self,prenom): return "Bonjour {} !".format(prenom) def __init__(self,position,**agent_attributes): self.position = position for attr_name, attr_value in agent_attributes.items(): setattr(self,attr_name,attr_value) class Position: def __init__(self, abscisses_degrees, ordonnees_degrees): self.abscisses_degrees = abscisses_degrees self.ordonnees_degrees = ordonnees_degrees @property def abscisses_rad(self): return self.abscisses_degrees * math.pi / 180 @property def ordonnees_rad(self): return self.ordonnees_degrees * math.pi / 180 class Zone: ZONES = [] MIN_LONGITUDE_DEGREE = -180 MAX_LONGITUDE_DEGREE = 180 MIN_LATITUDE_DEGREE = -90 MAX_LATITUDE_DEGREE = 90 DDEGREES = 1 Η = 1 def __init__(self, corner1,corner2): self.corner1 = corner1 self.corner2 = corner2 self.inhabitants = 0 @classmethod def initialize_zones(cls): for abscisses in range(cls.MIN_LATITUDE_DEGREE,cls.MAX_LATITUDE_DEGREE,H): for ordonnees in range(cls.MIN_LONGITUDE_DEGREE,cls.MAX_LONGITUDE_DEGREE,DDEGREES): bottom_left_corner = Position(longitude,latitude) top_right_corner = Position(longitude+cls.DDEGREES,latitude+H) zone = Zone(bottom_left_corner,top_left_corner) cls.ZONES.append(zone) print(len(cls.ZONES)) def main(): for agent_attributes in json.load(open("agents-100k.json")): abscisses = agent_attributes.pop("latitude") #Latii est couchée....(latitude) ordonnees = agent_attributes.pop("longitude") # pour ne prélever que la valeur souhaitée, utiliser agent_attributes.pop(str) position = Position(abscisses,ordonnees) agent = Agent(position,**agent_attributes) Zone.initialize_zones() </code></pre> <p>为了让事情更简单,我在这里放了一个git hub链接,您可以在这里找到我试图复制的代码,也可以找到我正在使用的数据库。<br/> <a href="https://github.com/OpenClassrooms-Student-Center/la_poo_avec_python/tree/04_class_methods" rel="nofollow noreferrer">https://github.com/OpenClassrooms-Student-Center/la_poo_avec_python/tree/04_class_methods</a></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您已经在类中定义了<code>H</code>,需要将其称为<code>self.H</code>。还有一些类方法需要声明为接受<code>self</code>作为第一个参数</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
10 回答
无法使用Django\u mssql\u后端迁移到外部hos
5 回答
无法使用Django&Python3.4连接到MySql
1 回答
无法使用Django+nginx上载媒体文件
8 回答
无法使用Django1.6导入名称模式
1 回答
无法使用Django1.7和mongodb登录管理站点
8 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
1 回答
无法使用Djangockedi验证CBV中的字段
9 回答
无法使用Djangocketditor上载图像(错误400)
10 回答
无法使用Djangocron进行函数调用
9 回答
无法使用Djangofiler djang上载文件
6 回答
无法使用Djangokronos
5 回答
无法使用Djangomssql provid
4 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
4 回答
无法使用Djangomssq迁移Django数据库
2 回答
无法使用Djangonox创建用户
2 回答
无法使用Djangopyodb从Django查询SQL Server
7 回答
无法使用Djangopython3ldap连接到ldap
1 回答
无法使用Djangoredis连接到redis
10 回答
无法使用Django中的FK创建新表
8 回答