简述python的几种简单的数据类型及使用方式

  引入内存空间得概念,开辟一个数字类型占32位(32位机器),一个字符占8位bit。

  当图中每个bytes都是char类型得时候,那么从内存取出来就是转换成字符(按编码表转换)。

字符串

字符串是不可变数据类型,拥有多种内置方法可以操作。

创建字符串就是给变量分配一个字符串的值即可。通常用引号创建字符串。

tell = 'my name is Jeff'
tell1 = "my name is Jeff"
tell2 = '''my name is Jeff,
I'm oldboy .'''

字符串切片

tell = 'my name is Jeff'
print(tell[0])
print(tell[:7])
print(tell[:7]+'\tfrank')
运行结果
m
my name
my name frank

使用split方法

tell = "my name is jeff "
print(tell.split('a'))
运行结果
['my n', 'me is jeff ']

字符串格式化输出

print('my name is %s'%('jeff'))
运行结果
my name is jeff
print('my name is {name}'.format(name='jeff'))
运行结果
my name is jeff

字符串的内置方法

1.capitalize(整个字符串首字母大写,其他全部改为小写)

2.upper(整个字符串全部大写)lower(全部小写)

3.center(指定宽度和填充字符)

tell = "my name Is jeff "
print(tell.center(50,'*'))
运行结果
*****************my name Is jeff *****************

4.count(区间内某个字符的个数)

tell = "my name Is jeff "
print(tell.count('m',0,5))
运行结果
1

5.encode(编码方式)

6.endswith(以某字符,字符串结尾)

tell = "my name Is jeff"
print(tell.endswith("ff"))
运行结果
Ture

7.expandtabs(选择制表符的宽度)

8.find(索引字符的位置,没有返回值为-1)index(同find,但是他查不到会报错)rfind(从右向左查同find)rindex(从右向左返回索引值同index)

9.format(格式化输出)format_map(格式化输出,以字典形式存储kv数据)

people={
'name':['Frank','Caroline','jeff'],
'age':['',''],
}
print("My name is {name[2]},i am {age[0]} years old !".format_map(people))
运行结果
My name is jeff,i am 23 years old !

10.isalnum(是否是数字与字母的组合)isalpha(是否是字母组合)isdecimal(是否是十进制正整数)isdigit(是否是真整数)isdentifier(是否是python中的标识符)islower(判断字符串字母是不是都是小写)isnumeric(是不是数字,无论中文还是其他只要是数字就能判断)isprintable(是否可打印)isspace(是否都是空格,tab/r等)istitle(是否所有字符首字母大写)返回值都是bool值

11.join(以指定字符连接生成新的字符串)

tell = "my name Is jeff"
print('='.join(tell))
运行结果
m=y= =n=a=m=e= =I=s= =j=e=f=f

12.ljust与rjust指定字符宽度填充,与center类似

tell = "my name Is jeff"
print(tell.ljust(20,'='))
print(tell.rjust(20,'='))
运行结果
my name Is jeff=====
=====my name Is jeff

13.lstrip,rstrip,strip去前后空白\r\n等

14.maketrans,translate

intab = "abcde"
outtab = ""
tell = "my name Is jeff"
trantab = tell .maketrans(intab, outtab)
print (tell.translate(trantab))
运行结果
my n1m5 Is j5ff

15.partition(指定分隔字符,返回一个元组里)rpartition(从右向左分割,只分割一次,若没有指定字符返回元祖前面加两个空字符串)split(指定字符分割,可指定分割次数分割后删除指定的字符默认空格分割)rsplit(同split只是从右向左)

16.replace(指定字符替换为新的字符,可指定个数)

17.splitlines(将字符串转换为列表)

18.startswith(是否是字符串或字符开头)

19.swapcase(大小写互换)

20.zfill(与center类似,显示在右边不足宽度补零)

整型与长整型

整型是不包含小数部分的数值,格式是“int”。长整型(无穷精度)与整型(32位)类似只是数字比较大,格式是“type”。且长整型只存在于python2中,32位机器上取值范围是-2**31~2**31-1,在64位机器上取值为-2**63~2**63-1。在python3中没有整型与长整型的区分,只有整型。

  

浮点型

我们可以简单的把浮点型看做是小数。格式类型是“float”。浮点型除了作为小数输出还常用于科学计数法中。

a=1.23e10
b=1.23E10
print(a)
print(b)
print(type(a))
print(type(b))
输出结果
12300000000.0
12300000000.0
<class 'float'>
<class 'float'>

bool型

bool类型的返回值只有两种:True和False。

逻辑运算:

1.与运算:and(两个都为True,结果才为True)

2.或:or(只要一个为True,则为True)

3.非:not(把True变为False,把False变为True)

短路运算:

布尔类型还可以与其他数据类型进行逻辑运算,python中0、空字符串、None、空列表、空字典等为False,其他数值和非空字符串为True。

1.在计算a and b时,如果a是True,则计算结果取决于b,则返回b;如果a是False,则直接返回a。

2.在计算a or b时,如果a是True,则直接返回a;否则返回b。

bool类型还可以当做整型的0和1使用。

print(True+13)    #True为1
print(False+13) #False为0
输出结果
14
13

列表

列表是由一系列按特定顺序排列的元素组成。在python中,用方括号表示列表,并用逗号来分割其中的元素,格式类型为“list”。

列表的内置方法有:

1.append(在列表的最后添加某个元素)insert(也是添加元素,但是可以通国索引指定插入具体位置)

2.count(某个元素的个数)

3.clear(清空列表)

4.copy(复制列表)

name = ['jeff','Frank',1,{'xixi':'sabi'},[3,4]]
name_cp = name.copy()
print(name_cp)
name[0]='Tom'
name[2]= 7
print(name)
print(name_cp)
运行结果
['jeff', 'Frank', 1, {'xixi': 'sabi'}, [3, 4]]
['Tom', 'Frank', 7, {'xixi': 'sabi'}, [3, 4]]
['jeff', 'Frank', 1, {'xixi': 'sabi'}, [3, 4]]

注:改变列表name中的元素name.copy中的值也随着变化。但是改变列表name中的列表值,name.copy的列表值是不会变得。由于列表中的列表开辟的空间是不变的(列表本身是可变数据类型)name与name.copy指向的是同一个地址,里面存储的值会一起改变。

5.deepcopy与copy类似,但是无论copy原列表如何变化,deepcopy的列表都会与列表一起变化,即两者指向统一的数据空间。

6.extend(函数用于在列表末尾一次性追加另一个序列中的多个值,用新列表扩展原来的列表。)

name = ['Saber','Frank']
nameto = ['Mei','Jack']
name.extend(nameto)
print(name)
运行结果
['Saber', 'Frank', 'Mei', 'Jack']

7.index(查找相应元素的索引值,可指定索引范围并且查不到也不会报错)

8.pop(弹出元素,不指定默认弹出最后一个值,索引失败会报错,弹出的值可以存储到其他列表或变量里。)remove(也是移除,可指定移除的具体元素)del(无敌的移除手段)

9.reverse(将列表中元素反转过来)

10.sort(将列表排序,永久修改可通过reverse=True传递倒着排序)sorted(与sort类似但是不改变原列表的元素)

11.len(查看列表的长度)

元组

与列表很相似,只是不可以进行修改。若是要改变元组中的值只能够改掉整个元组咯。

集合

集合是无需元素组成,打印时顺序也是无序的,但是集合中没有重复的元素,所以我们常使用集合去重。

我们有两个集合a与b:

a与b的交集为a.intersection(b)或者a & b。

a与b的差集为a.difference(b)或者a-b。

a与b的并集为a.union(b)或者a|b。

反向差集与对称差集(并集减去交集)为a.symmetric_difference(b)或者a^b。

合并为a.update(b),a.difference_update(b)求差集并赋值给a集合

删除元素可用discard(元素)或者remove(元素),pop()是随机删除一个元素。

注:set是可变数据类型,但是set里面的元素一定是不可变数据类型。

字典

在python里面,字典就是一系列的键-值对,每个键都与一个值是对应的,键可以是数字、字符串、列表和字典。任何python对象都可用作字典的值。

字典中常用的内置方法有:

keys(取出字典中的key)

values(取出字典中的value)

clear(清空所有键值对)

copy(与列表一致)

fromkeys(创建新的列表所有的值都是同一个value)

key = (1,2,3,4,5)
value = ('a','b','c','d','e')
print(dict.fromkeys(key,value))
运行结果
{1: ('a', 'b', 'c', 'd', 'e'), 2: ('a', 'b', 'c', 'd', 'e'), 3: ('a', 'b', 'c', 'd', 'e'), 4: ('a', 'b', 'c', 'd', 'e'), 5: ('a', 'b', 'c', 'd', 'e')}
a = {"k1":123, "k2":456, "k3":789}
b = a.fromkeys(["k1", "k2", "k3"], "")
print(b)
#输出 {'k2': '876', 'k3': '876', 'k1': '876'}

  get(查找的一种方式,找不到对象返回None)

item(返回键值对)

pop(指定key,弹出此键值对)

popitem(弹出最后一个键值对返回到元组中,没有会报错)

update(将新的字典添加到原来的字典,若原来的字典包含了这个键则覆盖原来的值)

setdefault(k,v)如果键在字典中,则返回这个键的值,如果不在字典中,则向字典中插入这个键,并返回value,默认value位None。

bytes

所有的字符存到存储单元里都是bytes类型。

这里简述了集中python中常用数据类型以及内置的一些使用方法,方便以后对python的学习在此总结一下。

python的数据类型及操作的更多相关文章

  1. Python常见数据类型及操作

    基础数据类型 什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但计算机并不能,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’ ...

  2. 7.Python初窥门径(数据类型补充,操作及注意事项)

    python(数据类型补充,转换及注意事项) 数据类型补充 str str.capitalize() 首字母大写 str.title() 每个单词首字母大写 str.count() 统计元素在str中 ...

  3. python基本数据类型之操作

    python注释 当行注视:# 被注释内容多行注释:""" 被注释内容 """ 字符串操作 # 代表单行注释                ...

  4. Python 1 数据类型的操作

    一.数字(Number) 1.数学函数: 函数 返回值 ( 描述 ) abs(x) 返回数字的绝对值,如abs(-10) 返回 10 ceil(x) 返回数字的上入整数,如math.ceil(4.1) ...

  5. python基本数据类型2——操作

    字符串 name = "alex" # 移除两边的空格 print(name.strip()) #strip不修改值 # 是否以"al"开头 print(nam ...

  6. python基本数据类型的操作

    1 列表和元组 1.列表基本操作 1. 列表赋值 a = [1,2,3,4,5,6,7,8] a[0] = 100 #the result : [100, 2, 3, 4, 5, 6, 7, 8] 2 ...

  7. python基本数据类型与操作

    一.变量 1.变量的三要素:变量名.变量值.变量数据类型 2.定义变量格式:变量名称 = 变量值 3.输出变量:print(变量名) """ 变量 "" ...

  8. 第二章:Python基础の快速认识基本数据类型和操作实战

    本课主题 字符串和操作实战 二进制操作实战 List 列表和操作实战 Tuple 元組和操作实战 Dict 字典和操作实战 作業需求 引言 这遍文章简单介绍了 Python 字符串和集合的方法和应用, ...

  9. python学习笔记:文件操作和集合(转)

    转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...

随机推荐

  1. Python中的模块介绍和使用

    在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一 ...

  2. 50几个photoshop快捷键

    一.常用的热键组合 1.图层混合模式快捷键:正常(Shift + Option + N),正片叠底(Shift + Option + M),滤色(Shift + Option + S),叠加(Shif ...

  3. 主题模型(概率潜语义分析PLSA、隐含狄利克雷分布LDA)

    一.pLSA模型 1.朴素贝叶斯的分析 (1)可以胜任许多文本分类问题.(2)无法解决语料中一词多义和多词一义的问题--它更像是词法分析,而非语义分析.(3)如果使用词向量作为文档的特征,一词多义和多 ...

  4. BOM(2)

    Window 子对象 (1)Location 对象 Location 对象包含有关当前 URL(统一资源定位符) 的信息.(Uniform Resource Location) Location 对象 ...

  5. eclipse 好用的插件总结

    改变eclipse的背景色,各种关键词颜色的插件. color theme. 在mac下最好是通过手动复制粘贴jar文件到, eclipse的plugins下面. 通过Install new soft ...

  6. Oracle数据库和客户端字符集

    1.查看数据库字符集信息 SQL> select * from nls_database_parameters;其中,NLS_CHARACTERSET是当前数据库的字符集. 2.客户端字符集 客 ...

  7. eclipse下启动tomcat项目,访问tomcat默认端口显示404错误

    解决:打开eclipse的server视图,双击你配置的那个tomcat,打开编辑窗口,查看server locations,看看是否选择了第一个选项(默认是第一个选项),即use workspace ...

  8. 行内元素和块级元素的具体区别是什么?行内元素的padding和margin可设置吗?

    块级元素(block)特性: 总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示; 宽度(width).高度(height).内边距(padding)和外边距(margin)都可控制; ...

  9. HTML5 中的拖放

    今天,给大家整理一个html5 拖放. 首先,我们先了解一下什么是拖放? 拖放(Drag 和 drop)是 HTML5 标准的组成部分. 拖放是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HT ...

  10. ISO文件:AMD64和i386的区别

     下载kali系统时,出现两个选项:ADM64和i386,那么这两者的区别是什么?  i386=Intel 80386.其实i386通常被用来作为对Intel(英特尔)32位微处理器的统称. AMD6 ...