Python入门——基本运算符和基本类型

来源:互联网 发布:加州101电台知乎 编辑:程序博客网 时间:2024/06/02 06:36

基本运算

在了解了怎么安装Python3,,安装IDE之后,接下来我们学习一下Python上面的常用运算符,直接运行解释器后(在Cmd上运行Python),直接在上面进行一些计算,会直接输出答案,要是我们在文件中运行计算题,必须要使用print方法才会有输出,比如

>>> 1+23>>> 1-2-1>>>1*22

除法/在Python上是有区别的,一般在java中,两个整数相除,结果是整数。但是在Python里面,两个整数相除总是会得到一个浮点型数值(float),比如

>>> 1/20.5>>>1/30.3333333333333333>>> 10/61.6666666666666667

所以python上的除法分成两种,一种是使用/相除后总是会获得浮点型数值的,另一种则是使用//运算符,这种做法会获得一个整数数值,丢弃小数部分,比如

>>> 1//20>>>1//30>>>10//61

通过**运算符可以计算幂乘方,比如

>>> 2 ** 38>>> 1.4 ** 21.959999999999997

可以看到,普通情况下使用的幂次方是没有问题的,但是对于浮点型的数值使用**运算符就可能会出现一些意想不到的问题。
使用=给变量赋值,变量在使用之前,必须进行赋值,否则会报错

>>> varTraceback (most recent call last):  File "<stdin>", line 1, in <module>NameError: name 'var' is not defined

_下划线,python把最近一个表达式的值赋值给变量它,这样我们就可以通过_来获取上一步的计算结果了,但是只能够在>>>模式下使用

>>> 1+45>>> _5

注意给_赋值,否则只会创建一个局部变量,那么我们使用_访问到的都是这个局部变量。

基本类型

Python支持多种数据类型,像常用的int和float,不常用的用Decimal,Fraction,Date等,所以我们只需要了解常用的数据类型就好了,对于不常用的类型,不适宜入门,要懂得放弃。
下面说一下另一种常用的数据类型,字符串类型。
像很多脚本语言一样,对于字符串,我们使用'xxx'单引号,或者"xxx"表示,使用\反斜杠转义引号,如果:

>>> ' "asdd" '  #用单引号包含双引号,不需要转义,反之亦然' "asdd" '>>> '\''"'"

>>>模式下我们会看到输出的字符串会带有引号,使用print()函数输出字符串就会隐藏掉最外层的引号了。

>>> print(' "aasd" ') "aasd" >>>print('\'')'

python有一种非常强大的使用原始字符串的语法,在字符串前面加上r,那么就会保留整一个字符串,不需要转义\

>>>print('\\\\AAA')\\AA>>>print(r'\\\\AAA')\\\\AAA

python还有一种强大的文本编辑能力,使用'''xxx''',或者"""xxx""",在段落末尾使用\反斜杠可以连接末尾和下一段的开头,比如

>>>print('''...今天是个好天气,早上\...下雨了...''')今天是一个好天气,早上下雨了>>>print('''...今天是个好天气,早上...下雨了...''')今天是个好天气,早上下雨了

我们也可以使用一些数学操作符对字符串进行处理

#加法运算>>>print( 'www.'+'baidu.com')www.baidu.com#乘法运算>>>print(3*'w'+'.baidu.com')www.baidu.com#python还会把两个字符串自动连接起来>>>print( 'www' '.baidu.com')www.baidu.com

对于自动连接这种情况,我测试过会必须是两个'xx''xx'两个单引号是临近的,这样才会合并成'xxxx',而且这些合并的优先级还挺高的,当然非常不建议使用任何不适合阅读语法书写代码,虽然python主张尽可能少的代码,但是不好阅读的语法还是不要用的好,不然看起来眼都花了…
像java语法一样,我们也可以把字符串看做是一个字符数组,然后使用下标来访问对应的字符

>>> str = 'Hello'>>> str[0]'H'>>>str[-1]'o'

这也是python比较逆天的地方,不但能够正向访问下标,还可以逆向的,对于长期接触,我们的数组下标依然是从0开始,所以-1代表的是末尾第一位
另一个非常逆天的语法是切片,习惯了java的语法,其实我是很不习惯python这样很逆天的语法的,所谓切片,顾名思义,就是获取一个指定的片段,切片语法使用[x:x]

>>> str = 'Hello'>>>str[2:1]''#空字符串

所幸找到了一种很好的快速学习切片语法的方式

 +---+---+---+---+---+ | h | e | l | l | o | +---+---+---+---+---+ 0   1   2   3   4   5 -5  -4  -3  -2  -1

可以看到两个|之间形成的字符串组合就是我们要得到的切片,如果我们没有定义切片头或者切片尾,像[:3]或者[3:]这样的,默认会填充字符串的头或者尾,对于一切超出切片范围的数值,不会报错,当字符串的头或尾来处理,比如

>>>str = 'hello'>>>str[0:10]'hello'>>>str[-10:5]'hello'

必须满足切片的左边位置大于右边位置,注意,不是数值上大于,比如上面的例子,[-10:5]是满足的,但是[-3:1]就不满足了,因为-3的位置在1的后面。
字符串一旦赋值,是无法被更改的。比如下面的例子就会报错

>>> str[0] = 'e'Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: 'str' object does not support item assignment>>>

如果我们需要修改当前字符串的一个字符,只能将字符串分成两个切片,插入待插入的字符串后,返回一个新的字符串
要查询字符串的长度,使用len(str)函数获取字符串长度

>>> len('hello')5
0 0