python - 我如何解决此名称未定义
问题描述
我想让我制作的程序可以运行我制作这样的代码
def cafe_food(self):
friedrice_items = tk.Entry(F_FItems)
friedrice_items.config(width=7, borderwidth=4, relief="sunken", font=("calibri", 10,"bold"),foreground="white", background="#248aa2")
friedrice_items.place(x=81, y=1)
def Total_Biil(self):
friedrice_price = 10
pizza_price = 20
if friedrice_items.get() != "":
friedrice_cost = friedrice_price * int(friedrice_items.get())
else:
friedrice_cost = 0
if pizza_items.get() != "":
friedrice_cost = pizza_price * int(pizza_items.get())
else:
pizza_cost = 0
total_bills = friedrice_cost + pizza_cost
如果我运行此代码并且..
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\kisah tegar\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1885, in __call__
return self.func(*args)
File "D:\Code\Python\Project\restaurant_mg\main.py", line 498, in Total_Bill
if friedrice_items.get() != "":
NameError: name 'friedrice_items' is not defined
[Finished in 6.3s]
这是我的问题:(我怎样才能在那个函数中得到friedrice_items
解决方案
如果这段代码在一个类中,self.
请尝试在变量名之前添加:
def cafe_food(self):
self.friedrice_items = tk.Entry(F_FItems)
self.friedrice_items.config(width=7, borderwidth=4, relief="sunken", font=("calibri", 10,"bold"),foreground="white", background="#248aa2")
self.friedrice_items.place(x=81, y=1)
def Total_Biil(self):
self.friedrice_price = 10
self.pizza_price = 20
if self.friedrice_items.get() != "":
self.friedrice_cost = self.friedrice_price * int(self.friedrice_items.get())
else:
self.friedrice_cost = 0
if self.pizza_items.get() != "":
self.friedrice_cost = self.pizza_price * int(self.pizza_items.get())
else:
self.pizza_cost = 0
self.total_bills = self.friedrice_cost + self.pizza_cost
self
或任何你命名的,是一个全局关键字,在一个类中,你可以在类中的任何地方访问变量。
如果您不使用self
,您将无法在任何地方访问它,就像您之前发生的那样。
推荐阅读
- android - Android:TextInputEditText 的底部总是滚动到软键盘的顶部
- c# - Using S3Client within Lambda seems to freeze the function
- wordpress - Elementor contact form attach file
- c - Calculating the limit of (1+1/n)^n
- c# - 在 ASP.NET Core 3.1 中调整图像大小?
- python - How can I log every time a user has logged in and logged out in Django?
- android - 'where' is not recognized as an internal or external command, operable program or batch file. Error: Unable to find git in your PATH
- java - Spring security oauth2 login url 404
- c# - Entity Framework Core: No parameterless constructor defined for this dbcontext
- python - Python 版本依赖类型注解