三撩Python

我不求深刻,只求简单。

--三毛

1、起手

我呢,一个咖啡师,咖啡使我忙碌与充实。

每天端起咖啡,香气弥漫,轻轻一口,就在那一刹那,没有时间,没有空间,没有纷纷扰扰,没有我,没有咖啡...... 咖啡即禅。

大兄弟,把砖头放下,我知道装的有点过。

其实每天的生活是这样的:买咖啡豆,等咖啡豆,磨咖啡豆,萃取,打奶,拉花,拍照,收钱,记帐,写软文,做推广.......

人生是苦,如果你心里苦;人生是乐,如果你沉浸其中。

虽然每天这么多事,有Python在手,一切是那样的清晰与条理。

代码,就是计算机的语言,告诉计算机干什么。

让计算机干事情,分三个步骤,告诉它有哪些数据,怎么处理,最后输出结果。

今天撩数据,也叫变量。

2、有哪些类型变量

计算机里的最基本变量有以下几种:整数,浮点数(有理数),字符串。

再复杂的数据,都是可以用这几种数据类型及其组合表示。

Python定义一个变量的写法是这样的

变量名=变量值

意思是,定义一个叫变量(数据),其名字是变量名,其值是变量值。

中间的等号(=),不是数学意义上等号。在这里的意思是赋值,就是让变量名对应的变量的值是变量值。这是计算机语言,计算机语言,计算机语言......

举个栗子,今天买了一包咖啡,有这样一些数据要记录。

weight=227

price=118.5

name='Luwak'

机智如你,就知道,这包咖啡豆227克,花了118.5大洋,叫Luwak。

上面的weight,price,name都叫变量名,就像某人的网名叫风尘里的小狗狗一样,就是个标记,但是变量名有几个注意点,

只能用字母,数字和下划线,且数字不能放在最前面。

是区分大小写的。就是Name与name是不同的名字。

不能用保留字,有些单词Python已经预订了,不能用。具体哪些,问问度娘吧。

这个名字取啥,Python没有任何感觉,取name也行,取blablabla也行。但是,代码首先是人看的,许久以后回过头来看代码,遇到blablabla这样的变量名,是不是特想抽现在的你。如果一个项目不是你一个人在战斗,当队友看到这样的代码时,心里奔腾着.......

说完变量名,再看变量的值,227是整数;118.5是浮点数;'Luwak'是字符串,注意两边的单引号,用来指定这是个字符串。双引号也可以字符串,对Python是一样的。

那到底要定义哪些变量呢?这得看要干啥,要处理哪些数据就定义哪些数据。比如,还关心哪天买的,可以再加一条

buydate = '2017.12.26'

或者其它任何数据,看需要了。

上面基本类型虽然表达力很强,但是用起来还是很单薄,Python提供了一些更高级的数据类型。

3、数组

数组是有序的一组元素,所谓有序,就是1,2,3,4这样排下来。数组里元素数目不限。

数组在Python里叫List(在C语言里list是链表),数组是这样定义的:

taste = [0.7, 0.8, 0.4, 0.4, 0.2]

这是表示哥伦亚风味的某牌咖啡各项口感值,分别是甘味,酸味,回味,厚醇,以及苦味(慢慢品哦)。

方括号表示是一个数组,里面有很多元素,用逗号将各元素分开。数组里的每个元素都有一个序号值,第一元素的序号是0,是的,是0,从0开始。第二项是1,以此类推。

上面展示的数组里的所有元素类型都是一样的,在Python里,数组里的元素可以类型不同,举个例子:

deal = ['FE_jo', '清咖', 2, 15.5,'2017.12.26 12:02']

这是一笔交易记录,FE_jo在2017.12.26 12点02分订了2杯清咖,共15.5元,VIP有优惠。

Python数组提供了很多方便的操作,非常顺手,这里不说。

4、元组

Python里还有一种数据类型叫元组(Tuple),和上面List是差不多,主要区别是List是可以变化的,而Tuple是不可以变化的。如果一组数据并不想改变它,可以用元组。示例如下:

taste = (0.7, 0.8, 0.4, 0.4, 0.2)

因为一种咖啡出厂的时候,风味已经确定了,改变不了,所以用元组更合适一些,但就信息表达上,效果是一样的。

5、字典

上面的示例中,不论是咖啡的风味,还是那笔交易,记录的都是具体的数值。但是时间长了,再回头看代码的时候,可能会有些凌乱,不知道0.7到底是代表哪种口感的值,代码维护起来就比较困难(当然也可以在代码上加注释),程序处理起来就容易出错。这里容易出错不是程序出错,而是写代码容易出错,本来想取酸味值,不小心取了回味值。

字典是另外一种记录数据的方式。字典是用的形式来定义数据。比如上面的taste,可以这样定义:

taste={'甘味':0.7, '酸味':'0.8', '回味':0.4, '厚醇':0.4, '苦味':0.2}

这就清晰多了。字典用花括号{}表示,键值之间用冒号,一个字典里面有多个键值对,用逗号分开。键必须是字符串,值可以是任何类型,也可以是数组,也可是另一个字典。比如我买的那包豆豆,用下面的形式来记录。

bean = {

'buydate':'2017.12.26',

'price':118.5

'taste'={'甘味':0.7, '酸味':'0.8', '回味':0.4, '厚醇':0.4, '苦味':0.2}

}

表达能力超强,又清晰。(提醒,bean是没有加引号的,而price是加引号的。为啥?)

字典与数组都能记录很多信息,但程序处理起来是不一样的,数组通过索引访问元素,可以一下子访问很多数据,但是字典只能通过键一个一个地访问。

6、后记

先这些概念,喝杯咖啡吗?

本文来自企鹅号 - 全球大搜罗媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

Java基础-day01-代码题

Java基础day01-代码题巩固 ? ? 第一题:分析以下需求,并用代码实现 1.定义一个HelloWold类 2.在类中定义主方法 3.在主方法中使用输出语...

36160
来自专栏LEo的网络日志

冒泡排序

36360
来自专栏Jed的技术阶梯

Java设计模式之抽象工厂模式

好了,我们继续上一节课(Java设计模式之工厂方法模式),上一节讲到女娲造人,人是造出来了,世界时热闹了,可是低头一看,都是清一色的类型,缺少关爱、仇恨、喜怒哀...

16340
来自专栏玄魂工作室

如何学python 第十七课 类-面向对象的概念

欢迎回来。今天要说的东西将会改变我们写程序的方式。今天我们介绍‘类’(class)。 概述 什么叫‘类’?类,类型。变量类型。从日常生活的感觉来说,‘类’其实...

27940
来自专栏用户2442861的专栏

白话经典算法系列之六 快速排序 快速搞定

原文   http://blog.csdn.net/morewindows/article/details/6684558

14920
来自专栏Android机动车

设计模式——抽象工厂模式

● 为创建一组相关或依赖的对象提供一个接口,而无需指定他们的具体类型。是工厂方法模式的升级版。

8310
来自专栏前端说吧

JS-几大排序算法(更新中...)

50250
来自专栏Java后端技术栈

Java提供的排序算法是怎么实现的?快排?

前几天整理的一套面试题,其中有一个问题就是Java的JDK中我们见到的Collections.sort()和Arrays.sort()这两个排序算法的实现方式是...

19430
来自专栏带你撸出一手好代码

lambda表达式杂谈

上面的数据存放着一组人员姓名、年龄、性别相关的信息。 现在有一个需求, 获得年龄20岁以上,性别为女的人的姓名。 看到需求后, 很多人脑袋中产生的解决方案可能是...

34640
来自专栏落影的专栏

leetcode––为求职为生的编程网站

前言 leetcode是一个在线编程网站,题目源于各大公司的面试、有各种解法、多语言和在线测试支持; 我们扫一眼leetcode上的Company:Googl...

415100

扫码关注云+社区

领取腾讯云代金券