Python第一天
重磅推出
爬虫俱乐部之前推出的线下培训,得到了各位老师的一致好评。为了更加方便大家学习,满足更多Stata用户的学习需求,爬虫俱乐部近期即将推出在线直播课程,敬请大家关注!
有问题,不要怕!点击推文底部“阅读原文”下载爬虫俱乐部用户问题登记表并按要求填写后发送至邮箱statatraining@163.com,我们会及时为您解答哟~
喜大普奔~爬虫俱乐部的github主站正式上线了!我们的网站地址是:https://stata-club.github.io,粉丝们可以通过该网站访问过去的推文哟~
在本篇推文中,我们将对计算机程序的故事娓娓道来,并着手写出我们的第一个Python程序。如果您从未阅读过编程语言相关的技术文章,相信本篇文章足可以引起你对于计算机世界的兴趣。enjoy it!
在正式开始我们的学习以前,首先请记住几条原则:
1.保证你在交互页面(即Spyder右下角的IPython窗口)及脚本页面输入的都是英文符号,包括英文的逗号,英文的句号。一定,一定不要用中文。
2. 在学习程序时,请千万不要用“复制”-“粘贴”把代码从页面粘贴到你自己的电脑上。写程序也讲究一个感觉,你需要自己把代码敲进去,在敲代码的过程中,初学者经常会敲错代码:拼写不对,大小写不对,混用中英文标点,混用空格和Tab键,所以,你需要仔细地检查、对照,才能以最快的速度掌握如何写程序。
3. 如果想让程序是对的,首先要保证程序在大脑中是清晰明白的。
变量与赋值
在IPython页面中,我们可以与Python环境进行交互,现在请在In [1]:提示符后面输入3+5按下回车看一看:
In [1]: 3+5
Out[1]: 8
是的,计算机很聪明地知道3+5的结果是8.并且将结果返回给了我们。Python依据式子自动进行了四则运算。现在我们在Python中存储一个数字3,可以这样做:
In [2]: number1 = 3
当敲下回车后,什么也没有返回过来,但是眼尖的同学会发现,Spyder上部的Variable explorer中多了一行记录,name为number1,value为3.
这个意思是说,当前的内存中存储了一个变量,它的名字是number1,值为3.在这里的等于号=并不是数学上的 相等 含义,而是赋值含义,将右边的值赋给左边,令number1等于3. 当你存储好了这个变量后,就可以在后面的过程中使用它了。你可以接着输入:
In [3]: number1
Out[3]: 3
In [4]: number1 + 2
Out[4]: 5
看,计算机是记得你曾经存储过的变量的,只要你不退出这次的Spyder,这个变量就会一直存在着。一旦退出Spyder,存储在内存中的数据就会被清空,回收空间。
变量是编程语言中最常见的术语,它和你在数学中学到的变量有一些不同,在编程语言中,变量一词通常可以理解为"存储一种数据,并且在物理上占用了一定存储空间的东西",变量里存储的东西可以改变,我们可以一开始使number1这个变量里存储的数为3,然后可以更改其为5,但number1这个名字是变量的唯一标识符,不会改变。
现在我们接着探究一些常见的写法。如果我们想让number1这个变量的值加1呢。
In [5]: number1 = number1 + 1
这个写法乍一看有点奇怪,当然在数学上,左右两式是不相等的,再次强调,在编程语言中,等于号是赋值的含义,这句代码的意思是number1 有了一个新值,这个新值是number1 + 1,从而实现了使变量自身增加1.
现在我们已经明白了如何产生一个变量,如何使变量做四则运算,还可以让变量自己进行增加或减少。现在我们来系统地了解一点东西。
数据结构简介
在前面的篇幅中,似乎一个变量的值就是一个数字,但是在浩如烟海的程序世界中,仅仅操作数字是盖不出高楼广厦的,在Python中,一个变量所指代的不仅可以是一个数字,也可以是一组数字,我们称为列表(list),也可以是一个字符,一个字符串(由许多个字符连接起来,就像一句话),还有更加复杂的结构。在后面的推文中,我们会详细提到各种各样的数据结构,以及它们的应用方法。
In [6]: AList = [1,2,3,4,5] # 我们命名一个叫AList的变量,它是一个列表
In [7]: AString = 'hello world' # 我们命名一个叫AString的变量,它是一个字符串
流程控制简介
我们知道了怎样产生变量,怎样让变量做运算,但这些还构不成一个可以做事情的程序,程序应该有一种“判断”的功能,如果达到了某一个条件,则做某件事,否则就做另一件事。这样的功能在程序中是必不可少的,我们称之为流程控制。例如:
In [8]: a = 10
In [9]:if a > 8 :
... a = a + 1
...else:
... a = a + 2
有一种叫做if的流程控制结构,顾名思义,如果a这个变量大于8,则执行自加1的语句,否则执行自加2的语句。像这样的流程控制方法还有许多,我们在随后的推文也会一一介绍。
总结与蓝图
今天的推文非常简单,但是非常重要,因为我们大致勾勒了一门编程语言的基本要素。任何一门编程语言都有 变量的概念,它用来存储数据信息,也都有流程控制的概念,我们写好程序,输入数据,计算机通过不断地判断当前是否符合判断条件来选择执行不同的语句,同样,变量所指代的东西可以很简单,也可以很复杂,甚至可以是用户自己定义的信息组合。我们从这出发,就可以不断拓展知识边界,我们会在学习的过程中了解非常多的方法、知识与知识的知识。但请在每一天都记得,我们的目标不是让自己的程序越来越复杂,而是让它越来越精巧,直指目标。
注:此推文中的图片及封面(除操作部分的)均来源于网络!如有雷同,纯属巧合!
以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。另外,我们开通了苹果手机打赏通道,只要扫描下方的二维码,就可以打赏啦!
应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~
文字编辑:何雪泽
技术总编:刘贝贝
往期推文推荐:
2.hello,MySQL--Stata连接MySQL数据库
3.hello,MySQL--odbcload读取MySQL数据
关于我们
微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。
此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。
投稿邮箱:statatraining@163.com
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。