程序员

Python专栏:一大波小学生教你学数据基础

2018-08-25  本文已影响11人  测试奇谭

派森老师今天心情略微烦闷:

一是,好不容易捱过暑假,本想着可以见到朝思暮想,日夜渴求的被称为最美丽的漂娥琪漂老师,不曾想撞见佳人已入他人怀,恨得手上缺把刀;

二是,新学期到了,一大波小学生还有30秒达到战场,此刻,他的办公桌上堆积起着每位学生的个人资料,看着头都大了。

不过,鉴于上半年派森老师的绩效一举超过了贾瓦老师,他还是很有干劲的。

image.png

于是,派森老师拿起一位学生的资料,略了前几行:

然后开始繁忙而又辛苦的录入工作……


言归正传。

今天要和大家介绍python中基础的基础——数据类型。在前沿故事里,我大致道出了今天要讲的几种数据类型。

在大多数语言教程中,不管是python、java、php或者其他,第一个要讲的都是数据类型。

有的学习者一点就通;有的学习者却绕了进去,花大把的时间研究数据类型的使用方法和细节,诸如分类、切片等,而忽略了使用它们的目的。

就像那句话老说的:我们总是在不停地前进,却遗漏了路边的风景。

对于编程语言,不同数据类型有什么用?

你不妨问一下自己,从小学的1、2、3、4和汉语、英语有什么用?

无非是语言沟通、看懂文字、会做算数。

编程语言也一样,用一种人类和计算机(当然会有处理,如编译)都能看懂的表示方式,将人和计算机的交流联系起来,选择性代替人类的计算和思维。

so,我们以python的角度来看看学生的资料,也就简单了。


image.png

字符串(姓名)

姓名:王儿起麻子

如姓名这样,要用文字描述的,是字符串,在python中,可写为:

student_name =  'pock wang'
student_name =  "pock wang"

单引号和双引号有区别吗?

一般情况,没区别,不过……

如果王儿起麻子并没有麻子(pock),只是一个外号,而外号需要加引号('pock')的情况下,就有区别了。

student_name =  '\'pock\' wang'  # 单引号内的字符串如果有引号,需要加入反斜杠\进行转义
student_name =  "'pock' wang"  #  双引号内则不需要,直接可以使用

如果使用单引号不加转义符,则会语法报错。


image.png

整型(年龄)

一般情况,我们说年龄,都是7岁,8岁,30岁等等,说的都是整数。

整数,即整型。

不过,你要说,老子虚六岁,老娘正是豆蔻年华、金钗之岁。

嗯,我这里有个叫巴掌的东西,要不要领略下?

在python中,整型通常写为:

age =  7  # 注意,是不加引号

如果加了引号会是什么?

就回了上一个知识点——字符串。


image.png

int是什么意思? 整型
str是什么意思?字符串类型

当然,要是派森老师的父亲,老派森尼克老师,他会这样去判断:


image.png

age是整型吗?是

age_2呢?不是

这下你明白了吧,不加引号,他仍旧是一个整型,加了引号,他就变成了字符串啦!

这是python语言的特点之一:语言干练,易于阅读。

如果是漂漂老师录入学生信息,她可能会这样去做:

$age = 7;

贾老师呢?

int age = 7

浮点型(入学成绩)

成绩这个东西啊,王儿起麻子越在意,越是吃不好,玩不开心,还得被妈老汉打!好比绩效,虽是没人打你,但你越在意,也只讨得不开心!

不过,给59.99,阅卷老师,你出来,我想打你!

在python中,带小数点的一样,只需写为:

score =  59.99  # 注意,也是不加引号滴

来,我们一起看看。


image.png

float是什么意思?浮点数类型

这儿留一个问题给大家实验:

3除以3的结果是整型还是浮点型。

强烈建议尝试一下,可能在不久的将来,你所从事的工作会因这儿的误判而出现bug!

布尔型(是否住校)

记起n年前,初中第一次离家住校,那是哭得我稀里哗啦,更别提一个小学生了。

有家人的陪伴和没有,对孩子的性格养成影响极大!

所以,我太同情王儿起麻子了。

对于是否住校,这儿加上了一个判断,是or否,也就是我们常说的布尔值。

换在编程语言中,就是True or False,相信在整型那儿,你已经见识过了,用isinstance判断数值的类型,得到的结果就是布尔值。

说简单点,在python中:


image.png

脑经急转弯:1加1在什么情况下大于2?

答:在算错的情况下!

但python很诚实,它不会算错,因此,判断为False

试试下面的判断行不行·,并找出原因:

print((1 + 1) =  2)

变量与常量

前面我们说了整型年龄,我们知道年龄是会随着年份的变化而变化的。

在python中,数值会变化的,我们叫做变量,顾名思义,会变化嘛!

比如:

age = 7  # 2018年
age = age + 1 # 2019年
age = age + 1 # 2020年,十三五规划的成果来啦!
print(age)
>>>
9  # print的结果,王儿起麻子,9岁啦!

这就是变量,变量我们习惯用小写单词加下划线表示(请养成这个习惯!
如:
age
wang_age
pock_wang_age

命名是尽量简洁,不要觉得英文不好,就这样来写:

wang_nianling
wangerqimazi_de_nianling

WTF?

而王儿起麻子的父亲的姓名,王不起麻子,除非极特殊的情况,是不会改变的!

大人的名字,公安机关一般不予更改,即便更改了,也麻烦不断。

所以,类似这种不会更改或者极低得可能性更改的,我们叫做常量。

比如:

FATHER_NAME = 'non-pock wang'

常量我们习惯用大写单词加下划线表示(请养成这个习惯!

正因为常量不会修改,我们往往把他统一保存在一个地方,即便要修改,也是很容易的事情,不会牵一发而动全身。但这一点涉及到类和包的概念,后面我再详谈。

好了,第一个学生的录入完成!

派森老师很开心,但是后面还有一连串的学生,每个人的姓名、年龄、成绩等等都不一样,他又该如何处理?

今日到此,就这么回事。

上一篇下一篇

猜你喜欢

热点阅读