这一篇笔记主要介绍下Python的变量类型。
根据COO的学习反馈,对变量赋值有些疑惑。先把这个问题解决掉,以下面这句代码为例,
首先,在计算机内存中开辟一个空间,用在存放160这个数值。接着通过赋值号”=“这个纽带,将这个数值赋给变量weight,建立内存与变量之间的联系。weight既是变量的名字,也是一个标识符,是一个标记,它指向内存中的160。我们并不需要知道160在内存中的具体位置,而关心的是如何调用与操作160这个数据,如下图所示,
变量(variable)的数值可以发生变化,也可以重新指向其他数值,建立新的关联,比如weight=140。
Python的变量类型有六种,分别为数字、字符串、列表、元祖、集合、字典。下面一一介绍这些变量类型。
1. 数字
顾名思义,就是我们所熟知的数,可以细分为整数、浮点数与复数。这与数学中的定义一致,这里就不赘述了。数字的操作符与数学中一致,包括+,-,*, /等。补充三个操作符,
比如,15//2的结果为7,15%2的结果为1。
数字类型的常用函数有以下几种,
2. 字符串
字符串是由一系列字母、数字、下划线等字符,加上一对双引号或单引号构成,形式为
char="strings”或char='strings’。
引号不可少。字符串中的每一个字符是有顺序的,从左往右依次为0,1,2...,从右往左依次为-1,-2,-3....,如下图所示,
标点符号或者空格等,也是字符串的一部分,index也包含在内。
根据字符的顺序,可以进行索引与切片操作。str[m]表示取str的第m个字符, char[m:n]取第m个字符到第n-1个字符构成新的字符串。
字符串的常用操作符有三种,
例如,‘he’+'llo'生产新的字符串‘hello’, 2* ’hi‘生产’hihi‘。
常用的字符串处理函数,
3. 列表
列表是一种复合数据类型,其格式是
[a,b,c...]
其中每一个元素a,b,c可以是字符串或者数字,不同元素间以逗号隔开。与字符串类似,列表中的元素也有顺序,可以对列表进行索引与切片操作。列表中的元素可以修改,添加和删除。列表中的元素类型可以多种,不要求相同。
举个栗子:
week[5:7]即为["Saturday", "Sunday"]
列表的主要操作如下,
4. 元祖(tuple)
元祖也是复合数据类型,它与列表有些相似,最大的区别是元祖中的元素不可以修改。它的格式为
(a, b, c...)
括号的形状是圆括号,而列表是方括号。元祖也可以进行索引与切片操作。其主要操作如下,
栗子:
tup1[1]对应”height“, len(tup1)的值为4.
5. 集合
集合(set)与数学中的集合概念类似,分别可变集合与不可变集合。可变集合的格式为{a,b,c...}, a,b,c可以是数字、字符串、元祖等类型,括号为大括号。可变集合也可使用set()函数进行创建。不可变集合的格式为 frozenset()。
6. 字典
字典由key与value两部分组成,想像一下小时候查字典,先找到拼音,然后再找到那个字。它的格式为
dict={key_1: value1, key_1: value1, key_1: value1...}
key与value之间用冒号隔开,每对key/value之间用逗号隔开。字典中的元素没有顺序的区分。
栗子:
var['身高']的值为180。
这六种变量类型中,数字与字符串是基本数据类型,后面几种数据类型是复合数据类型,使用比较灵活,在处理文本时非常方便。不同变量类型的定义与基本操作,这些都是基本规则,类似一门外语的语法,语法知识才会有优美的诗句。
COO估计也看晕了,留一道题给COO。经常看到这个式子1.01^365, 每天进步一点点,便可以走上人生巅峰。假设现在三天打鱼,两天晒网的话,一年之后,个人进步了多少?假设打鱼为进步1%,晒网为退步1%。