微信公众号:「Python读数」
如有问题或建议,请公众号留言
最近想着出一个Python小白零基础入门系列的文章,希望能对入门的小伙伴有所帮助,内容会囊括简单的数据类型、列表、字典、循环以及函数的定义,对于一些概念会以图解的方式进行讲解。今天这篇文章就介绍一下Python中的变量以及简单的数据类型,文末还列了一些练手的题目,大家可以边学边练!
在Python中,变量是用来储存数据的,更直白点,变量和我们小学时接触到的数学中的 x
和y
一样,都是给某个数据取个名字,只是这里的数据不仅仅局限于数字,还可以是文本、数组等。下方的代码块中,a
,b
,c
都是一个变量,各自储存了不同类型的数据。关于具体的数据类型,下面会详细讲。
a = 1 #数字
b = "Python" #文本
c = [1,2,3,4] #数组
就像中国人和美国人取名都有不同规则一样,在Python中,关于变量的命名也有自己的规则。
var_1
和 _1
都是正确的写法,但是1_var
和 1_
是错误写法。var_1
,若写成var 1
则会报错。Python中有许多不同的数据类型,这些数据类型也是为了解决实际的问题而产生的,比如记录一个人的年龄我们需要用到数值型,判断一个人的性别需要用到布尔型(是或否),记录一个人的名字就需要用到字符型(文本)。
刚接触编程语言的人可能对布尔型、字符型这类名词感到很陌生,但说白了这些词只是这类数据在计算机语言中的“名字”,就如中国的姓名在英文上是name,类比到生活中所熟悉的文本在计算机中叫字符串。下面会就一些简单的数据类型进行具体的介绍。
数值型就是咱们平时生活中的数字,在Python中分为两大类,分别是整型和浮点型。
1、整型(int)
整型就是数学中的整数,如1,100,123,-123
2、浮点型(float)
浮点数就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数如1.23,3.14,-9.01 等
在Python中,可以对数值型数据执行加(+)减(-)乘(*)除(/)以及乘方(**)等运算。
In [25]: a = 2
In [26]: b = 3
In [27]: c = 4.5
In [28]: a + b
Out[28]: 5
In [29]: a - b
Out[29]: -1
In [30]: a * c
Out[30]: 9.0
In [31]: c / b
Out[31]: 1.5
In [32]: a ** b
Out[32]: 8
布尔型变量是有两种逻辑状态的变量,它包含两个值:真和假,在Python中表示为True
和 False
。对布尔型变量可以进行与(and)
,或(or)
,非(NOT)
的运算,什么是与或非?通过例子来看一下:
# 与:只有同时为True时最终结果才为True
In [35]: True and True
Out[35]: True
In [36]: True and False
Out[36]: False
# 或:只要有一个为True结果即为True
In [38]: True or True
Out[38]: True
In [39]: True or False
Out[39]: True
# 非:对原逻辑词的否定
In [41]: not True
Out[41]: False
In [42]: not False
Out[42]: True
In [43]: not (True or False)
Out[43]: False
当然进行关系运算(或称比较运算)也可以产生布尔值,关系运算有以下6种
符号 | 含义 | 符号 | 含义 |
---|---|---|---|
> | 大于 | >= | 大于等于 |
< | 小于 | <= | 小于等于 |
== | 等于 | != | 不等于 |
In [46]: 30 > 500
Out[46]: False
In [47]: 2 == 5
Out[47]: False
In [48]: 2**10 < 5**6
Out[48]: True
字符串就是一系列的字符。在Python中,用引号(单引号或双引号)括起来的都是字符串,在上面也提到过,字符串就是我们平常见到的文本数据,如下所示:
"Hello world.I like Python."
'I like Python, too.'
字符串有许多的使用方式,下面列举出了一些常见的操作:
In [49]: a = " Hello" #创建字符串" Hello"并存储到a变量中
In [50]: b = " world " #创建字符串" world "并存储到b变量中
# 1.字符串的拼接
In [51]: c = a + b
In [52]: c
Out[52]: ' Hello world '
# 2.将字符串中的字母全部转换为大写
In [53]: c.upper()
Out[53]: ' HELLO WORLD '
# 3.将字符串中的字母全部转换为小写
In [54]: c.lower()
Out[54]: ' hello world '
# 4.将字符串中的单词首字母大写化
In [55]: c.title()
Out[55]: ' Hello World '
# 5.去掉字符串中左右的空格
In [57]: c.strip()
Out[57]: 'Hello world'
# 6.去掉字符串中左边的空格
In [58]: c.lstrip()
Out[58]: 'Hello world '
# 7.去掉字符串中右边的空格
In [59]: c.rstrip()
Out[59]: ' Hello world'
# 8.将单词"world"替换为"python"
In [60]: c.replace("world","python")
Out[60]: ' Hello python '
如果你要实现从字符串中获取一段子字符串的话,就涉及到字符串的索引操作(俗称切片),可以使用 [头下标:尾下标:步长] 来截取相应的字符串,其中下标是从 0 开始算起(从左往右的话),截取的时候不会包含尾下标对应的字符,下标可以为空表示取到头或尾。如下图:
In [67]: string = "Python"
# 获取第3个字符
In [68]: string[2]
Out[68]: 't'
#获取前三个字符,可以看到'h'并不包含在内
In [69]: string[0:3]
Out[69]: 'Pyt'
#从右往左获取第四个字符
In [70]: string[-4]
Out[70]: 't'
#从头截取到第5个字符
In [78]: string[:5] #和string[0:5]等价
Out[78]: 'Pytho'
涉及到步长的操作:
#从第1个元素到第5个元素,每隔两个元素截取一个
#方向为正,步长为2
In [73]: string[:5:2]
Out[73]: 'Pto'
#图解如下
#从索引为-1到-3位置(到不了-4),每隔两个元素截取一个
#方向为负,步长为2
In [74]: string[-1:-4:-2]
Out[74]: 'nh'
#图解如下
当然,上述的这些数据类型也是可以相互转换的,直接来看看实际的例子,这里主要看数字字符串(如”123“)和数值之间的相互转换。
In [79]: a = 1
In [80]: b = "2"
#数值型转换为字符串
In [81]: str(a)
Out[81]: '1'
#数字字符串转换为数值
In [82]: int(b)
Out[82]: 2
a=100,b=2,求a+b,a/b,a×b,和 a^b
str(1) + "1"
和 int("1") + 1
有什么区别
False and (not False)
和 True or False and False
返回什么值
已有字符串 string = " What is Your Name? "
①去掉首尾空格
②截取前三个字母
③将What
替换为Which
④将所有单词的首字母变成大写的
⑤将所有字符变成大写
⑥将所有字符变成小写的
⑦将字符串反转成' ?emaN ruoY si tahW '