python的标准数据类型

1、数字

int 、float、complex

Python给变量赋值时不需要预先声明变量类型。int的大小则没有限制,只要内存够大,想多大都行。float就是带小数点的数,不包括无限小数,不区分精度。complex就是复数,它包含一个有序对,如a+bj,a是实部, b是复数的虚部。

注意:python3以前的版本,有long类型,如果赋值超过了int的范围(没有超过就是int),则自动转换成long长整型。int的大小范围与安装的解释器的位数有关。

https://docs.python.org/3.1/whatsnew/3.0.html#integers


2、字符串

被定义在引号(单引号或双引号)之间的一组连续的字符。

字符串的一些操作:

大小转换:

S.lower() :大写转小写

S.upper():小写转大写

S.swapcase():小写转成大写,大写转成小写。

S.title():首字母大写

搜索、替换:

S.find(substr,[start,[end]]):返回在S中出现substr的第一个字母标号,没有则返回-1。

S.count(substr,[start,end]):计算substr在S中出现的次数。

S.replace(oldstr,newstr,[count]):把S中的oldstr替换成newstr,count为替换的次数。

S.strip([chars]):把S左右两端的chars中所有字符全部去掉,一般用于去掉空格。

S.lstrip([chars]):把S左端的chars中所有字符全部去掉

S.rstrip([chars]):把S右端的chars中所有字符全部去掉

分割、组合:

S.split([sep,[maxsplit]):以sep为分隔符,把S分割成列表list,maxsplit为分割次数,默认分割符为空白字符。

S.join(seq):用S把seq代表的字符串序列连接起来。

编码、解码:

Python 3.0 uses the concepts of text and (binary)data instead of Unicode strings and 8-bit strings. All text is Unicode; however encoded Unicode is represented as binary data. The type used to hold text is str, the type used to hold data is bytes. The biggest difference with the 2.x situation is that any attempt to mix text and data in Python 3.0 raises TypeError, whereas if you were to mix Unicode and 8-bit strings in Python 2.x, it would work if the 8-bit string happened to contain only 7-bit (ASCII) bytes, but you would get UnicodeDecodeErrori f it contained non-ASCII values. This value-specific behavior has caused numerous sad faces over the years.

As a consequence of this change in philosophy, pretty much all code that uses Unicode, encodings or binary data most likely has to change. The change is for the better, as in the 2.x world there were numerous bugs having to do with mixing encoded and unencoded text. To be prepared in Python 2.x, start using unicode for all unencoded text, and str for binary or encoded data only. Then the 2to3 tool will do most of the work for you.

You can no longer use u"..." literals for Unicode text. However, you must use b"..."literals for binary data.

As the str and bytes types cannot be mixed, you must always explicitly convert between them. Use str.encode() to go from str to bytes, and bytes.decode() to go from bytes to str. You can also use bytes(s,encoding=...) and str(b,encoding=...), respectively.

Like str, the bytes type is immutable. There is a separate mutable type to hold buffered binary data, bytearray. Nearly all APIs that accept bytes also accept bytearray. The mutable API is based on collections.MutableSequence.

https://docs.python.org/3.1/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit

S.decode([encoding]):将以encoding编码的S解码成unicode编码。

S.encode([encoding]):将以unicode编码的S编码成encoding编码。encoding可以是gb2312、gbk、big5...

测试:

S.isalpha():S是否是全部是字母。

S.isdigit():S是否是全部是数字。

S.isspace():S是否是全部是空格。

S.islower():S是否是全部字母·写的。

S.isupper():S是否是全部字母大写的。

S.istitle():S是否是首字母大写的。

3、列表

列表是一个可变序列,每个元素分配一个位置索引,从0开始。元素可以是数字、字符串、列表、元组、字典。python用[]来解释列表。

列表的一些操作:

创建列表

直接赋值即可。list1 = []  空列表   list2 = ['a','b','c'] 或 list2 = list('abc')

插入数据

list2.insert(0,'hello')  在第一个位置前插入 hello

list2.insert(-1,'python') 在最后一个元素前插入python


追加数据

list2.append('world') 在最后追加world

删除数据

list2.pop(3)删除第4个元素。

list2.pop()删除最后一个元素。

访问数据

通过下标来访问

列表分片也是列表访问的一种方式。

将一个列表分成几个部分。操作方法list[index1:index2[:step]]

list2[10:21]  访问列表第10到第20的元素。注意下标是从0开始的。

list2[10:21:2]以步长2的距离访问列表第10到第20的元素。注意下标是从0开始的。

4、元组

元组是一个不可变的序列,每个元素分配一个位置索引,从0开始。元素可以是数字、字符串、列表、元组、字典。python用()来解释列表。

元组和列表是可以互相转换的。tuple(list)可以将一个列表转换成元组,反过来使用list(tuple)将一个元组转换成一个列表。

5、字典

字典是一个可变序列,字典的索引叫做键,不能重复。字典的键可以是数字、字符串、列表、元组、字典。python用{}来解释列表。字典的键值是无序的。

创建字典

ironman  = {'name':'tony stark','age':47,'sex':'male'}

继续添加

ironman['college'] = 'NYC'

修改

ironman['college'] = 'MIT'

删除某个元素

del ironman['college']

del 命令可以删除数字变量、字符串变量、列表、元组、字典。

ironman.keys() 返回字典所有key的列表

ironman.values() 返回字典所有value的列表

ironman.items()返回字典所有(键,值)元组的列表

ironman.clear()删除字典中所有的元素

ironman.get(key)返回字典中key所对应的值。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容