Python基础(4)
前面,我们讲到了改进文字小游戏的要求以及每一个要求实现的具体步骤,今天,我们继续来学习。不过今天讲的东西,前面已经用到过了——Python的数据类型和Python的数据类型
1)Python的数据类型:
跟其他的语言一样,Python的数据类型也包括:整型(int)、布尔类型(bool)、浮点型(float)。不过我们的Python的数据类型跟其他语言的区别在于:我们的长整型或短整型等更具体的数据类型是没有的,像C语言是在数据后面加上L或者是S,我们的Python没有这方面的限制,所以这一点是很好的。
整型:所谓“整”——肯定是说整数啦;
浮点型:带有小数点的数字就是浮点数(浮点型和整型的最本质区别就是是否带有小数点)
布尔类型:用于逻辑判断的“特殊的整型”,为什么叫“特殊的整型”,因为布尔类型的数据也是可以进行算术运算的,多说无益,我们还是看一下例子吧:
>>> True + True
2
>>> True + False
1
>>> True * True - False + False / True
1.0
说到这里,我们就要讲一下Python的数据类型转换,你们还记得之前我们的文字小游戏:有一行代码是这么写的:temp = int(input(‘请输入一个数字:’))
其实,这里就用到了数据类型转化(把字符串转化成整型),当然这个字符串必须是只包含数字的字符串,否则的话转化就会出现问题。
接着,我们可能在转化数据类型的时候,有时候不知道某一个变量的具体数据类型,那这里应该怎么办呢?
莫慌!我们Python里面有一个强大的BIF——type()和isinstance(),这两个有什么区别呢?第一个只是纯粹得到某一个数据的类型,而第二个有两个参数,用前面的那个参数的数据类型是否跟后面的数据类型一致来判断,如果一致的话,就会显示True,否则的话,显示False,我们来具体的看一下例子:
>>> type('Arduino')
<class 'str'>
>>> type(89)
<class 'int'>
>>> type(234.90)
<class 'float'>
>>> isinstance('ashcb',str)
True
>>> isinstance('asuc',int)
False
>>> isinstance('saucv',89)
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
isinstance('saucv',89)
TypeError: isinstance() arg 2 must be a type or tuple of types
注意:第二个参数必须是已知的数据类型
2)Python的常用操作符有哪些呢?主要包括算术运算符,比较操作符,逻辑操作符
先来看看算术运算符吧:
算术运算符:用来进行算术运算的一类符号,主要包括:
+、-、*、/:这是二元算术运算符,左右两边各有一个参数,运算法则跟我们数学中的要求没有什么区别:
>>> a , b = 1,9
>>> print(a + b, a - b,a * b, a / b)
10 -8 9 0.1111111111111111
%:这是取余数的操作符:
>>> 8 % 3
2
>>> 8 % 2 * 3
0
>>> 8 % 7 * 3
3
**:乘幂运算符:
>>> 2 ** 4 % 1
0
>>> 2 ** 4 / 5
3.2
//:取整数运算符:
>>> 8 // 3
2
>>> 8 // 3 % 3
2
基本的算术运算符就这么多了,我们看一下下面的比较操作符:
、<、>=、<=、==,!=都是二元操作符,左右两边都是参数
我们来看一下例子吧:
>>> 1 != 3 == 3 > 3
False
>>> 1 != 3 == 3
True
这里没有什么可以说的,还是跟数学的要求是一样的
我们还是重点讲一下逻辑操作符吧:
not:一元操作符,就是用来取那个数据的相反的数据的,只有一个参数(可以参与布尔数据的运算)
or,and:都是二元操作符,左右两边都是参数
not:若开始是真,经过这个运算后就会变成假的
and:是“同真则真,一假则假”
or:是“全假才假,一真则真”
具体看一下例子:
>>> not True
False
>>> not 0
True
>>> not 6
False
>>> 1 and 5
5
>>> 1 and 0
0
>>> a and False
False
>>> 1 or 0
1
>>> 1 or 0 and 3
1
好了,讲完这个运算操作符后,我们必须谈的一个问题就是优先级的问题:
这里有一个优先级的表:
还要注意的是:在金字塔的同一层的数据也未必优先级相同:(not>and >or)
>>> not 1 > 3
True
>>> not 5 + 4
False
好了,更多的需要的是练习,谢谢大家!!