我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python如何制作的天气预报小工具

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python如何制作的天气预报小工具

这篇文章主要介绍python如何制作的天气预报小工具,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一.准备工作

不需要准备。

二.预览

1.启动

启动以后自动定位所在城市,展示定位城市的天气。

python如何制作的天气预报小工具

2.添加城市

python如何制作的天气预报小工具

3.展示多个城市天气

添加天气之后能够显示多个城市天气信息。

python如何制作的天气预报小工具

三.设计流程

1.获取城市天气信息过程

用此流程图展示定位城市信息到获取城市天气信息过程。

python如何制作的天气预报小工具

四.源代码

1.Weather_Tool-v1.0.py

from tkinter import *from tkinter import ttkfrom PIL import Image,ImageTkfrom tkinter import messageboxfrom Weather_Spider import Weather_Getfrom threading import Threadimport datetimeimport time'''5-11.打开首页定位当前位置获取天气    (ip定位+jieba分词+城市号+城市天气) **5.11实现**2.用户手动选择,查看当前所选城市天气 (Toplevel+Combobox) **已实现**5-141.加入notepad,显示多个城市天气    (notebook Frame)    **已实现**2.频繁刷新检测(线程计时10秒)   **已实现**3.用户选择主题    (Menu.add_radiobutton())    **已实现**4.一个窗口多个Combobox,怎样处理选择事件**已实现**5-151.右击notebook frame标题出现“关闭”菜单**已砍掉**2.用户添加了城市后,label出现在了最后的Frame中**未实现**'''imgs=['./img/loading.png']class App:    def __init__(self):        self.w=Tk()        self.w.title('天气预报小工具-v1.0')        width=600        height=282        left=(self.w.winfo_screenwidth()-width)/2        top=(self.w.winfo_screenheight()-height)/2        self.w.geometry('%dx%d+%d+%d'%(width,height,left,top))        self.w.iconbitmap('biticon.ico')        self.w.resizable(False,False)        self.cerate_widgets()        self.first_launch()        self.set_widgets()        self.place_widgets()        self.thread_it(self.show_local_weather)        self.w.mainloop()    def cerate_widgets(self):        self.note=ttk.Notebook()        self.f1=Frame()        self.tree=ttk.Treeview(self.f1)        self.l1_var=StringVar()        self.l1=ttk.Label(self.f1,textvariable=self.l1_var)        self.m=Menu(self.w)        self.w['menu']=self.m        self.s1=Menu(self.m,tearoff=False)        self.s2=Menu(self.m,tearoff=False)        self.s3=Menu(self.m,tearoff=False)    def set_widgets(self):        self.location=[]        style = ttk.Style(self.w)        style.theme_use("default")        columns=('rq','tq','flfx','zdqw','zgqw')        self.tree.config(show='headings',columns=columns)        self.tree.column(columns[0],anchor=CENTER,minwidth=95,width=110)        self.tree.column(columns[1],anchor=CENTER,minwidth=60,width=70)        self.tree.column(columns[2],anchor=CENTER,minwidth=90,width=100)        self.tree.column(columns[3],anchor=CENTER,minwidth=90,width=100)        self.tree.column(columns[4],anchor=CENTER,minwidth=90,width=100)        self.tree.heading('rq', text='日期')        self.tree.heading('tq', text='天气')        self.tree.heading('flfx', text='风向风力')        self.tree.heading('zdqw', text='最低气温')        self.tree.heading('zgqw', text='最高气温')        self.m.add_cascade(label='开始',menu=self.s1)        self.s1.add_command(label='aaa',command='')        self.s1.add_separator()        self.s1.add_command(label='退出',command=self.quit_window)        self.m.add_cascade(label='操作',menu=self.s2)        self.s2.add_command(label='刷新',command=lambda:self.thread_it(self.refresh_weather))        self.s2.add_command(label='添加城市',command=lambda:self.thread_it(self.select_city),state='disable')        s2_sub = Menu(self.s2, tearoff=0)        self.s2.add_separator()        self.s2.add_cascade(label='更换主题',menu=s2_sub)        self.m.add_cascade(label='关于',menu=self.s3)        self.s3.add_command(label='关于作者',command=lambda :messagebox.showinfo('关于作者','作者很神秘,什么都没留下'))        self.tree.tag_configure('evenColor',background='lightblue')        self.w.protocol('WM_DELETE_WINDOW',self.quit_window)        themes=[ 'default','clam', 'alt', 'classic']        self.themevar=StringVar()        for i,t in enumerate(themes):            s2_sub.add_radiobutton(label=t,variable=self.themevar,command=lambda:self.thread_it(self.change_theme),value=t)        self.themevar.set('default')    def place_widgets(self):        self.note.place(x=0,y=0,width=600,height=282)        self.tree.place(x=0,y=0,width=600,height=150)        self.l1.place(x=0,y=150,height=85,width=600)    def first_launch(self):        '''        第一次启动,展示加载图片提示信息        :return:        '''        self.start_time=time.time()        paned = PanedWindow(self.w)        self.img = imgs        img = Image.open(self.img[0])        paned.image = ImageTk.PhotoImage(img)        self.load_img = Label(self.w, image=paned.image)        self.load_lab = Label(self.w, text='Loading...')        self.load_img.pack()        self.load_lab.pack()    def show_local_weather(self):        '''        展示定位天气信息        :return:        '''        self.l1_var.set('正在刷新天气......')        items = self.tree.get_children()        for item in items:            self.tree.delete(item)        try:            city,item=Weather_Get().get_local_weather()            self.load_img.destroy()            self.load_lab.destroy()            self.s2.entryconfig('添加城市', state='normal')            self.note.add(self.f1,text=city)            i=0            for data in item['recent']:                self.tree.insert('', i, values=(                data.get('日期'), data.get('天气'), data.get('风力风向'), data.get('最低气温'), data.get('最高气温')))                i+=1            self.l1_var.set(f'今天:{self.show_date()}\n当前所在地区:{city}\n当前气温:{item["now"]}\n感冒指数:{item["ganmao"]}')        except TypeError:            messagebox.showerror('错误','天气信息加载失败!')            self.l1_var.set('天气信息加载失败!')            self.s2.entryconfig('添加城市', state='normal')    def refresh_weather(self):        """        刷新天气后,10秒内不能点击刷新        :return:        """        self.s2.entryconfig('刷新', state='disable')        self.show_local_weather()        self.thread_it(self.wait_time)    def wait_time(self):        '''        线程计时10s,十秒后刷新按钮可点击        :return:        '''        time.sleep(10)        self.s2.entryconfig('刷新', state='normal')    def show_date(self):        """        展示日期信息,便于天气展示        :return:        """        date = str(datetime.date.today())        year,month,day=date.split('-')        week_day_dict = {            0: '星期一',            1: '星期二',            2: '星期三',            3: '星期四',            4: '星期五',            5: '星期六',            6: '星期日 ',        }        now=datetime.datetime.now()        date_index = now.weekday()        return f'{year}年{month}月{day}日 {week_day_dict[date_index]}'    def select_city(self):        '''        Toplevel让用户选择城市,后台获取城市号        :return:        '''        self.t=Toplevel()        self.t.resizable(0,0)        width=300        height=140        left=(self.t.winfo_screenwidth()-width)/2        top=(self.t.winfo_screenheight()-height)/2        self.t.geometry('%dx%d+%d+%d'%(width,height,left,top))        self.t.title('选择城市')        self.tl1=ttk.Label(self.t,text='请选择城市:')        self.tl1.pack()        provinces=Weather_Get().get_provinces()        self.tc1=ttk.Combobox(self.t,justify='center',state='readonly',value=provinces)        self.tc2=ttk.Combobox(self.t,justify='center',state='readonly')        self.tc1.pack()        self.tc1.bind('<<ComboboxSelected>>',self.show_tc2_value)        self.tc2.bind('<<ComboboxSelected>>',self.show_tc3_value)        self.tc2.pack()        self.tc3=ttk.Combobox(self.t,justify='center',state='readonly')        self.tc3.pack()        self.tb1=ttk.Button(self.t,text='选择',command=lambda :self.thread_it(self.ack_city))        self.tb1.pack(pady=10)#----待完善    def ack_city(self):        '''        Toplevel中选择了城市,选择使用notebook中建立Frame展示所选城市信息        :return:        '''        cityno=self.get_city_no()        weather_item=Weather_Get().get_weather(cityno)        location=self.province_name+self.city_name+self.region        if location in self.location:            messagebox.showwarning('警告','此城市已添加,请勿重复添加!')        else:            self.location.append(location)            self.f2= Frame(takefocus=True)            self.note.add(self.f2, text=location)            self.tree2 = ttk.Treeview(self.f2)            columns = ('rq', 'tq', 'flfx', 'zdqw', 'zgqw')            self.tree2.config(show='headings', columns=columns)            self.tree2.column(columns[0], anchor=CENTER, minwidth=95, width=110)            self.tree2.column(columns[1], anchor=CENTER, minwidth=60, width=70)            self.tree2.column(columns[2], anchor=CENTER, minwidth=90, width=100)            self.tree2.column(columns[3], anchor=CENTER, minwidth=90, width=100)            self.tree2.column(columns[4], anchor=CENTER, minwidth=90, width=100)            self.tree2.heading('rq', text='日期')            self.tree2.heading('tq', text='天气')            self.tree2.heading('flfx', text='风向风力')            self.tree2.heading('zdqw', text='最低气温')            self.tree2.heading('zgqw', text='最高气温')            self.tree2.place(x=0,y=0,width=600,height=150)            # label_='label'+str(self.click_no)            # label_var='label'+str(self.click_no)+'_var'            self.fl1_var=StringVar()            self.fl1=ttk.Label(self.f2,textvariable=self.fl1_var)            self.fl1.place(x=0,y=150,height=85,width=600)            items = self.tree2.get_children()            for item in items:                self.tree2.delete(item)            try:                item = weather_item                city=location                i = 0                for data in item['recent']:                    self.tree2.insert('', i, values=(                        data.get('日期'), data.get('天气'), data.get('风力风向'), data.get('最低气温'), data.get('最高气温')))                    i += 1                self.fl1_var.set(f'今天:{self.show_date()}\n当前所在地区:{city}\n当前气温:{item["now"]}\n感冒指数:{item["ganmao"]}')            except TypeError:                messagebox.showerror('错误','天气信息加载失败!')                self.fl1_var.set(f'{city}天气信息加载失败!')        self.t.destroy()    def change_tab(self,*args):        pass    def show_tc2_value(self,event):        '''        展示"市"级信息        :param event:        :return:        '''        self.tc2.config(value=[])        self.tc3.config(value=[])        self.province_name=self.tc1.get()        cities=Weather_Get().get_cities(self.province_name)        self.tc2.config(value=cities)    def show_tc3_value(self,event):        '''        展示"区/县"级信息        :param event:        :return:        '''        self.city_name=self.tc2.get()        regions=Weather_Get().get_regions(self.province_name,self.city_name)        self.tc3.config(value=regions)    def get_city_no(self):        """        根据省、市、区、县 获取城市号        :return: 城市号        """        self.region=self.tc3.get()        city_no=Weather_Get().get_city_id_by_add(self.province_name,self.city_name,self.region)        return city_no    def change_theme(self,):        '''        更换主题        :return:        '''        theme=self.themevar.get()        style = ttk.Style(self.w)        style.theme_use(theme)    def quit_window(self):        ret=messagebox.askyesno('退出','是否要退出?')        if ret:            self.w.destroy()    def thread_it(self,func,*args):        '''        防止线程冲突        :param func:        :param args:        :return:        '''        t=Thread(target=func,args=args)        t.setDaemon(True)        t.start()if __name__ == '__main__':    a=App()

2.Weather_Spider.py

#coding:utf-8import requestsimport jsonfrom lxml import etreeimport jiebaclass Weather_Get():    def __init__(self):        self.base_ip_url='http://ip-api.com/json'        self.location_url='https://ip.tool.chinaz.com/'        #获取中国国内城市--number接口        self.city_number_url='http://static.2ktq.com/sktq/common/city_China.json'        #天气查询接口        self.base_weather_url='http://wthrcdn.etouch.cn/weather_mini?citykey={}'        self.headers={            'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',        }        self.item=self.get_city_item()    def request(self,url,headers):        """        请求url,可自定义请求头        :param url: 请求的url        :param headers: 自定义的请求头        :return: 网页文本数据        """        s=requests.session()        s.keep_alive=False        try:            r=s.get(url,headers=headers)            r.encoding='utf-8'            if r.status_code==200:                r.encoding = r.apparent_encoding                return r.text            else:                return None        except requests.exceptions.ConnectionError:            return None    def get_city(self):        """        通过ip定位到当前城市        :return:所在省市位置信息        """        my_headers={            'Connection': 'keep-alive',            'Host': 'ip.tool.chinaz.com',            'sec-ch-ua': '"Google Chrome";v="89", "Chromium";v="89", ";Not A Brand";v="99"',            'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',            'Upgrade-Insecure-Requests': '1'        }        res = etree.HTML(self.request(self.location_url,headers=my_headers))        location = res.xpath('//div[@class="WhoIpWrap jspu"]//span[@class="Whwtdhalf w30-0 lh34 tl ml80"]/em/text()')        #结巴分词好费时间啊        jieba_cut_result = jieba.lcut(''.join(location))        try:            #去除首位的国家和网络类型            del jieba_cut_result[0]            del jieba_cut_result[-1]            item = {}            # 如果结果为类似 石家庄裕华 则自动加入市区            if jieba_cut_result[0]!=jieba_cut_result[1]:                item['province'] = jieba_cut_result[0] + '市'                item['city'] = jieba_cut_result[1] + "区"                return item            else:                # 如果结果为类似 北京北京 则自动加入市                item['province'] = jieba_cut_result[0] + '市'                item['city'] = jieba_cut_result[1] + "市"                return item        except IndexError:            return False    def get_city_item(self):        res =self.request(self.city_number_url,headers=self.headers)        item=eval("{'cities':"+res+"}")        return item    def get_provinces(self):        province=[p for p in self.item['cities']]        #print(province)        return province    def get_cities(self,province):        cities_=self.item['cities'][province]        cities=[city for city in cities_.keys()]        return cities    def get_regions(self,province,city):        regions_=self.item['cities'][province][city]        regions=[region for region in regions_.keys()]        #print(province,city,regions)        return regions    def get_city_id_by_add(self,province,city,region=''):        if region=='':            city_no=self.item['cities'][province][city][city].replace('CN','')        else:            city_no=self.item['cities'][province][city][region].replace('CN','')        return city_no    def get_cityid(self,province,city):        """        通过省、市在字典中查找对应的城市号        :param province: 省        :param city: 市        :return: 城市号        """        if province in self.item['cities'].keys():            try:                #河北省唐山市唐山市(通常的省市)                number=self.item['cities'][province].get(city).get(city).replace('CN','')                return number            except AttributeError:                number=self.item['cities'][province].get(province).get(city).replace('CN','')                return number        else:            print('未检索到关于{}{}的信息!'.format(province,city))    def get_weather(self,number):        weather_data = json.loads(self.request(self.base_weather_url.format(number),self.headers))        # pprint.pprint(weather_data)        data=weather_data['data']        item={}        yesterday={}        item_list=[]        yesterday['日期']=data['yesterday']['date']+'(昨天)'        item['now']=data['wendu']+'℃'        item['ganmao']=data['ganmao']        yesterday['天气']=data['yesterday']['type']        yesterday['风力风向']=data['yesterday']['fx']+data['yesterday']['fl'].replace('<![CDATA[','').replace(']]>','')        yesterday['最低气温']=data['yesterday']['low'].replace('低温 ','')        yesterday['最高气温']=data['yesterday']['high'].replace('高温 ','')        item_list.append(yesterday)        count=0        for weateher in data['forecast']:            item2={}            if count==0:                date=weateher['date']+'(今天)'            elif count==1:                date=weateher['date']+'(明天)'            elif count==2:                date=weateher['date']+'(后天)'            else:                date=weateher['date']+f'({count-1}天后)'            item2['日期']=date            item2['天气'] = weateher['type']            item2['风力风向']=weateher['fengxiang']+weateher['fengli'].replace('<![CDATA[','').replace(']]>','')            item2['最低气温'] = weateher['low'].replace('低温 ', '')            item2['最高气温'] = weateher['high'].replace('高温 ', '')            item_list.append(item2)            count+=1        item['recent']=item_list        return item    def get_local_weather(self):        item=Weather_Get().get_city()        if item:            p=item['province']            c=item['city']            number=Weather_Get().get_cityid(p,c)            weather=Weather_Get().get_weather(number)            return p+c,weather        else:            return False

python的数据类型有哪些?

python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float(浮点型)。2.字符串,分别是str类型和unicode类型。3.布尔型,Python布尔类型也是用于逻辑运算,有两个值:True(真)和False(假)。4.列表,列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型。5. 元组,元组用”()”标识,内部元素用逗号隔开。6. 字典,字典是一种键值对的集合。7. 集合,集合是一个无序的、不重复的数据组合。

以上是“python如何制作的天气预报小工具”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python如何制作的天气预报小工具

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python如何制作的天气预报小工具

这篇文章主要介绍python如何制作的天气预报小工具,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一.准备工作不需要准备。二.预览1.启动启动以后自动定位所在城市,展示定位城市的天气。2.添加城市3.展示多个城市天气
2023-06-15

python制作的天气预报小工具(gui界面)

目录一.准备工作二.预览1.启动2.添加城市3.展示多个城市天气三.设计流程1.获取城市天气信息过程四.源代码1.Weather_Tool-v1.0.py2.Weather_Spider.py五.总结一.准备工作不需要准备。 二.预览1.启
2022-06-02

Python+xlwings如何制作天气预报表

这篇文章主要为大家分析了Python+xlwings如何制作天气预报表的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Python+xlwings如何制作天气
2023-06-28

如何解决Win7桌面天气预报小工具不能用的问题

Windows 7 系统中自带有9个小工具,如 CPU 仪表盘、天气、时钟和货币等等,如图所示:   Windows 7自带桌面小工具   通过这些小工具,您可以轻松查看即时信息、访问常用工具。www.cppcns.com例如,我们可以使用
2023-05-25

windows桌面小工具如何添加天气插件

这篇文章主要讲解了“windows桌面小工具如何添加天气插件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“windows桌面小工具如何添加天气插件”吧!桌面小工具添加天气插件的方法:1、首先
2023-07-02

python如何实现将天气预报可视化

这篇文章将为大家详细讲解有关python如何实现将天气预报可视化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。结果展示其中:红线代表当天最高气温,蓝线代表最低气温,最高气温点上的标注为当天的天气情况。如果
2023-06-22

如何用PHP实现微信小程序的天气预报功能?

如何用PHP实现微信小程序的天气预报功能?随着微信小程序的流行,越来越多的开发者开始尝试在小程序中添加实用的功能,比如天气预报。在本文中,我们将学习如何使用PHP来实现微信小程序的天气预报功能,并提供代码示例。在开始之前,我们需要确保已经申
2023-10-27

如何编写asp配合AJAX天气预报的webService

这篇文章主要讲解了“如何编写asp配合AJAX天气预报的webService”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何编写asp配合AJAX天气预报的webService”吧!代码如
2023-06-09

怎么用Python制作一个数据预处理小工具

这篇文章主要讲解了“怎么用Python制作一个数据预处理小工具”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python制作一个数据预处理小工具”吧!在我们平常使用Python进行数据
2023-06-15

Python如何利用PaddleOCR制作个搜题小工具

这篇文章主要介绍“Python如何利用PaddleOCR制作个搜题小工具”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python如何利用PaddleOCR制作个搜题小工具”文章能帮助大家解决问题。
2023-07-02

Python如何爬取未来7天天气预报并存储在excel文档中

这期内容当中小编将会给大家带来有关Python如何爬取未来7天天气预报并存储在excel文档中,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。想知道你家乡未来7天气是如何,是好是坏?刮风还是下雨?别省得每天
2023-06-02

怎么利用Python制作一个简单的天气播报系统

本篇内容介绍了“怎么利用Python制作一个简单的天气播报系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!工具python3.7pycha
2023-06-30

如何使用golang的Websocket开发实时天气预报功能

如何使用Golang的WebSocket开发实时天气预报功能引言:天气预报是人们日常生活中的重要信息之一,实时的天气预报能够帮助人们做出更好的生活规划。本文将介绍如何使用Golang的WebSocket开发一个实时的天气预报功能,并提供具体
如何使用golang的Websocket开发实时天气预报功能
2023-12-18

基于Python+OpenCV如何制作屏幕录制工具

这篇文章跟大家分析一下“基于Python+OpenCV如何制作屏幕录制工具”。内容详细易懂,对“基于Python+OpenCV如何制作屏幕录制工具”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编
2023-06-26

如何基于PyQt5制作数据处理小工具

小编给大家分享一下如何基于PyQt5制作数据处理小工具,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!需求分析:现在有一大堆的Excel数据文件,需要根据每个Excel数据文件里面的Sheet批量将数据文件合并成为一个汇总后
2023-06-29

Python制作一个随机抽奖小工具的实现

目录1. 核心功能设计2. GUI设计与实现3. 功能实现3.1 读取人员名单3.2. 随机抽奖3.3. 保存中奖名单3.4. GUI交互逻辑最近在工作中面向社群玩家组织了一场活动,需要进行随机抽奖,参考之前小明大佬的案例,再结合自己的需求
2022-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录