python内置类型_Python内置对象类型

核心数字类型:

数字:int,long,float,complex,bool

字符:str,unicode

列表:list

字典:dict

元组:tuple

文件:file

其他类型:集合(set),frozenset,类型,None

其他文件类工具:pipes,fifos,sockets.

类型转换:

str(),repr()或format():将非字符型数据转换成字符;

int():转换为整数

float():转换为浮点数

list(x):可以把字符串x转换为列表,

tuple(x):将字符串x转换为元组;

set(x):将字符串转换为集合.

dict(d):创建字典,其d必须是[(key,value),(key,value)]的元组序列:

chr(x):将整数转为字符.

ord(x):将字符转换为整数值.

hex(x):将整数转换为16进制字符.

bin(x):将整数转换为2进制字符.

数字类型:

Python的数字字面量:布尔型,整数,浮点数,复数

True:1

False:0

序列类型:

字符类型:

字符串字面量:把文本放入单引号、双引号或三引号中:

如果要使用unicode编码,则在字符之前使用字符u进行表示,如u"xxx"

适用于所有序列的操作和方法:

s[i]:索引运算符

s[i:j]:为切片运算符,s[i:j:stride]为扩展切片运算符

min(s)和max(s)只适用于能够对元素排序的序列

sum(s)只适用于数字序列

all(s)检查s中的所有项是否为True

any(s)检查s中的任意项是否为False>>> str="9876544531"

>>> min(str)

‘1‘

>>> max(str)

‘9‘

用于字符串的操作:

Python2 提供两种字符串对象类型:

字节字符串:字节序列

unicode字符串:Unicode字符序列

Python可以使用32bit整数保存Unicode字符,但此为可选特性.>>> str2="hellow"

>>> str2.islower()

True

>>> str2.isupper()

False

>>> str2.upper()

‘HELLOW‘

capitalize 字符串的首字母大写s.capitalize()

s.index(sub[,start[,end]]) 找到指定字符串sub首次出现的位置,否则报错

s.join(t) 使用s作为分隔符连接序列t中的字符串

s.lower() 转换为小写形式

s.split([sep[,maxsplit]]) 使用sep作为分隔符对一个字符串进行划分。maxsplit是划分的最大次数

s.strip 删掉chrs开头和结尾的空白或字符

s.upper()将一个字符串转换为大写形式

replace(‘old‘,‘new‘) 将所有旧的字符串替换为新的字符串

str="hello world"

l2=list(str)

print l2

str3=‘‘.join(l2)#使用空白作为分隔符将list列表组合起来.

print str3str="hello world"

print str.replace(‘hello‘,‘HELLO‘)

split 以.为分隔符,对字符串进行操作.str="www.baidu.com"

print str.split(‘.‘)

[‘www‘, ‘baidu‘, ‘com‘]

s.strip()用来删除s字符串左右两边的空白字符的.str="   hello    "

print str.strip()

hello

列表:

容器类型:

任意对象的有序集合,通过索引访问其中的元素,可变对象,

异构,任意嵌套

支持在原处修改:

修改指定的索引

del() 删除列表中的元素

append() 新增列表中的元素str=[‘1‘,‘a‘,‘b‘,‘7‘]

del(str[1:])

print str

结果:[1]

str=[‘1‘,‘a‘,‘b‘,‘7‘]

str.append("hello")

print str

结果:[‘1‘, ‘a‘, ‘b‘, ‘7‘, ‘hello‘]

count() 获取指定列表中元素出现的次数str=[‘1‘,‘a‘,‘b‘,‘7‘]

print str.count(‘a‘)

结果:1

extend() 列表扩充,将原先列表中的元素扩充进来.str=[‘1‘,‘a‘,‘b‘,‘7‘]

l1=[‘x‘,‘y‘,‘z‘]

str.extend(l1)

print str

结果:[‘1‘, ‘a‘, ‘b‘, ‘7‘, ‘x‘, ‘y‘, ‘z‘]

append() 新增列表元素元素str=[‘1‘,‘a‘,‘b‘,‘7‘]

l1=[‘x‘,‘y‘,‘z‘]

str.append(l1)

print str

结果:[‘1‘, ‘a‘, ‘b‘, ‘7‘, [‘x‘, ‘y‘, ‘z‘]]

打印列表中某元素索引的位置.>>> print str

[‘1‘, ‘a‘, ‘b‘, ‘7‘, ‘x‘, ‘y‘, ‘z‘]

>>> str.index(‘a‘)

1

s.insert 在索引的位置添加新的字符串.>>> str.insert(1,"ccc")

>>> print str

[‘1‘, ‘ccc‘, ‘a‘, ‘b‘, ‘7‘, ‘x‘, ‘y‘, ‘z‘]

s.pop弹出某个索引对应的元素,默认为弹出最后一个列表的元素.

弹出以后将返回这个元素.>>> print str

[‘1‘, ‘ccc‘, ‘a‘, ‘b‘, ‘7‘, ‘x‘, ‘y‘, ‘z‘]

>>> str.pop(2)

‘a‘

>>> str.pop()

‘z‘

s.remove()删除列表中指定元素的值>>> str.remove(‘y‘)

>>> print str

[‘1‘, ‘ccc‘, ‘b‘, ‘7‘, ‘x‘]

>>> str.remove(‘b‘)

>>> print str

[‘1‘, ‘ccc‘, ‘7‘, ‘x‘]

s.sort排序,正序;在原处修改,没人任何返回.>>> print str

[‘1‘, ‘ccc‘, ‘7‘, ‘x‘]

>>> str.sort()

>>> print str

[‘1‘, ‘7‘, ‘ccc‘, ‘x‘]

s.reserse 逆序,倒序>>> print str

[‘1‘, ‘7‘, ‘ccc‘, ‘x‘]

>>> str.reverse()

>>> print str

[‘x‘, ‘ccc‘, ‘7‘, ‘1‘]

l1+l2:合并两个列表,返回一个新的列表,不会修改原列表.>>> l1=[1,2,3]

>>> l2=[7,8,10]

>>> l1+l2

[1, 2, 3, 7, 8, 10]

l1 * N:把l1重复N次,返回一个新列表.>>> l1=[1,2,3]

>>> l1 * 3

[1, 2, 3, 1, 2, 3, 1, 2, 3]

in:成员关系判断字符

用法:某个元素in 某个容器>>> 2 in l1

True

>>> 2 in l2

False

not in :判断某个元素不在某个列表中.

列表解析:[]

深度复制列表中的元素,内存中所引用的对象发生变化。

copy.deepcopy()

实例:import copy

l1=[1,2,3]

l2=copy.deepcopy(l1)

print l2

l1.append(4)

print l1

print l2

l2等于l1列表中的所有元素.

l2=l1[:]

元组:

表达式符号:()

容器类型

任意对象的有序集合,通过索引访问其中的元素,不可变对象,长度固定.

虽然元组本身不可变,但如果元组内嵌套了可变类型的元素,那么此类元素的修改不会返回新元组.

列子:l1=(1,2,3,[‘a‘,‘b‘,‘c‘])

print l1

print l1[3]

l1[3].pop()

print l1

字典:dict

字典在其他编程语言中又称作关联数组或散列表;

通过键实现元素存取;无序集合;可变类容器,长度可变,异构,嵌套.

{key:value1,key2:value2}

{}空字典

l1={"x":[‘a‘,‘b‘,‘c‘],"y":32}

print l1["x"]

结果为:[‘a‘, ‘b‘, ‘c‘]

对于字典的引用,需要使用key调用对应的值;

字典也支持切片:l1={"x":[‘a‘,‘b‘,‘c‘],"y":32}

print l1["x"][1:]

[‘b‘, ‘c‘]

len()返回字典中元素的个数

l1={"x":[‘a‘,‘b‘,‘c‘],"y":32}

print len(l1)

结果为:2

字典支持修改,元素可变:l1={"x":[‘a‘,‘b‘,‘c‘],"y":32}

print id(l1)

print l1["y"]

l1["y"] = 504

print l1

print id(l1)

dicr.copy()复制copy,相当于完全copyl1l1={"x":[‘a‘,‘b‘,‘c‘],"y":32}

print l1

l2=l1.copy()

print l2

dict.get()获取指定key的value值.l1={"x":[‘a‘,‘b‘,‘c‘],"y":32}

print l1.get("x")

查看字典中有没有x这个keyl1={"x":[‘a‘,‘b‘,‘c‘],"y":32}

print l1.get("x")

print l1.has_key("x")

dict.get()和dict[s]区别在于:

dict.get()获取字典中就算没有这个值也不会报错,但是要是dict[]这个值就会直接报错.

dict.items将字典中的key:value以列表元组的形式拆开.l1={"x":[‘a‘,‘b‘,‘c‘],"y":32}

print l1.items()

结果:[(‘y‘, 32), (‘x‘, [‘a‘, ‘b‘, ‘c‘])]

l1={"x":[‘a‘,‘b‘,‘c‘],"y":32}

print l1.items()

变量解包,元组支持解包,字典直接不支持解包.t1,t2=l1.items()

print t1,t2

[(‘y‘, 32), (‘x‘, [‘a‘, ‘b‘, ‘c‘])]

(‘y‘, 32) (‘x‘, [‘a‘, ‘b‘, ‘c‘])

m1,m2={‘x‘:1,‘y‘:2}

print m1,m2

结果:y x  可以看到字典时无序的,不支持直接解包.

dict.keys()是key组成的列表,dict.values()字典值组成的列表.l1={‘x‘:21,‘y‘:5}

print l1.keys()

print l1.values()

dict.update()合并字典l1={‘x‘:21,‘y‘:5}

l2={‘a‘:21,‘b‘:7,‘x‘:32}

l1.update(l2)

print l1

dict.next()迭代.l1={‘x‘:21,‘y‘:5}

i1=l1.iteritems()

print i1.next()

zip函数:快速构建字典的方式print zip(‘abcd‘,‘123‘)

print dict(zip(‘abcd‘,‘123‘))

结果:

[(‘a‘, ‘1‘), (‘b‘, ‘2‘), (‘c‘, ‘3‘)]

{‘a‘: ‘1‘, ‘c‘: ‘3‘, ‘b‘: ‘2‘}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/336113.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Android OpenGL ES 开发 (零)】创建一个新的工程

创建符合要求的AndroidApp 使用Android Studio开发,Android Studio下载地址 1.先创建Native C 2.项目相关添加 3.使用C11标准 学习使用JNI为Java提供API 1.在cpp中定义相关接口,格式如下 2.外部调用这个API 把so改成自己想要的名字 1.需要在cmake文件…

java方法参数类型不确定_一个Java方法能有多少个参数类型?这个好奇coder做了个实验...

选自 justinblank机器之心编译参与:李志伟、张倩在 JVM 中,一个 Java 方法,最多能定义多少参数呢?这是一个很无聊的问题,即使能定义一万个,十万个,谁又会真的去这么做呢。但是作为一个 coder&am…

lagom的微服务框架_您的第一个Lagom服务– Java Microservices入门

lagom的微服务框架在撰写我的下一份OReilly报告时,我一直很沮丧,并且一段时间内没有足够的时间来撰写博客。 是时候赶快来这里,让您真正快速地开始使用名为Lagom的新微服务框架。 它与您从Java EE或其他应用程序框架中可能了解到的有所不同。…

【Android OpenGL ES 开发 (一)】使用c++开发opengles 与 日志功能 及 加载assets

创建OpenGLES视口 1.App窗口改成OpenGL窗口,是通过java调用C,在以下位置修改如下内容 package com.example.learnogles;import androidx.appcompat.app.AppCompatActivity;import android.content.Context; import android.opengl.GLSurfaceView; import android.o…

水印相机定位不准确怎么办_禄来的广角双反相机(2020版)

点击上方胶卷迷俱乐部快速关注,胶卷迷们坚实的阵地内容主要原创,配图来自群友和网络,所有水印保留最下方为微信自带广告,支持请点击(本号可获微量收入)4.0德国禄来公司以双反相机名震天下,其中的2.8,3.5两个…

【Android OpenGL ES 开发 (二)】渲染管线与Shader

计算出每一帧耗费的时间 1.在头文件中加入time.h,cpp中实现如下计算时间接口 float GetFrameTime(){static unsigned long long lastTime0,currentTime0;timeval current;gettimeofday(&current, nullptr);//取当前时间currentTime current.tv_sec * 1000 current.tv…

tibco汉化包6.3.0_TIBCO BusinessWorks 6和Container Edition与BW5的比较

tibco汉化包6.3.0[本文已于一段时间前发布在TIBCO博客上 。 我还在适当的地方添加了一些有关BusinessWorks Container Edition(BW CE)的信息 。 下面定义的大多数特征对于BW6和BW CE都是正确的] TIBCO ActiveMatrix BusinessWorks 6(BW6&…

python地图散点图_Python中基于Basemap的三维散点图

我正在尝试绘制一个三维散点图,图中是Python身上的烟羽,下面是北美的地图。我试过各种方法,但似乎都有缺点。我现在的代码是:fig plt.figure(figsize(22,4))ax Axes3D(fig)M Basemap(llcrnrlon-140,llcrnrlat10,urcrnrlon-40,u…

【Android OpenGL ES 开发 (三)】Shader 扩展

编译Shader代码 1.封装一个编译shader的接口 GLuint CompileShader(GLenum shaderType,const char *shaderCode){GLuint shaderglCreateShader(shaderType);glShaderSource(shader,1,&shaderCode,NULL);glCompileShader(shader);GLint compileResultGL_TRUE;glGetShaderi…

css阴影属性_第三场阴影场与属性访问器接口

css阴影属性这是“ 影子字段与属性访问器”界面的 第3轮 。 如果您是新手,但不确定要怎么做,请查看我以前的文章或关于开发JavaFX应用程序时节省内存的第一篇文章 。 作为Java开发人员,我主要关心的是在开发JavaFX域模型时在性能 &#xff0c…

js if判断多个条件_JS条件判断小技巧(一)

经常code review,我发现JS newbie很容易写出一堆冗长的代码。今天就列几个比较常见的“解决之道”,看看如何减少JS里的条件判断。提前返回,少用if...else“if...else是编程语言的精华。——鲁迅”但是过多的嵌套,还是挺令人抓狂的…

【Android OpenGL ES 开发 (四)】纹理相关(一)

纹理贴图的原理 1.作用:可以用来渲染视频。 2.纹理坐标 生成OpenGL中的纹理对象 1.像素数据想要绘制出来需要先变成纹理 2.创建纹理放在GPU上 GLuint CreateTexture2D(unsigned char *pixelData,int width,int height,GLenum type) {GLuint texture;glGenTextu…

python selenium循环判断元素是否存在_检查Python Selenium是否存在元素

我有一个问题-我正在使用Selenium(firefox)Web驱动程序打开网页,单击一些链接等,然后捕获屏幕截图。我的脚本可以从CLI正常运行,但是通过cronjob运行时,它并没有通过第一个find_element()测试。我需要添加一些调试,或一…

jmx 替代_使用JMX作为Ganglia的现代替代品进行CLDB监视

jmx 替代有许多选项可用于监视MapR集群的性能和运行状况。 在本文中,我将介绍使用Java管理扩展(JMX)监视CLDB的鲜为人知的方法。 据最受尊敬的MapR数据工程师之一,Akihiko Kusanagi称,与使用Ganglia相比,使…

WPScan安全建议和防护

加固WordPress安全性 保护WordPress网站的安全性至关重要,因为它是全球最受欢迎的内容管理系统之一,也是攻击者经常瞄准的目标。本文将深入探讨如何加固WordPress安全性,包括实施强密码策略、保持更新、使用可靠的主题和插件、限制登录尝试、…

red hat安装宝塔_如何在几分钟内安装Red Hat Container Development Kit(CDK)

red hat安装宝塔作为负责开发容器化应用程序提供的可能性的应用程序开发人员或架构师,将所有工具组合在一起以帮助您入门时几乎没有帮助。 到现在。 红帽容器开发套件(CDK) 安装变得简单! 红帽提供了一个容器开发套件&#xf…

python收集数据程序_用Python挖掘Twitter数据:数据采集

原标题:用Python挖掘Twitter数据:数据采集作者:Marco Bonzanini 翻译:数盟这是7部系列中的第1部分,注重挖掘Twitter数据以用于各种案例。这是第一篇文章,专注于数据采集,起到奠定基础的作用。Tw…

【FFMPEG中PTS与DTS统一转换为毫秒】

对于PTS和DTS 是两个非常重要的参数,在音视频同步时是必要的,为了方便使用,将二者统一为毫秒级别 static double r2d(AVRational r) {return r.den 0 ? 0 : (double)r.num / (double)r.den; } //转换为毫秒,方便做同步 AVPacke…

threejs 影子属性_影子场vs.属性访问器接口第2轮

threejs 影子属性如果你们还没有注意到Dirk Lemmerman和我之间的(轻松) 摊牌 ,那么让我快速提及一下我们是如何做到这一点的。 首先,Dirk创建了JavaFX技巧23:“ 为属性保存内存阴影字段 ”,以帮助应用程序开…