Python 基础【第十篇】内置类型
一、integral 类型
Python提供了两种integral类型,即int(整数)与bool(布尔值)。
1.1.整数
整数的相关运算符、函数、数据类型转换
1.1.1、整数的运算符 前面已经讲到了这里就不多复述了
1.1.2、int相关方法
|
pow(x,y) |
计算x的y次幂和x**y相同 |
例: >>> pow(2,3) 8 |
|
pow(x,y,z) |
x**y%z 的另一种写法 |
例: >>> pow(16,20,12) 4 |
|
abs(x) |
x 求的绝对值 |
例: >>> abs(-1) 1 |
|
divmod(x,y) |
以二元组的形式输出x除以y所得的商和余数 |
例: >>> divmod(12,5) (2, 2) |
|
round(x,n) |
返回浮点数x四舍五入后的整数,当指定n时返回小数点后n位 |
例: >>> round(1.3333) 1 >>> round(1.3333,2) 1.33 |
|
cmp(x,y) |
对比x,y 如果x > y 返回 1,如果x < y 返回 -1 如果 x =y 返回0 |
>>> cmp(12,11) 1 >>> cmp(12,13) -1 >>> cmp(12,12) 0 |
1.1.3、整数类型转换
|
int(i) |
将i转换为整数, 如果转换失败则返回ValueError 如果数据类型不知道转换到整数则返回异常 TypeError 如果i为小数则返回整数部分 |
例: >>> int(123) |
|
bin(i) |
将i转换为二进制 |
例: >>> bin(10) |
|
oct(i) |
将i转换为八进制 |
例: >>> oct(10) |
|
hex(i) |
将i转换为16进制 |
例: >>> hex(10) '0xa' |
|
int(‘s’,base) |
将s按照base基数值进行转换,base为2 - 36之间的整数 比如 base为2 那么就将2进制字符串转换为10进制 base为8那么就将8进制字符串转换为10进制 base为16那么就将16进制字符串转换为10进制 |
例: >>> int('0b1010',2)
|
1.1.4、整数逻辑操作符

1.2.布尔
布尔值包含True(真) 和 False(非真) 两种状态,在布尔表达式中 0 和 False 都表示 False 其他任意整数和True都表示True
在整数表达式中 False表示0 、True表示1
根据上述的描述有个很有意思的事情 布尔值和数字能够做运算
例如:
>>> False - 1 -1 >>> 1 + True 2
上面分别表示 “0 – 1” 和 “1 + 1”
二、浮点型
浮点型,即带有小数的数字
int转换成浮点:
float(number)
例:
>>> float(1) 1.0
精确小数点:
‘%0.2f’%numbe
上面的2为保留几位小数点f代表浮点数 上面表示将number小数点精确到2位
例:
>>> '%0.2f'%3.2312323 '3.23'
三、字符串
3.1.字符串分片与步距
一个字符串可以分割为n(大小由字符串长度而定)个片 可以用 “[]” 来提取分片,字符串的索引位置正序从0开始 倒序从-1开始 也就是第一位是[0] 最后一位是[-1] 相应的 第二位和倒数第二位分别为 [1] 和 [-2]
分片操作的语法格式:
s[start] //提起 ‘start’ 位置的元素
s[start:end] //提取 ‘start’ 和 ‘end’ 之间的元素
s[start:end:step] //提取 ‘start’ 和 ‘end’ 之间的元素 每隔 ‘step’ 打印一次
例如:
>>> 'string test'[3] 'i' >>> 'string test'[1:4] 'tri' >>> 'string test'[0:3:2] 'sr'
3.2.字符串追加连接
字符串追加连接符 “+”
例如:
>>> print ("this is string"+"string2")
this is stringstring2
3.3.字符串复制
字符串复制 s*n s为要复制的字符串 *为复制操作 n为复制次数
例如:
>>> s = 'string'*5 >>> print (s) stringstringstringstringstring
3.4.字符串转义
字符串转义符 “\” 反斜杠
例如:
//转义前
>>> print ("this is "string"")
File "<stdin>", line 1
print ("this is "string"")
^
SyntaxError: invalid syntax
//转义后
>>> print ("this is \"string\"")
this is "string"
3.5.字符串内置方法
|
内置方法 |
用法 |
举例 |
|
string.capitalize() |
字符串首字母大写 |
>>> string = 'hello' >>> string.capitalize() 'Hello' |
|
string.center(20,’-’) |
总长度为20个字符居中显示string两边填充- (如果不指定填充符则默认 填充空格) |
>>> string = 'hello' >>> string.center(20) ' hello ' >>> string.center(20,'-') '-------hello--------' |
|
string. ljust(30,’-‘) |
总长度为20个字符居中显示string两边填充- (如果不指定填充符则默认 填充空格) |
>>> string = 'hello word' >>> string.ljust(30,'-') 'hello word--------------------' |
|
string.count(s,start,end) |
统计s在string中从下标start开始的个数找到end位为止 (下标位可以自己指定 如不指定则默认从0开始 到最后一位结束) |
>>> string = 'welcome python gogogo'
>>> string.count('o')
5
>>> string.count('o',6)
4
>>> string.count('o',4,6)
1
|
|
string.endswith(‘s’) |
判断字符串是否以s结尾 如果是则返回True 否则返回False |
>>> string = 'hello word'
>>> string.endswith('h')
False
>>> string.endswith('d')
True
|
|
string.startswith('s') |
判断字符串是否以s开头如果是则返回True 否则返回False |
>>> string = 'hello word'
>>> string.startswith('hell')
True
>>> string.startswith('w')
False
|
|
string.expandtabs(tabsize) |
将table转换为空格 空格个数为tabsize,tabsize不指定默认8个空格 |
>>> string = 'hello word' >>> string.expandtabs() 'hello word' >>> string.expandtabs(1) 'hello word' >>> string.expandtabs(0) 'helloword' |
|
string.find(‘s’,start,end) |
查找字符串s的下标位存在返回下标 不存在返回-1 start、end 查找的开始位和结束位(不指定start默认起始0 不指定end则结束位为最后一位) (注:find只打印第一个匹配值的下标 如果不指定start则每次都是匹配第一个匹配的值) |
>>> string = 'let gogogo'
>>> string.find('g')
4
>>> string.find('g',7)
8
>>> string.find('g',5)
6
>>> string.find('g',7,9)
8
|
|
string.format() |
格式化字符串将值动态传入字符串 (注:下标是有序的必须根据下标位来对应相应的值 变量无序根据变量名匹配) |
format通过下标、变量两种方式传值 下标:
>>> string = 'My name is {0} , age {1}'
>>> string.format('Alan',25)
'My name is Alan , age 25'
变量:
>>> string = 'My name is {n} , age {a}'
>>> string.format(n='Alan',a=25)
'My name is Alan , age 25'
|
|
‘string’.join() |
使用string将join()内的字符串连接 |
>>> lists = ['','',''] >>> '-'.join(lists) '1-2-3' |
|
string.lower() |
字符串变小写 |
>>> string = 'Hello' >>> string.upper() 'HELLO' |
|
string.upper() |
字符串变大写 |
>>> string = 'Hello' >>> string.lower() 'hello' |
|
string.swapcase() |
大写变小写小写变大写 |
>>> string = 'Hello' >>> string.swapcase() 'hELLO' |
|
string.replace(string1,string2) |
字符串替换 将string1 替换为 string2 |
>>> string = 'Hello lisa'
>>> string.replace('lisa','Alan')
'Hello Alan'
|
|
string.split(’s’) |
字符串分割 s为分隔符 分割结果以列表形式返回 |
>>> string = 'hellowordpythongogogo'
>>> string.split('o')
['hell', 'w', 'rdpyth', 'ng', 'g', 'g', '']
|
|
string.index(’s’) |
返回s在string中的下标位 如果不存在则返回 -1 注:多个匹配字符串只返回第一个 |
>>> string = 'hello'
>>> string.index('e')
1
>>> string.index('l')
2
|
|
string.isalnum() |
判断string是否为字符串或者字母 是返回True 否返回 Flase |
>>> string = 'hello' >>> string.isalnum() True >>> string = '-' >>> string.isalnum() False |
3.6.字符集编码
解码编码:

如上图所示 UTF-8和GBK 不能直接转换 必须从一种编码格式(比如 UTF-8)解码为Unicode然后再从Unicode编码成另一种编码格式(比如 GBK)
编码和解码分别通过encode 和 decode 两种方法实现
|
编码: |
string.encode |
|
解码: |
string.decode |
string.decode(‘原编码’) 将原编码类型的字符串解码为unicode
>>> string = '无'
>>> string.decode('utf-8')
u'\u65e0'
(注:上面起始位的u为unicode编码的标示)
string.encode(‘要编码成的编码’)
>>> string = '无'
//先将utf-8的字符串解码 然后编码为gbk
>>> string.decode('utf-8').encode('gbk')
'\xce\xde'
Python 基础【第十篇】内置类型的更多相关文章
- python基础(一)内置类型及方法
python 内置类型主要包含7大类: 数字 序列 映射 文件 类 实例 异常 其中,最常用数据类型为序列 序列 python中包含7种内建序列 列表(list):由方括号构成,用逗号分隔项目: [a ...
- python基础-第十篇-10.1HTML基础
htyper text markup language 即超文本标记语言 超文本:就是指页面内可以包含图片.链接,甚至音乐,程序等非文字元素 标记语言:标记(标签)构成的语言 网页==HTML文档,由 ...
- python基础-第十篇-10.2CSS基础
CSS是Cascading Style Sheet的简称,中文为层叠样式表 属性和属性值用冒号隔开,以分号结尾 引入方式 行内式--在标签的style属性中设定CSS样式 <body> & ...
- 二十六. Python基础(26)--类的内置特殊属性和方法
二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher: ...
- shell基础二十篇 一些笔记
shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...
- Python 学习 第十篇 CMDB用户权限管理
Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...
- python基础-第六篇-6.2模块
python之强大,就是因为它其提供的模块全面,模块的知识点不仅多,而且零散---一个字!错综复杂 没办法,二八原则抓重点咯!只要抓住那些以后常用开发的方法就可以了,哪些是常用的?往下看--找答案~ ...
- Python基础【第一篇】
一.Python简介 Python的创始人(Guido von Rossum 荷兰人),Guido希望有一种语言既能像C一样方便地调用操作系统的功能接口,也能像shell脚本一样,轻松地实现编程,A ...
- python基础12_匿名_内置函数
一个二分查找的示例: # 二分查找 示例 data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35, 36, ...
- Python 基础学习 总结篇
Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...
随机推荐
- 移动端混合型App(hybrid app)自动化测试选型与实践
背景 公司产品的业务已经发展到了移动端,开发选型已经结束,决定使用phonegap做移动端的web应用开发平台.考虑到业务的复杂与多样,移动端的测试同样需要自动化.在网上看了很多,最终锁定了3个移动端 ...
- linux下Qt问题cannot find -lGL collect2: error: ld returned 1 exit status
fedora下解决 yum groupinstall "Development Tools" yum install mesa-libGL-devel ubuntu下解决 sudo ...
- Windows版词汇小助手V3.0发布了
欢迎使用词汇小助手 作者:IT小小龙 电子邮箱:long_python@126.com 个人博客:http://blog.sina.com.cn/buduanqs 一款跨平台词汇查询记忆学习软件. 已 ...
- Inf2Cat, signability test failed.
驱动开发真不是那么好玩的,折腾了几天,排除了几个错误,又有新的错误了. 错误 1 error -2: "Inf2Cat, signability test failed.&quo ...
- NOIP2010 机器翻译
1机器翻译 题目背景 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 题目描述 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换.对于每个英文单 ...
- ZOJ3469 Food Delivery 区间DP
题意:有一家快餐店送外卖,现在同时有n个家庭打进电话订购,送货员得以V-1的速度一家一家的运送,但是每一个家庭都有一个不开心的值,每分钟都会增加一倍,值达到一定程度,该家庭将不会再订购外卖了,现在为了 ...
- codeforce 604B More Cowbell
题意:n个球,分成k堆.问堆的最大值的最小. #include <bits/stdc++.h> typedef long long ll; using namespace std; int ...
- 【转载】socket的半包,粘包与分包的问题
http://zhaohuiopensource.iteye.com/blog/1541270 首先看两个概念: 短连接: 连接->传输数据->关闭连接 HTTP是无状态的,浏览器和 ...
- Java中的IP对象以及本地域名解析
本地域名解析操作步骤: 1.打开C:\WINDOWS\system32\drivers\etc目录 2.找到host文件,用记事本打开 3.添加“空间IP 域名” package WebProgra ...
- jquery完成带单选按钮的表格行高亮显示
jquery完成带单选按钮的表格行高亮显示 上篇博客写的是复选框的,这次写的是单选框的,有时查询的时候,只能选择一条记录,如果将选中的这条记录的行高亮显示,同时该行的单选按钮也被选中了,这样会提高用户 ...