一、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)
123
>>> int(string)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base >>> int(3.56)
3

bin(i)

将i转换为二进制

例:

>>> bin(10)
'0b1010'

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)
10
>>> int('0o12',8)
10
>>> int('0x14',16)
20

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 基础【第十篇】内置类型的更多相关文章

  1. python基础(一)内置类型及方法

    python 内置类型主要包含7大类: 数字 序列 映射 文件 类 实例 异常 其中,最常用数据类型为序列 序列 python中包含7种内建序列 列表(list):由方括号构成,用逗号分隔项目: [a ...

  2. python基础-第十篇-10.1HTML基础

    htyper text markup language 即超文本标记语言 超文本:就是指页面内可以包含图片.链接,甚至音乐,程序等非文字元素 标记语言:标记(标签)构成的语言 网页==HTML文档,由 ...

  3. python基础-第十篇-10.2CSS基础

    CSS是Cascading Style Sheet的简称,中文为层叠样式表 属性和属性值用冒号隔开,以分号结尾 引入方式 行内式--在标签的style属性中设定CSS样式 <body> & ...

  4. 二十六. Python基础(26)--类的内置特殊属性和方法

    二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher: ...

  5. shell基础二十篇 一些笔记

    shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...

  6. Python 学习 第十篇 CMDB用户权限管理

    Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...

  7. python基础-第六篇-6.2模块

    python之强大,就是因为它其提供的模块全面,模块的知识点不仅多,而且零散---一个字!错综复杂 没办法,二八原则抓重点咯!只要抓住那些以后常用开发的方法就可以了,哪些是常用的?往下看--找答案~ ...

  8. Python基础【第一篇】

     一.Python简介 Python的创始人(Guido von Rossum 荷兰人),Guido希望有一种语言既能像C一样方便地调用操作系统的功能接口,也能像shell脚本一样,轻松地实现编程,A ...

  9. python基础12_匿名_内置函数

    一个二分查找的示例: # 二分查找 示例 data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35, 36, ...

  10. Python 基础学习 总结篇

    Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...

随机推荐

  1. Python 连接mysql

    下面我们使用MySQLdb 实现连接mysql 数据库并进行操作. #!/usr/bin/env python # -*-coding:UTF-8-*- import MySQLdb def conn ...

  2. iOS程序性能优化

    iOS程序性能优化 一.初级 使用ARC进行内存管理 在iOS5发布的ARC,它解决了最常见的内存泄露问题.但是值得注意的是,ARC并不能避免所有的内存泄露.使用ARC之后,工程中可能还会有内存泄露, ...

  3. uva 11275 3D Triangles

    题意:三维空间中,给出两个三角形的左边,问是否相交. 面积法判断点在三角形内: #include<cstdio> #include<cmath> #include<cst ...

  4. XMPP的Stanzas

    客户端需要使用JID作为身份标石 : [user "@"]domain["/"resource]加域名可以区别重名的用户user,resource可以区分用户登 ...

  5. BNUOJ-26580 Software Bugs KMP匹配,维护

    题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26580 题意:给一个模式串,然后m个匹配串,要求删掉匹配串中的所有存在的模式串,使得余下的 ...

  6. iOS中几种定时器 - 控制了时间,就控制了一切

    在软件开发过程中,我们常常需要在某个时间后执行某个方法,或者是按照某个周期一直执行某个方法.在这个时候,我们就需要用到定时器. 然而,在iOS中有很多方法完成以上的任务,到底有多少种方法呢?经过查阅资 ...

  7. Hibernate映射文件简单配置

    <?xml version="1.0" ?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibe ...

  8. SQLite使用教程8 Insert 语句

    http://www.runoob.com/sqlite/sqlite-insert.html SQLite Insert 语句 SQLite 的 INSERT INTO 语句用于向数据库的某个表中添 ...

  9. 使用 Spring 3 MVC HttpMessageConverter 功能构建 RESTful web 服务

    原文地址:http://www.ibm.com/developerworks/cn/web/wa-restful/ 简介: Spring,构建 Java™ 平台和 Enterprise Edition ...

  10. cocos2d-x3.1.1 step by step 学习笔记1----- 软件的安装与HelloWord

    1:软件安装 系统:WIn7 软件:VS2012.cocosd-x3.1.1.python2.6.7.doxygen <1>首先安装VS2012,安装也是傻瓜式安装, <2>然 ...