美文网首页程序员
Python专栏:一大波小学生教你学数据基础

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

作者: 测试奇谭 | 来源:发表于2018-08-25 21:44 被阅读11次

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

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

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

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

    image.png

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

    • 姓名:王儿起麻子

    • 年龄:7岁

    • 入学成绩:59.99

    • 是否住校:否

    • 父亲:王没起麻子

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


    言归正传。

    今天要和大家介绍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'
    

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

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

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

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

    今日到此,就这么回事。

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/ipwpiftx.html