会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132390个问题
WEB前端全系列/第三阶段:jQuery编程模块/源码与扩展(旧) 17432楼
Python 全系列/第五阶段:数据库编程/mysql的使用 17435楼
JAVA 全系列/第十一阶段:分布式RPC调用和分布式文件存储/FastDFS 17436楼
Python 全系列/第十九阶段:数据分析-数据管理/数据分析案例_案例2_电影数据分析 17438楼

# -*- coding: utf-8 -*-
"""测试一个经典的Label程序的写法,使用面向对象的方式"""

from tkinter import *
from tkinter import messagebox, Button
import random


class Application(Frame):
    """一个经典的Label程序的类的写法"""

    def __init__(self,master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.createWidget()

    def createWidget(self):
        """创建组件"""
        self.canvas = Canvas(self,width=300,height=200,bg="green")
        self.canvas.pack()
        #画一条直线
        line = self.canvas.create_line(10,10,20,30,50,20)
        #画一个矩形
        rect = self.canvas.create_rectangle(50,50,100,100)
        #画一个圆
        oval = self.canvas.create_oval(50,50,100,100)

        global photo
        photo = PhotoImage(file= "imgs/r.gif")
        self.canvas.create_image(150,170,image=photo)

        Button(self,text="画10个矩形",command=self.draw50).pack(side="left")

    def draw50(self):
        for i in range(0,10):
            x1 = random.randrange(int(self.canvas["width"]/2))
            y1 = random.randrange(int(self.canvas["height"] / 2))
            x2 =x1 + random.randrange(int(self.canvas["width"] / 2))
            y2 =y1 + random.randrange(int(self.canvas["height"] / 2))
            self.canvas.create_rectangle(x1,y1,x2,y2)

if __name__ == '__main__':
    root = Tk()
    root.geometry("400x130+200+300")
    root.title("label程序类的测试")
    app = Application(master=root)
    root.mainloop()

这个错误应该怎么弄呀image.png

Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 17439楼

'''
出现中文乱码的问题,编码形式改为‘utf-8’;
出现\u这种问题,照着dumps()方法中的ensure_ascii=False进行修改。
'''
import json

str_1 = '{"name":"战狼3"}'
print(type(str_1))        # 返回<class 'str'>
print(str_1)        #返回{"name":"战狼3"}


print('----str_1 to obj_1----')
# 把Json格式字符串解码转换成Python对象
obj_1 = json.loads(str_1)
print(obj_1)      # 返回{'name': '战狼3'}
print(type(obj_1))        # 返回<class 'dict'>  


print('----obj_1 to str_2----')
# 实现python类型转化为json字符串,返回⼀个str_2对象
str_2 = json.dumps(obj_1)     # str_2返回Unicode编码
# str_2 = json.dumps(obj_1,ensure_ascii=False)      # 将ensure_ascii=False,可使Unicode编码转为原生编码
print(str_2)        # 未将ensure_ascii=False,则返回{"name": "\u6218\u72fc3"}
# print(str_2)        # 将ensure_ascii=False,则返回{"name": "战狼3"}
print(type(str_2))      # 返回<class 'str'>


print('----obj_1 to file----')
# obj_1 to file,将Python内置类型序列化为json对象后写⼊⽂件
json.dump(obj_1,open('movie.txt','w',encoding='utf-8',ensure_ascii=False))       # 写文件movie.txt


print('----file to obj_2----')
# file to obj_2,读取⽂件中json形式的字符串元素 转化成python类型
obj_2 = json.load(open('movie.txt',encoding='utf-8'))
print(obj_2)        # encoding = 'utf-8',返回{'name': '战狼3'}
print(type(obj_2))      # 返回<class 'dict'>

图片.png

图片.png

图片.png

老师,你好,我测试了一下这个错误点一个是在开头注释的\u,然后还有写movie文件中的ensure_ascii=False,好像是无效的关键字参数,那我写在注释里的\u为什么是错的,然后还有‘写文件’中出现这样的情况怎么把它改成中文。对于这个编码之间的转换不太了解,试着掌握很多次了,可印象还是不深刻。



Python 全系列/第十五阶段:Python 爬虫开发/爬虫基础(旧) 17440楼

login完整案例.zip

老师,没有任何错误,但也不会弹出提示

WEB前端全系列/第五阶段:前后端交互/PHP、数据库编程与设计 17442楼
JAVA 全系列/第一阶段:JAVA 快速入门/IDEA的使用和第一个java项目 17445楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637