> 最近有许多小伙伴问我要入门 Python 的资料,还有小伙伴完全没有入门 Python 就直接购买了我的 pandas 专栏。因此我决定写几篇 Python 数据处理分析必备的入门知识系列文章,以帮助有需要的小伙伴们更好入门。
前言
本节进入代码环节,一切从简单开始。本文全程使用 cell 交互模式编写代码,还不认识 cell 模式,请看本系列上一节内容
数值运算
编程本质上是把我们的想法告诉计算机,让其运行,本系列尽可能从语义角度讲解代码。
首先,让计算机做简单的数值运算是必需的:
- - 符合 # ,后面的内容都被视为注释,就是一些备注,不会被当作为代码
- - 上图的代码即表示其上方注释表达的中文意思
- - 在 cell 交互模式中,最后的值会被自动输出,比如第一个 cell 的1 1结果2,就会被显示出来(上图右方第一个区域)
有人问:运算就只有这些吗?
当然不是,有需要你可以多利用搜索引擎。
比如,求余数:
- - 搜索关键字为"python 余数"
- - 注意,python 这个关键字必需有
> 多利用搜索引擎,选择哪个搜索引擎也是非常重要的!
变量
只是运算出结果是不够的,我们需要能够记住结果的机制——变量。
"先求出1 1的结果,然后用这结果乘以2"。如下代码表达这个语义:
- - 变量 = 运算结果 ,表示把 "等号右边的值" 赋值 给 "左边定义的变量"
- - 变量可以是中文,但建议你用英文
看如下对应图:
> 本系列是 python 数据领域入门系列,这里不讲解变量引用知识
字符串
只有数值是不足以满足我们日常工作上的语义表达,文本也是一种常见的表达,一般有2种场景:
- - 输出信息
- - 数据文本
本文只讲解输出信息的场景。
显示一个中文文本"这是一个文本":
- - 用英文单引号包围的内容,被视为一个文本,我们称之为"字符串"
2个字符串之间可以使用 " " 合并:
- - 结果与前一个例子一样
有时候我们希望把运算结果输出成为一个有意义的中文句子,比如,"先求出1 1的结果,并输出中文信息[这次运算结果是:2]":
- - 看起来应该没问题,但实际上是错误的写法
- - 因为 Python 不知道你是想"合并2个文本" 还是 "2个数值相加"
正确的做法如下:
- - 因为变量 x 保存的是一个数值,需要使用 str(x) ,把 x 的值转变为文本
如果有多个变量需要合并到一个文本中,这需要写多次的加号,并且会把文本拆散,代码体验很差劲,比如:
- - 这写法太繁琐
看看一种"字符串模板"的写法:
- - 结果与前一个例子一样
- - 文本的左边单引号之前添加一个字母 f ,告诉 Python:我要在文本里面直接使用变量呀
- - 但是我们不能直接在文本中直接写 x1 这样子的变量名字,因为 Python 没法知道你要的是变量的值,因此使用花括号 "{}" 包围变量,即表示文本中嵌入变量的值
> "{}" 中并不是只能嵌入变量,可以是任意的合法表达式,比如 f'结果是{1 1}'
有时候你要写一个很长的文本字符串时,会觉得都写在一行显得不好看:
我们可以把一个文本分开来写:
- - 这与上一例子的结果是一样的
- - 用括号把3行的文本包围起来,那么 Python 就会把3个文本合并成一个文本
双引号与单引号
有时候我们需要在一个字符串中输入单引号,如果直接输入,则会语法错误。如下:
- - 因为 Python 会把前2个单引号之间视为一个字符串,后2个单引号视为另外一个字符串
- - 中间的 "张三" 反而被当作是语法,由此产生错误
幸好,Python 也可以使用双引号包围形成字符串,因此上述的需求可以这么写:
- - 最外层使用双引号,里面则可以直接使用单引号
> 注意看代码的着色,第一个例子的 "张三" 是白色的,而这个例子整个内容都是红色,证明整个被视为一个字符串
总结
- - 字符串不能直接与数值运算,要显示字符串,则先把数值转字符串
- - 当需要多个变量合并到一个文本中时,应该使用字符串模板。f'文本内容{变量}'
- - 用括号把多行的文本包围起来,将合并为一个文本处理
- - 结合使用双引号与单引号,可避免一些基本的语法问题