之前我们已经介绍了变量、变量的创建和赋值,以及变量的命名规则等等。今天我们继续来介绍Python的数据类型:数字类型、布尔型和字符串类型。 我们用之前的例子来进一步讲解:
name,age,weight = '女娲',18,49.99
print(name)
print(age)
print(weight)
我们仔细来看这个语句:
我们看到,在我们对变量进行赋值时,有的赋值内容有引号,有的没有引号,这其实就是因为这些信息属于不同的数据类型。 我们看到数字构成的信息是没有引号的,18 和 49.99均是由数字构成,都没有引号,就像人类所了解的数学有整数、小数、分数等各种类型一样。在计算机的世界里,也有不同的数字类型,比如 18就是整数,在 Python 中,我们用 int 来表示整数;49.99 是浮点数,在Python 中用 float 表示;也就是说,我们人类所理解的整数,在计算机的认知中,是整型 int,而人类所理解的小数,在计算机中则是用浮点型 float 表示。
(1)int
day = 49
number = 365
print(day)
print(number)
#光速,每秒30万公里
speed_of_light = 300000
#地球质量,5.97×10²⁴kg
mass_of_earth = 5970000000000000000000000
#地球最深峡谷的海拔,10994m,因在地下,我们这里用负数表示
altitude_of_mariana_trench = -10994
print(speed_of_light)
print(mass_of_earth)
print(altitude_of_mariana_trench)
pi = 3.1415926
negative_pi = -3.1415926
print(pi)
print(type(negative_pi))
(3)运算符
(3.1)算数运算符
day1 = 7
day2 = 7
day = day1 * day2
print(day)
我们看到最终打印出的是 49,Python 中的算术运算符,我们可以收藏下方表格!
(3.1.1)+(加)运算符
a = 1
b = 1
c = 3.14
d = 2.71
print(a + b)
print(c + d)
(3.1.2)-(减)运算符
a = 1
b = 1
c = 3.14
d = 2.71
print(a - b)
print(c - d)
(3.1.3)*(乘)运算符
a = 2
b = 1
c = 3.14
d = 2.71
print(a * b)
print(c * d)
(3.1.4)/(除)运算符
a = 2
b = 1
c = 3.14
d = 2.71
print(a / b)
print(c / d)
(3.1.5)%(取模)运算符
a = 10
b = 3
print(a % b)
(3.1.6) ** (幂)运算符
a = 10
b = 3
print(a ** b)
(3.1.7)//(取整)运算符
a = 10
b = 3
print(a // b)
(3.2)赋值运算符 下面,我们一起来看下赋值运算符,在变量的赋值中,我们提到了 = 的含义是赋值,在 Python 中赋值运算符 = 可以和算术运算符进行结合。
(3.2.1)=运算符 = 运算符和变量的赋值是一样的。
a = 3 # =运算符
print(a)
number = 365
number += 30 # +=运算符
print(number)
a = 3
a -= 3 # -=运算符
print(a)
a = 3
a *= 3 # *=运算符
print(a)
a = 3
a /= 3 # /=运算符
print(a)
a = 10
a %= 3 # %=运算符
print(a)
a = 10
a **= 3 # **=运算符
print(a)
a = 10
a //= 3 # //=运算符
print(a)
(3.3)比较运算符
food_number = 50
drug_number = 200
print(food_number < drug_number)
因为 200 是大于 50 的,因此 print() 打印的是 True,就是这种比较的结果为真!比较运算符返回的值是 True 或者 False。
==(等于) 比较运算符 和 = 赋值运算符的区别:
a = 1
b = 2
print(a == b)
(3.4)逻辑运算符
food_number = 50
drug_number = 200
print(food_number < 60 and drug_number > 150)
我们看到打印出的内容是 True,and 运算符表示当 food_number < 60 和 drug_number > 150 都为真时,返回 True,下图是常见的逻辑运算符,大家可以保存下哦!
and
a = 4
b = 8
print(a > 3 and b < 10)
print(a > 3 and b < 6)
print(True and True)
print(True and False)
print(False and False)
2.2 or 运算 布尔值的 or 运算就是假假为假,当 and 连接的两个布尔型都是 False 的时候,为 False ,一真一假和两真都为真。
print(True or True)
print(True or False)
print(False or False)
2.3 not 运算 布尔值的 not 运算则表示非,非真就是假,非假就是真!
print(not True)
print(not False)
通过前面的介绍,我们知道了没有引号的数字类型是整数和浮点数,那么用引号包含起来的数据类型是什么呢?Python中,以单引号 ’ 或双引号 " 括起来的任意文本就是字符串啦,上图中 ‘女娲’ 的数据类型就是字符串,大家这里需要注意的是,只要被引号包含的任意文本都是字符串!例如:‘123456’ “hello world!”。’ 和 " 不是字符串的一部分,只是一种表示方式。
print('hello world!')
print("hello world!")
如果字符串横跨多行,可以使用三个单引号或三个双引号将字符串括起来。 三个单引号:
print('''Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.''')
三个双引号:
print("""Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.""")
整型和浮点数可以赋值给变量,字符串也是可以赋值给变量的:
say_hi = "hello world!"
print(say_hi)
3.1 索引 中国古人一直有观天象的习俗,通过观天象,来获得对季节、气候、甚至是国家命运的认知。现代,通过科学家们的努力,我们知道了浩瀚宇宙的深邃,知道了八大行星的存在,海王星(neptune),八大行星之一,假设我们在Python 的世界中,可以重见神农,让我们用 Python 的语言为神农介绍下海王星的字母构成吧!这就要运用我们下方为大家介绍的内容:索引。 在 Python 中,字符串中的字符可以通过索引来提取。可以从前往后索引,也可以从后往前索引。 索引语法是:变量[下标],这里的下标是由数字表示,代表所要索引的字符在变量中的位置。 当从前往后索引时,下标从 0 开始。 当从后往前索引时,下标从 -1 开始,如下图所示!
star = "NEPTUNE"
print(star[0])
print(star[-1])
print(star[6])
print(star[-7])
大家来自己试一下下面这个题目: introduce_star = ‘This is the neptune’,将变量中所有的 e 打印出来! (可以试下从前向后索引,也可以试下从后向前哦) 3.2 切片 我们看到通过索引,只能提取单个字符,神农说,难得来一趟,想多认识一些字符,这个时候怎么办呢?我们可以通过切片来提取变量的多个字符,我们一起来看下切片怎么使用。 切片语法是:变量[头下标:尾下标](不包括尾下标对应的元素)。 当不指定头下标和尾下标时,获取的是整个字符串:star[:]。 当只指定头下标时,获取的是从头下标到字符串结尾的所有字符。 当只指定尾下标时,获取的是字符串的开头到尾下标的字符串(不包括尾下标对应的元素)。 头下标和尾下标也可以使用负值。 大家先在心中想一下下方语句的运行结果,再运行一下,看看结果是否一致呢?
star = "NEPTUNE"
# 获取 NEP
print(star[0:3])
# 获取 NEPTUNE
print(star[:])
# 获取 NE
print(star[-7:-5])
# 获取 EPTUNE
print(star[1:])
# 获取 NEPT
print(star[:4])
3.3 字符串长度 神农:“现代社会真神奇啊,不仅能认识海王星,还能读取海王星的另一种语言表达,可是我还有一个疑问,海王星的英文是几个字母构成的呢”? 我们:“这个问题简单,Python 中 len() 可以获取字符串的长度哦”
star = "NEPTUNE"
print(len(star))
在 Python 中,我们使用 len(变量名) 来获取变量的长度,len 是长度 length 的前三个字母,也是比较好记忆和理解的! 3.4 字符串方法 Python 有一组可用于字符串的内置方法,可以实现字符串的各种变换,宋老师在这里还是建议大家收藏下方表格哟!
strip() 删除开头和结尾的空白字符 神农:“现代的信息技术太精彩了!” 我们:“这都不算什么哟,还有更精彩的,同样的NEPTUNE(海王星),我们也可以做出一些变换的哦” 神农:“哦?快快,教教我是怎么做的” 有些时候,我们会在代码的编写中做一些空格的操作,这些空格在 Python 中就是空白字符,我们可以使用 strip()来删除字符串开头和结尾的空白字符,使用方法就是变量名.strip(),我们来看下方语句:
star = " NEPTUNE "
print(star)
print(len(star))
print(star.strip())
print(len(star.strip()))
我们看到在没有删除开头和结尾的空白字符串之前,变量 star 的长度是 9,使用 strip() 之后,长度是 7,空白字符串被删除了! 神农:“真是很神奇啊!” 其余方法的使用是一样的,都是变量.方法,下方的几个方法大家自己运行体会下哈! 3.5 转义 我们曾经给大家介绍过转义字符,今天在进行字符串知识的学习之后,我们再给大家仔细介绍下转义字符中的 \。 首先,我们先来回顾下字符串的一个要点,字符串是由单引号 ’ 或双引号 " 括起来的任意文本。也就是说,在字符串的变量赋值中,是包含单引号或双引号的,那么对于有些语句本身就包含引号的,Hi, shennong, this 's the neptune! 这种情况 Python 是怎么处理的呢? 在 Python 中,对于本身带有引号的字符串,有以下几种情况: (1)由双引号 " 括起来的任意文本包含单引号 ’
print("You're uinique, nothing can replace you.")
(2)由单引号 ’ 括起来的任意文本包含双引号 "
print('The man who has made up his mind to win will never say "impossible".')
运行起来,也都是正确的,但是当我们把上述例子中的双引号 " 换成单引号 ',把单引号 ’ 换成双引号 " 时,便会报错。这个时候就需要对 ’ 或 " 进行转义:
print('You're uinique, nothing can replace you.')
print("The man who has made up his mind to win will never say "impossible"")
神农:“这趟来的太值了,我认识了整型 int、浮点数 float、还有布尔值和字符串,可是怎么我感觉还是有些晕啊,尤其是遇到整数的数字时,到底哪些是整型?哪些是字符串呢?” 我们:“神农前辈不要担心,这个 Python 也有办法解决哦!” 在 Python 中,对于有些变量的数据类型,我们不太确定的时候,可以使用 type(),来获取变量的数据类型,type() 的使用方法是 type(变量名),我们一起来看下面的例子:
#变量weight1,赋值为整数50
weight1= 50
#变量weight2,赋值为字符串50
weight2 = '50'
#变量weight3,赋值为浮点数50.00
weight3= 50.00
#打印变量weight1的数据类型
print(type(weight1))
#打印变量weight2的数据类型
print(type(weight2))
#打印变量weight3的数据类型
print(type(weight3))
我们看到分别打印出了整型、字符串和浮点数。 在 Python 中,不同的数据类型是可以互相转换的,通过类型转换函数来实现,下图为常见的类型转换函数:
我们可以使用 int(),将 50.00 转换为 50,也可以使用 float(),将 50 转换为 50.00,具体语句如下:
weight1= 50
weight3= 50.00
weight4= int(weight3)
weight5=float(weight1)
print(type(weight1))
print(type(weight3))
print(type(weight4))
print(type(weight5))
神农:“嗯嗯,真是太精彩了,变幻无穷!” 我们:“和我们一起学 Python 吧!” 下面,我们运用str() 和字符串的+运算符打印出下列内容: 神农每天品尝 3 种草药,品尝了 50 天,一共品尝了 150 种草药。
num1 = 3
num2 = 50
num3 = 150
print('神农每天品尝 '+str(num1)+' 种草药,品尝了 '+str(num2)+' 天,一共品尝了 '+str(num3) + ' 种草药')
今天的内容就介绍到这里了,我们下一节再继续讲解!