关键词:
为什么要学python?
在大数据时代,抖音快手火爆全球,作业帮小猿搜题的数据库,都离不开大数据,大数据的科学计算,最重要的语言就是python,网络爬虫(网络爬虫 - 搜狗百科)搜索引擎等等也主要是python,包括一些游戏图像等等都缺少不了python,最重要的是如今百度的人工智能技术不断提高,人工智能熊熊崛起,而ai智能的主要语言也是python。最神奇的的python可以混合编程可以用c语言,java等等混合编程,那么我们一起看懂一篇文章,入门python。
环境搭建
我使用的编译器是pycharm
一般来说下载社区版(免费版)就欧克,一套式服务到位,不用看视频
Download PyCharm: Python IDE for Professional Developers by JetBrains
安装过程的话
1、双击已下载的PyCharm安装包,出现如下图所示的界面,点击“next”。
2、选择安装目录,Pycharm需要的内存较多,建议将其安装在D盘或者E盘,不建议放在系统盘C盘。
3、进行相关设置,如果你无特殊需要按照图中勾选即可。
数字1:create desktop shortcut(创建桌面快捷方式),系统32位就选32-bit,系统64位就选64-bit。
笔者的电脑是64位系统,它自动显示64位。
数字2:update path variable(restart needed)更新路径变量(需要重新启动),add launchers dir to the path(将启动器目录添加到路径中)。
数字3:update context menu(更新上下文菜单),add open folder as project(添加打开文件夹作为项目)。添加鼠标右键菜单,使用打开项目的方式打开此文件架。如果你经常需要下载一些别人的代码查看,可以勾选此选项,这会增加鼠标右键菜单的选项。也就是你双击你电脑上的 py 文件,会默认使用 pycharm 打开。
数字4:create associations 创建关联,关联.py文件。将所有py文件关联到pycharm。
4、默认即可,点击install。
安装完成
5、打开PyCharm
重启电脑,双击PyCharm打开运行。
4、创建python文件
先放个烟花检验一下操作是否正确
# -*- coding: utf-8 -*-
import math, random,time
import threading
import tkinter as tk
import re
#import uuid
Fireworks=[]
maxFireworks=8
height,width=600,600
class firework(object):
def __init__(self,color,speed,width,height):
#uid=uuid.uuid1()
self.radius=random.randint(2,4) #粒子半径为2~4像素
self.color=color #粒子颜色
self.speed=speed #speed是1.5-3.5秒
self.status=0 #在烟花未爆炸的情况下,status=0;爆炸后,status>=1;当status>100时,烟花的生命期终止
self.nParticle=random.randint(20,30) #粒子数量
self.center=[random.randint(0,width-1),random.randint(0,height-1)] #烟花随机中心坐标
self.oneParticle=[] #原始粒子坐标(100%状态时)
self.rotTheta=random.uniform(0,2*math.pi) #椭圆平面旋转角
#椭圆参数方程:x=a*cos(theta),y=b*sin(theta)
#ellipsePara=[a,b]
self.ellipsePara=[random.randint(30,40),random.randint(20,30)]
theta=2*math.pi/self.nParticle
for i in range(self.nParticle):
t=random.uniform(-1.0/16,1.0/16) #产生一个 [-1/16,1/16) 的随机数
x,y=self.ellipsePara[0]*math.cos(theta*i+t), self.ellipsePara[1]*math.sin(theta*i+t) #椭圆参数方程
xx,yy=x*math.cos(self.rotTheta)-y*math.sin(self.rotTheta), y*math.cos(self.rotTheta)+x*math.sin(self.rotTheta) #平面旋转方程
self.oneParticle.append([xx,yy])
self.curParticle=self.oneParticle[0:] #当前粒子坐标
self.thread=threading.Thread(target=self.extend) #建立线程对象
def extend(self): #粒子群状态变化函数线程
for i in range(100):
self.status+=1 #更新状态标识
self.curParticle=[[one[0]*self.status/100, one[1]*self.status/100] for one in self.oneParticle] #更新粒子群坐标
time.sleep(self.speed/50)
def explode(self):
self.thread.setDaemon(True) #把现程设为守护线程
self.thread.start() #启动线程
def __repr__(self):
return ('color:color\\n'
'speed:speed\\n'
'number of particle: np\\n'
'center:[cx , cy]\\n'
'ellipse:a=ea , b=eb\\n'
'particle:\\np\\n'
).format(color=self.color,speed=self.speed,np=self.nParticle,cx=self.center[0],cy=self.center[1],p=str(self.oneParticle),ea=self.ellipsePara[0],eb=self.ellipsePara[1])
def colorChange(fire):
rgb=re.findall(r'(.2)',fire.color[1:])
cs=fire.status
f=lambda x,c: hex(int(int(x,16)*(100-c)/30))[2:] #当粒子寿命到70%时,颜色开始线性衰减
if cs>70:
ccr,ccg,ccb=f(rgb[0],cs),f(rgb[1],cs),f(rgb[2],cs)
else:
ccr,ccg,ccb=rgb[0],rgb[1],rgb[2]
return '#0:0>21:0>22:0>2'.format(ccr,ccg,ccb)
def appendFirework(n=1): #递归生成烟花对象
if n>maxFireworks or len(Fireworks)>maxFireworks:
pass
elif n==1:
cl='#0:0>6'.format(hex(int(random.randint(0,16777215)))[2:]) # 产生一个0~16777215(0xFFFFFF)的随机数,作为随机颜色
a=firework(cl,random.uniform(1.5,3.5),width,height)
Fireworks.append( 'particle':a,'points':[] ) #建立粒子显示列表,‘particle’为一个烟花对象,‘points’为每一个粒子显示时的对象变量集
a.explode()
else:
appendFirework()
appendFirework(n-1)
def show(c):
for p in Fireworks: #每次刷新显示,先把已有的所以粒子全部删除
for pp in p['points']:
c.delete(pp)
for p in Fireworks: #根据每个烟花对象,计算其中每个粒子的显示对象
oneP=p['particle']
if oneP.status==100: #状态标识为100,说明烟花寿命结束
Fireworks.remove(p) #移出当前烟花
appendFirework() #新增一个烟花
continue
else:
li=[[int(cp[0]*2)+oneP.center[0],int(cp[1]*2)+oneP.center[1]] for cp in oneP.curParticle] #把中心为原点的椭圆平移到随机圆心坐标上
color=colorChange(oneP) #根据烟花当前状态计算当前颜色
for pp in li:
p['points'].append(c.create_oval(pp[0]-oneP.radius, pp[1]-oneP.radius, pp[0]+oneP.radius, pp[1]+oneP.radius, fill=color)) #绘制烟花每个粒子
root.after(50, show,c) #回调,每50ms刷新一次
if __name__=='__main__':
appendFirework(maxFireworks)
root = tk.Tk()
cv = tk.Canvas(root, height=height, width=width)
cv.create_rectangle(0, 0, width, height, fill="black")
cv.pack()
root.after(50, show,cv)
root.mainloop()
不用看网课就能学到python的文章(第五天)(代码片段)
目录类对象(实例)类中的成员面向对象变量类类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用。特征其实就是一个变量,在类里我们称之为属性。行为其实就是一个函数,... 查看详情
4.1下午看网课
解决看网课鼠标不能移开,视频不能加速(代码片段)
解决看网课鼠标不能移开,视频不能加速在看网课的痛苦时期,鼠标不能移开,简直是毫无人性。我只是想边学习边做笔记。๑乛◡乛๑(●´∀`●)接下来献上解决办法。仅供学习知识。以某网课为例。鼠标不能... 查看详情
python二次学习之二(第一天学到的一个重点pickle模块)
ythonpickle模块作用是持久化的储存数据。经常遇到在Python程序运行中得到了一些字符串、列表、字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据。python模块大全中的Pickle模块就派... 查看详情
dayfourteen,开学第一天
...一看就能力很强,下回要选他的计算机英语。下午的两节课就比较水,不是说课水,数据结构啊,贼重要的一节课啊,老师怎么能那么弱。。抱歉了老王,不是我黑你,真的是没有对比就没有伤害。哦,对了,午饭吃啥的Java版... 查看详情
python怎么获得每个月的第一天和最后一天
第一天不用获取吧,都是1呀,最后一天的话可以使用标准模块的calendar模块的monthrange(year,month)方法该方法返回指定年月的最后一天星期和日期,类型为tuple,如import calendarprint calendar.monthrange(2015, 2)结果为(6,28),6为最... 查看详情
人生最美初相遇
...YTHON这个语言。其实之前学C学的并不是很好,课程结束后不用慢慢也就忘了,肖sir让写华氏转摄氏代码的时候,总想着float,慢慢的肖sir教会后就能写写简单的python程序,貌似是比C简单一点,可能学到后面就难了,这两种语言都... 查看详情
第一天以及之前几天
...表达式的值,以后再用到的时候就可以直接使用变量值,不用再去计算表达式。 python不区分大小写,命名时候变量不要大写 python的内存可以自动回收。 input接受的数据会自动保存成字符串。 四个空格不等于tab,w... 查看详情
数据库系统
...们考试分享的经验,我将复习分为三个阶段:第一阶段:看网课(在看网课的过程中,记录好笔记,之后背知识点和后期的复习都用得到,不建议直接用老师的ppt作为复习资料,因为很多重点是老师口头描述的,笔记也应该多加... 查看详情
完成任务的第一天!
...题的时间不是很长,但是总结挺要花时间的==写作就是听网课,中间逛淘宝浪费时间了,以后一定把手机放外面!阅读做题还是很快,最后就是要回家了。口语晚上练得还是很满意的,给自己录了个音 查看详情
cesiumjs初学第一天
...ses1,下载cesiumjs的时候,建议把整个目录拷贝到项目中(不用服务器也可以,目录不变就行,依赖文件较多,我用的hbuilder)2,拷贝demo本地运行时,会排版错 查看详情
第一天的培训
...问,虽然口口声声说的是可以给分配工作,可我对这里能学到的知识和能用到的方向更加期待,毕竟谁都希望自己以后的工作成果能得到更多人的使用和赞同,以及 查看详情
node第一天(代码片段)
在开发的过程中,几乎不可能一次性就能写出毫无破绽的程序,断点调试代码是一个普遍的需求。作为前端开发工程师,以往我们开发的JavaScript程序都运行在浏览器端,利用Chrome提供的开发者工具就可以方便的进行源码断点调... 查看详情
社区共读《python编程从入门到实践》第一天阅读建议(代码片段)
文章目录《Python编程从入门到实践》第一天阅读建议第一章阅读建议第二章阅读建议共读计划已经开启,欢迎随时加入【78技术人社群】这本书分为20个章节,阅读时长建议控制在2周内完成,效果最佳。《Python编程从... 查看详情
社区共读《python编程从入门到实践》第一天阅读建议(代码片段)
文章目录《Python编程从入门到实践》第一天阅读建议第一章阅读建议第二章阅读建议共读计划已经开启,欢迎随时加入【78技术人社群】这本书分为20个章节,阅读时长建议控制在2周内完成,效果最佳。《Python编程从... 查看详情
bos物流管理系统-第一天
...意学习方式:优先完成当天代码。其他内容。 最终:学到新的技术,会应用新的技术;对项目有个整体感觉; 课程安排:12天左右 主要内容:项目整体概述和一般流程(项目概念、一般项目流程等)BOS项目的概述(... 查看详情
it第一天
...只能靠后天弥补,学习从来不是一件简单的事情,活到老学到老,人的一生就是不断的学习与进步,有学习,才有进步。初次了解各种计算机语言,更多的是懵比,完全不懂是什么东西,只看见一窜窜的英文,但随着后来的一步... 查看详情
python3-基础语法篇-运算符详解(第一天)(代码片段)
文章目录算数运算符赋值运算符比较运算符逻辑运算符成员运算符身份运算符位运算算数运算符+加法 在数值中就是把两个数据进行相加 BOOL类型的数据,和数值类型的数据进行算数运算时,True视为1,False视为0 ... 查看详情