Python的交互器

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

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

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

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

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

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

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

1
pip install ipython

 使用ipython只需要输入ipython即可

Python中操作数字

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

1
2
3
4
5
6
7
8
9
10
11
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都是浮点数

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

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

1
2
3
4
5
In [5]: 20 / 3
Out[5]: 6.666666666666667
 
In [6]: 20 // 3
Out[6]: 6

取余操作符" % "

例如

1
2
3
4
5
In [8]: 30 % 4    #30取4的余数
Out[8]: 2
 
In [9]: 4 * 7 + 2
Out[9]: 30

  

次方操作符 " ** "

例如

1
2
3
4
5
In [10]: 4 ** 2    #4的二次方
Out[10]: 16
 
In [11]: 2 * 4    #2的四次方
Out[11]: 8

  

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

1
2
3
4
5
In [27]: -2**4
Out[27]: -16
 
In [28]: (-2)**4
Out[28]: 16

  

赋值符号 " = "

把一个数值赋给一个变量

例如

1
2
3
4
5
6
7
8
In [14]: height = 12.5    #长
 
In [15]: width = 5    #宽
 
In [16]: area = height * width  #面积
 
In [17]: print(area)
62.5

  

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


混合数据类型的计算

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

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

  

操作浮点数的精度 "round"

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

例如

1
2
3
4
In [25]: PAI = 3.1415926535
 
In [26]: round(PAI, 2)
Out[26]: 3.14

  

Python中操作字符串(string)

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

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

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

例如

1
2
3
4
5
6
7
8
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才会生效,例如

1
2
3
4
5
6
7
8
In [4]: talk = "你好\nPython"
 
In [5]: talk
Out[5]: '你好\nPython'
 
In [6]: print(talk)
你好
Python

  

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

例如

输出一段路径时

1
2
3
4
5
6
In [7]: print("D:\notepad++\bin")
D:
otepad+in
 
In [8]: print(r"D:\notepad++\bin")
D:\notepad++\bin

  

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

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

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

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

1
2
3
4
In [9]: info = ''' name: %s   age: %d   '''%("susmote",18)
 
In [10]: print(info)
 name: susmote   age: 18

  

多行输出时

1
2
3
4
5
6
In [12]: print('''\
    ...: name : %s
    ...: age  : %d
    ...: '''%("susmote",18) )
name : susmote
age  : 18

  

字符串的连接输出

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

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

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

  

当然你也可以不用加号

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

  

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

字符串索引切片

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

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

例如

1
2
3
4
5
6
7
In [30]: name = "susmote"
 
In [31]: name[0]
Out[31]: 's'
 
In [33]: name[1]
Out[33]: 'u'

  

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

1
2
3
4
5
In [34]: name[-1]  相当于name[6]
Out[34]: 'e'
 
In [35]: name[-2]  相当于name[5]
Out[35]: 't'

  

字符串的切片

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

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

注意切片是 包头不包尾的

例如以下例子

1
2
3
4
5
6
7
8
9
10
11
12
13
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

例如

1
2
3
4
5
6
7
8
In [49]: name[:]
Out[49]: 'susmote'
 
In [50]: name[0:]
Out[50]: 'susmote'
 
In [51]: name[:7]
Out[51]: 'susmote'

  

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

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

1
2
3
4
5
6
7
8
In [72]: name[-1:]
Out[72]: 'e'
 
In [73]: name[:-1]
Out[73]: 'susmot'
 
In [74]: name[-7:-1]
Out[74]: 'susmot'

  

索引的结构如下

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

  

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

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

1
2
3
4
5
In [75]: name[40:]
Out[75]: ''
 
In [76]: name[3:40]
Out[76]: 'mote'

  

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

获取字符串的长度

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

1
2
3
4
In [79]: well = "susmote very smart"
 
In [80]: len(well)
Out[80]: 18

  

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

Python的数据类型1数值和字符串的更多相关文章

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

    上一节我们通过一个helloworld程序学习python的一些简单操作,还有输入与输出 这节我们来讲Python的数据类型与变量的操作 Python的交互器 在讲这个之前,我要先讲一下python的 ...

  2. 【python基础语法】数据类型:数值、字符串 (第2天课堂笔记)

    """ 数据类型: 一.数值类型:整数 浮点数 布尔值 二.序列类型:字符串.列表 元祖 三.散列类型:字典 集合 可变数据类型: 列表 字典 集合,可以改动内存地址数据 ...

  3. Python基础数据类型(数字、字符串、布尔、列表、元组、字典、集合等)

    数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定 ...

  4. 5、python基本数据类型之数值类型

    前言:python的基本数据类型可以分为三类:数值类型.序列类型.散列类型,本文主要介绍数值类型. 一.数值类型 数值类型有四种: 1)整数(int):整数 2)浮点数(float):小数 3)布尔值 ...

  5. python学习之基础入门,安装,字符串,数据转换,三元运算符

    python基础 我们要开始学习新的编程语言了,加油~~ python是“世界上最好的语言”,学习它当然是认为它是最好的所以我们才学(人生苦短我学python),python运用于不同的领域,采集分析 ...

  6. 2018-7-30 python基本数据类型

    python基本数据类型 int      整数 str      字符串. 一般不存放大量的数据 bool   布尔值. 用来判断. True, False list      列表.用来存放大量数 ...

  7. 『无为则无心』Python基础 — 8、Python中的数据类型(数值、布尔、字符串)

    目录 1.数据类型介绍 2.数值型(Number) 3.布尔型(bool) 4.None(空值) 5.常量 6.字符串(String) 1.数据类型介绍 (1)什么是数据类型 在生活中,我们日常使用的 ...

  8. Python之旅Day1 数据类型初识(数字|字符串|列表|数据运算) 编码 表达式(if...else|for|while)

    初识PYTHON Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum(吉多·范罗苏姆)于 ...

  9. Python基本数据类型之字符串、数字、布尔

     一.数据类型种类 Python中基本数据类型主要有以下几类: Number(数字) String(字符串) Bool (布尔) List(列表) Tuple(元组) Sets(集合) Diction ...

随机推荐

  1. 基于qml创建最简单的android机图像采集程序

    前提是在已经搭建为android编写程序的qt平台上面,我们只需要简单几部就可以搭建最简单的android机图像采集程序 1.生成新的ququick app 2.在配置中添加 multimedia,因 ...

  2. Duilib Edit编辑框禁止输入中文的方法

    转载:http://www.myexception.cn/vc-mfc/300749.html 编辑框是供用户输入的,但有时候我们要限制用户输入的内容,比如我们不让用户输入中文,只能输入字符和数字,因 ...

  3. my normal Header

    #ifndef INCLUDES_MY #define INCLUDES_MY //默认登录名密码 #define DEFAULT_USERNAME "admin" #define ...

  4. topcoder srm 620 div1

    problem1 link 分别计算可以得到(a,b)的有哪些二元组,以及可以得到(c,d)的有哪些二元组.然后在公共的二元组中找到和最大的即可. problem2 link 设最后的排序为$r=[2 ...

  5. ZooKeeper参数调优

    zookeeper的默认配置文件为zookeeper/conf/zoo_sample.cfg,需要将其修改为zoo.cfg.其中各配置项的含义,解释如下: 1.tickTime:Client-Serv ...

  6. Python 中的几种矩阵乘法 np.dot, np.multiply, *【转】

    本文转载自:https://blog.csdn.net/u012609509/article/details/70230204 Python中的几种矩阵乘法1. 同线性代数中矩阵乘法的定义: np.d ...

  7. linux下命令行工具gcp显示拷贝进度条

    1.环境: ubuntu16.04 Linux jello 4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_64 x ...

  8. 在linux桌面上显示图标

    把应用程序的图标添加到桌面上 左图显示了把应用程序的图标添加到桌面上的两种方法,哪种更好看? 想要把应用程序图标添加到桌面上,请先确保已设置了在桌面上显示图标,方法是: 1.安装gnome-tweak ...

  9. bootstrap3

    bs是基于html5和css3的, h5和css3是今后的趋势. html5只是说文档的 "标准"是h5, 但是文档的类型仍然是 html. 所以在写文档类型的时候, 就不能要那个 ...

  10. 【附2】hystrix详述(2)- 配置

    一.hystrix在生产中的建议 1.保持timeout的默认值(1000ms),除非需要修改(其实通常会修改) 2.保持threadpool的的线程数为10个,除非需要更多 3.依赖标准的报警和监控 ...