Python的数据类型1数值和字符串
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数值和字符串的更多相关文章
- 04_Python的数据类型1数值和字符串_Python编程之路
上一节我们通过一个helloworld程序学习python的一些简单操作,还有输入与输出 这节我们来讲Python的数据类型与变量的操作 Python的交互器 在讲这个之前,我要先讲一下python的 ...
- 【python基础语法】数据类型:数值、字符串 (第2天课堂笔记)
""" 数据类型: 一.数值类型:整数 浮点数 布尔值 二.序列类型:字符串.列表 元祖 三.散列类型:字典 集合 可变数据类型: 列表 字典 集合,可以改动内存地址数据 ...
- Python基础数据类型(数字、字符串、布尔、列表、元组、字典、集合等)
数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定 ...
- 5、python基本数据类型之数值类型
前言:python的基本数据类型可以分为三类:数值类型.序列类型.散列类型,本文主要介绍数值类型. 一.数值类型 数值类型有四种: 1)整数(int):整数 2)浮点数(float):小数 3)布尔值 ...
- python学习之基础入门,安装,字符串,数据转换,三元运算符
python基础 我们要开始学习新的编程语言了,加油~~ python是“世界上最好的语言”,学习它当然是认为它是最好的所以我们才学(人生苦短我学python),python运用于不同的领域,采集分析 ...
- 2018-7-30 python基本数据类型
python基本数据类型 int 整数 str 字符串. 一般不存放大量的数据 bool 布尔值. 用来判断. True, False list 列表.用来存放大量数 ...
- 『无为则无心』Python基础 — 8、Python中的数据类型(数值、布尔、字符串)
目录 1.数据类型介绍 2.数值型(Number) 3.布尔型(bool) 4.None(空值) 5.常量 6.字符串(String) 1.数据类型介绍 (1)什么是数据类型 在生活中,我们日常使用的 ...
- Python之旅Day1 数据类型初识(数字|字符串|列表|数据运算) 编码 表达式(if...else|for|while)
初识PYTHON Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum(吉多·范罗苏姆)于 ...
- Python基本数据类型之字符串、数字、布尔
一.数据类型种类 Python中基本数据类型主要有以下几类: Number(数字) String(字符串) Bool (布尔) List(列表) Tuple(元组) Sets(集合) Diction ...
随机推荐
- 在win和android上同时进行OpenCV程序设计
基于qt进行Android图像处理项目设计的时候,初期可以首先在windows上进行调试,等到比较成熟后将代码转换到adnroid上. 这里仅以widget为例,如果使用qtquick是一样的.具体以 ...
- 20145336张子扬《网络对抗》MSF基础应用
20145336张子扬 <网络对抗>MSF基础应用 实验一:主动攻击,利用ms08_067漏洞进行攻击 首先使用use exploit/windows/smb/ ms08_067 _net ...
- Python3基础 time 索引值访问元组中的年月日时分秒
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 【附1】hystrix详述(1)
一.hystrix的作用 控制被依赖服务的延时和失败 防止在复杂系统中的级联失败 可以进行快速失败(不需要等待)和快速恢复(当依赖服务失效后又恢复正常,其对应的线程池会被清理干净,即剩下的都是未使用的 ...
- IntelliJ IDEA 设置代码提示或自动补全的快捷键(Alt+/)
点击 文件菜单(File) –> 点击 设置(Settings… Ctrl+Alt+S), –> 打开设置对话框.在左侧的导航框中点击 KeyMap. 接着在右边的树型框中选择 Main ...
- LLDP协议、STP协议 笔记
参考: 数据链路层学习之LLDP 生成树协议 LLDP协议.STP协议 笔记 LLDP 提出背景: 随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加 ...
- 【Coursera】Technology :Fifth Week(2)
The Ethernet Story Bob Metcalfe Bob 参与了 Xerox 研究项目,着手解决建造一个处处连接个人计算机的架构.当时,他们刚刚完成了 Internet 的开端 -具有 ...
- UVa 1152 和为0的4个值(二分查找)
https://vjudge.net/problem/UVA-1152 题意:给定4个n元素集合A,B,C,D,要求分别从中选取一个元素a,b,c,d,使得a+b+c+d=0.问有多少种取法. 思路: ...
- 【BZOJ】[HNOI2015]菜肴制作
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4010 要是考场上想不出,但是还是有一个分治的做法的嘛 做法就是反向连边,然后再反向输出字典 ...
- Windows上玩转TensorFlow(一)
Windows上TensorFlow的安装和环境搭建: 1.安装Python 3.5.2 2.通过Pip3安装TensorFlow CPU版 https://www.tensorflow.org/in ...