编码世界程序员Python语言与信息数据获取和机器学习

Python系列-数字和字符串

2017-02-16  本文已影响63人  憨厚的老菜鸟

上一节:Python系列-解释器和编码

数字

Python的数学计算功能强大而简单,可以计算各种复杂的运算。数字分整型(integer)和浮点型(float),即整数和小数。这一节中,介绍的是简单的数字运算。

先来看一段代码:

>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5 
1.6

上面的代码,是基本的+(加)、-(减)、*(乘)和/(除)计算。在计算机语言中,乘和除的使用的标识符是*/()括号的用途是提升运算的优先级。在Python中,/除法和其他的开发语言略有不同,它得到的结果是float(浮点型),而在有些开发语言中得到的结果是一个integer(整型)。如果在Python中想得到的结果是integer(整型)的话,那么我们可以使用//。例如:

>>> 8 / 5 
1.6
>>> 8 // 5
1

//得到的结果不是四舍五入后的结果,而是将/除法的结果去掉了小数位,只保留了整数位,这一点需要注意。

取模

使用%标识符作取模运算。例如:

>>> 8 % 5
3
幂运算

在Python中,提供了可以做幂运算的标识符—**。例如:

>>> 2**3 #2的3次幂
8
>>> 5**2 #5**2次幂
25
>>> -3**2 #特别注意的地方,幂运算的优先级大。
-9
>>> (-3)**2
9

大家可能注意到,上面的代码里面使用了#,这个符号在python中是用来注释的,通常用在空白行或者代码的后面。

变量

>>> width=10 
>>> height=5 
>>> width * height
50
>>> (width + height) * 2
30

上面的代码中,可以看到,出现了一个新的标识符=,这个标识符在开发语言中,我们称之为赋值标识符。width = 10这句的意思就是将10赋值给width,而width,就称它为变量,意思是说它是一个可变的,给它赋什么值,它就是什么值,如果出现给一个变量多次赋值的情况,那么后一个会覆盖前一个。例如:

>>> a=10 
>>> a=5 
>>> a
5

使用没有定义的变量,会报错。例如:

>>> a=1
>>> b=2
>>> c
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'c' is not defined

在定义变量的时候,通常使用字母、数字和下划线来组成这个变量名,变量名命名要以字母或下划线开头。
在Python中,下划线(_)有另一个含义,就是隐式的变量符号。例如:

>>> a = 10
>>> b = 5
>>> a * b
50
>>> _
50
>>> a * _
500
>>> _
500

看上面的代码不难理解,_是上一个运算的结果,也就是说python会将运算结果赋值给_

字符串

除了数字以外,Python也能操作字符串。Python操作字符串使用单引号('...')和双引号("..."),单引号和双引号得到的结果都是一样的。例如

>>> "hello world"
'hello world'
>>> 'hello world'
'hello world'

两个符号也可以结合使用,例如:

>>> '"Yes!" he said.' #单引号和双引号结合使用
'"Yes!" he said.'

在某种情况下,会在双引号中使用双引号,这时候,就需要使用另一个标识符——转义符\,但是在单引号内,对单引号使用转义就失效了。例如:

>>> "\"Yes!\" he said."   #双引号下使用转义符
'"Yes!" he said.'
>>> '"Isn\'t" he said. '  #单引号下使用转义符
'"Isn\'t" he said. '

使用print()函数来解决此问题。例如:

>>> print('"Isn\'t" he said. ')
"Isn't" he said.

>>> s = 'First line.\nSecond line.'
>>> s
'First line.\nSecond line.'
>>> print(s)
First line.
Second line.

\n—换行符,意思是创建新的行。

在某些情况下,我们可能会把多行的内容包含在一个字符串中,Python提供了("""...""" )或者('''...''') 标识符。例如:

print("""\
Usage: thingy [OPTIONS]
     -h                        
     -H hostname               
""")

#输出结果
Usage: thingy [OPTIONS]
     -h                        
     -H hostname 

两个字符串通过+可以连接在一起,也可以使用*表示重复,例如:

>>> 'su' + 2 * 'c' + 'e' + 2 *'s'
'success'

在Python中,字符串能够被索引,索引值从0开始。例如:

>>> word = 'Hello'
>>> word[0]  #第0个字符
'H'
>>> word[3]  #第3个字符
'l'

在索引值是负数的时候则是反向索引,例如:

>>> word = 'Hello'
>>> word[-1]  # 最后一个字符
'o'
>>> word[-2]  #倒数第二个字符
'l'
>>> word[-5]
'H'

Python还提供了使用:来进行范围取值。例如:

>>> word = 'Hello'
>>> word[0:2]  
'He'
>>> word[2:4]  #倒数第二个字符
'll'
>>> word[:2]
'He'
>>> word[2:]
'llo'

通过使用len(),可以得到字符串的长度。例如:

>>> word = 'Hello World'
>>> len(word)
11

总结

以上就是python的一些基本知识,为了方便记忆,下表是本节所涉及到的标识符。

标识符 解释
+ 加或字符串连接符
-
*
/ 除,结果是浮点型
// 除,结果是整型
% 取模
** 幂运算
= 赋值运算符
\ 转义符
\n 换行符
上一篇下一篇

猜你喜欢

热点阅读