当前位置: 移动技术网 > IT编程>脚本编程>Python > 04_Python的数据类型1数值和字符串_Python编程之路

04_Python的数据类型1数值和字符串_Python编程之路

2018年04月02日  | 移动技术网IT编程  | 我要评论

综漫校园,fdsf,光纤激光打标机

上一节我们通过一个helloworld程序学习python的一些简单操作,还有输入与输出

这节我们来讲Python的数据类型与变量的操作

 

Python的交互器

在讲这个之前,我要先讲一下python的交互器,之后讲解代码(除了做简单项目)都在交互器上进行,这样可能比较直接一些,有利于刚接触python的人理解代码

python在命令行自带一个交互器,我们可以直接通过输入python进入python的交互器

但是他的功能并不是很齐全,比如代码着色,和变量的提示,以及操作shell命令的功能都没有

所以我在这推荐一款更强大的Python“交互器Shell”,IPython

IPython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。

例如可以直接在ipython中直接使用Linux命令,如 ls  命令查看文件夹下的文件

安装ipython只需要执行以下命令即可

pip install ipython

 使用ipython只需要输入ipython即可

 

Python中操作数字

在交互器中,Python语言可以和自然语言一样处理数学的计算,例如

In [1]: 4+4
Out[1]: 8

In [2]: 100 - 6*3
Out[2]: 82

In [3]: (100 - 5*6) / 10
Out[3]: 7.0

In [4]: 10 / 3
Out[4]: 3.3333333333333335

  注意在Python中进行除法时只返回浮点数,也就是带小数点的数

整型 int

像4, 45, 255, 2455这些都是整型数字

浮点数 float

像5.0,3.1415,5.733都是浮点数

前面讲了进行除法时使用" / "只会返回一个浮点数

如果你想返回一个整数,那么你就可以使用" // "操作符

In [5]: 20 / 3
Out[5]: 6.666666666666667

In [6]: 20 // 3
Out[6]: 6

 取余操作符" % "

例如

In [8]: 30 % 4    #30取4的余数
Out[8]: 2

In [9]: 4 * 7 + 2
Out[9]: 30

  

次方操作符 " ** "

例如

In [10]: 4 ** 2    #4的二次方
Out[10]: 16

In [11]: 2 * 4    #2的四次方
Out[11]: 8

  

注意:进行负数的次方运算时最好把负数加上括号

In [27]: -2**4
Out[27]: -16

In [28]: (-2)**4
Out[28]: 16

  

赋值符号 " = "

把一个数值赋给一个变量

例如

In [14]: height = 12.5    #长

In [15]: width = 5    #宽

In [16]: area = height * width  #面积

In [17]: print(area)
62.5

  

需要注意的是一个变量必须要在使用时对其赋初值定义


混合数据类型的计算

在进行混合类型的计算时,Python的解释器总是会在整数与浮点数的计算中返回一份浮点数

In [19]: 7 * 8 - 2.00
Out[19]: 54.0

  

操作浮点数的精度 "round"

round()方法需要传入两个参数,第一个是要操作的数字,第二个是浮点数的精度

例如

In [25]: PAI = 3.1415926535 

In [26]: round(PAI, 2)
Out[26]: 3.14

  

Python中操作字符串(string)

在Python中,字符串是最常用的数据类型,当然数值也不例外,

申明一个字符串可以用 '  ' 和 ''  ''

在输出单引号和双引号时我们可以使用转义符号"  \  "

例如

In [29]: 'hello world'
Out[29]: 'hello world'

In [30]: "hello world"
Out[30]: 'hello world'

In [31]: " PHP是世界上\"最好\"的语言 "
Out[31]: ' PHP是世界上"最好"的语言 '

  

在这里我们稍微扩展以下,常见的转义字符

转义字符描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

注意:python的print()方法是默认换行输出的,只有使用输出方法时,\n才会生效,例如

In [4]: talk = "你好\nPython"

In [5]: talk
Out[5]: '你好\nPython'

In [6]: print(talk)
你好
Python

  

当然如果你不这么麻烦,想直接输入一段话,不考虑转义,这是你就可以使用原始字符串,把要输出的字符串加上引号,然后在前面加上 r 即可

例如

输出一段路径时

In [7]: print("D:\notepad++\bin")
D:
otepad+in

In [8]: print(r"D:\notepad++\bin")
D:\notepad++\bin

  

当然除了上面的方法,还有一个就是用python的格式化输出

格式化输出 '''   ....   '''

如果想要格式化输出一行或多行文本时,就可以用 三引号 来输出

例如输出一个人的基本信息

In [9]: info = ''' name: %s   age: %d   '''%("susmote",18)

In [10]: print(info)
 name: susmote   age: 18 

  

多行输出时

In [12]: print('''\
    ...: name : %s
    ...: age  : %d
    ...: '''%("susmote",18) )
name : susmote
age  : 18

  

字符串的连接输出

python作为一门弱类型语言,你可以花式操作字符串

例如要重复输出一段字符串时,其他语言只能通过循环去完成,而python除了循环,你还可以对他进行数学操作,例如

In [15]: 'h' + 'e' + 2*'l' + 'o'
Out[15]: 'hello'

  

当然你也可以不用加号

In [19]: 'h' 'e' +2*'l'+ 'o'
Out[19]: 'hello'

  

注意,不能把一个变量跟字符串直接相连(不加“ + ”号)

 

字符串索引切片

字符串,通俗来讲也就用字符连接成的串,那么我们怎么能够获取其中包含的字符呢,这时我们就要用到索引(index)了,只需要在字符串后面加'' [ index ] '',index代表你要获取的字符顺序

注意索引都是从0开始的,这个目前市场上主流语言都适用

例如

In [30]: name = "susmote"

In [31]: name[0]
Out[31]: 's'

In [33]: name[1]
Out[33]: 'u'

  

除了用正序索引,我们也可以使用倒序索引,用" - "开始

In [34]: name[-1]  相当于name[6]
Out[34]: 'e'

In [35]: name[-2]  相当于name[5]
Out[35]: 't'

  

字符串的切片

用上面的方法我们每次最多也只能获取一个字符,但是如果我们想获取多个字符该怎么办呢,这时就要用到切片了

切片操作,只需要在字符串后加   [ index1 : index2 ],注意两个index之间用" : "(分号)隔开,index1代表开始的字符,index2代表结束的字符

注意切片是 包头不包尾的

例如以下例子

In [43]: name = 'susmote'

In [44]: name[0:1]
Out[44]: 's'

In [45]: name[0:2]
Out[45]: 'su'

In [46]: name[0:6]
Out[46]: 'susmot'

In [47]: name[0:7]
Out[47]: 'susmote'

  

也可以不加索引(开始的索引和结束的索引),默认index1(开始字符的索引)是0,index2(结束字符的索引)是最后的字符索引加1

例如

In [49]: name[:]
Out[49]: 'susmote'

In [50]: name[0:]
Out[50]: 'susmote'

In [51]: name[:7]
Out[51]: 'susmote'

  

切片也可以用" - "  倒序索引

但是切片是按照正序来操作的,所以针对复杂的切片还是要仔细分析索引

In [72]: name[-1:]
Out[72]: 'e'

In [73]: name[:-1]
Out[73]: 'susmot'

In [74]: name[-7:-1]
Out[74]: 'susmot'

  

索引的结构如下

+---+---+---+---+---+---+---+
| s | u | s | m | o | t | e |
+---+---+---+---+---+---+---+
 0   1  2  3  4   5   6    
 -6   -5 -4  -3  -2  -1

  

如果开始字符的索引超出了字符的长度,那么什么都不会输出

如果结束字符的索引超出了字符的长度,那么只会输出开始的字符到整个字符串的最后一个字符索引

In [75]: name[40:]
Out[75]: ''

In [76]: name[3:40]
Out[76]: 'mote'

  

注意字符串类型是不可以被改变的,你不能对索引对象和切片对象进行赋值

获取字符串的长度

获取的字符串的长度我们可以通过 len() 方法来获得

In [79]: well = "susmote very smart"

In [80]: len(well)
Out[80]: 18

  

数值和字符串简单的我们就讲到这里,下一节在介绍python其他的数据类型

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网