python对象类型之概述
来源:互联网 发布:linux mv移动多个文件 编辑:程序博客网 时间:2024/05/29 19:15
1、几个问题:
(1)python的对象是什么?
在我们应用python时,我们常常使用一些东西来做一些事儿,事儿包括像加法这样的操作形式,东西就是操作对象,亦即是python的对象。
(2)python的全景:
程序由模块组成,
模块由语句组成,
语句由表达式组成,
表达式建立处理对象。
(3)内置类型?内置类型好处?
内置类型即是python里默认的数据类型,不用用户进行对象实现;
好处:程序易编写;
内置类型是扩展的基础;
效率更高;
内置类型是语言标准的一部分。
(4)python都有社么核心数据类型?
数字、字符串、列表、字典、元组、文件等。
2、核心类型之数字:
(1)表达式:
>>>123+234 #加法运算
>>>1.2*5 #单星号浮点数乘法
>>>2**10 #双星号乘方运算
(2)常用数学模块:math模块
>>>import math
>>>math.pi
>>>math.sqrt(81) #开方运算
常用数学模块: random模块
>>>import random
>>>random.random()
>>>random.choice([1,2,3,4,5])
3、核心类型之字符串:(单个字符串的序列)
(1)序列操作:
len函数验证序列长度:
>>>s='spam'
>>>len(s)
4
索引得到各元素:(如何索引?索引是按照从最前面开始进行正偏移量而得到;从最后一个开始进行负的偏移量得到)
>>>s[0]
's'
>>>s[1]
'p'
>>>s[-1] #最后一个
‘m'
>>>s[len(s)-1]
'm'
分片操作:(一般形式:X[i:j];表示取出在X中从偏移为i,直到但不包括j的内容,左边界缺省默认为0,右边界默认为序列长)
>>>s
'spam'
>>>s[1:3]
'pa'
>>>s[:-1]
'spa'
>>>s[:]
'spam'
字符串的合并与重复:
>>>s
'spam'
>>>s+'xyz'
'spamxyz'
>>>s
'spam'
>>>s*3
'spamspamspam'
(2)字符串的不可变性:(字符串一旦创建就不能对其值再进行任何修改,任何对字符串的操作都只是创建了一个新的字符串,数字、元组都是不可变的,列表和字典是可变的)
(3)字符串的特定方法:(以上方法实质上是对序列的操作,任何序列都可以使用的通用操作,而字符串有一些独有的操作)
find()函数(查找,返回一个传入字符的偏移量)
>>>s
'spam'
>>>s.find('pa')
1
replace()(全局查找并替换)
>>>s.replace('pa','hhhhhh')
'shhhhhm'
dir()函数(获取更多字符串方法)
>>>dir(s)
['_add_',..'zfill']
>>>help(s.index)(可以获取帮助内容)
(4)模式匹配:
参考博客:http://blog.csdn.net/smilelance/article/details/6529950
4、核心类型之列表:
(1)列表是一种序列,可以有序列的通用操作:长度验证len,索引,分片,连接等
(2)列表特有操作:
append()(在列表尾部添加一项):
>>>L=[123,'spam',1.23]
>>>L.append('NI')
>>>L
[123,'spam',1.23,'NI']
pop()(移除给定偏移量的一项):
>>>L.pop(2)
1.23
sort()(默认升序排列);
reverse()(对列表进行翻转):
>>>M=['bb','aa','cc']
>>>M.sort()
>>>M
['aa','bb','cc']
>>>M.reverse()
>>>M
['cc','bb','aa']
(3)边界检查:当操作不存在的列表元素时,python会报错;
(4)嵌套:python可以支持任意的嵌套:
>>>M=[[1,2,3],[4,5,6],[7,8,9]]
(5)列表解析:
>>>col2=[row[1] for row in M]
>>>col2
[2,5,8]
>>>[row[1]+1 for row in M]
[3,6,9]
>>>diag=[M[i][i] for i in [0,1,2]]
>>>diag
[1,5,9]
>>>doubles=[c*2 for c in 'spam']
>>>doubles
['ss','pp','aa','mm']
5、核心类型之字典:(字典就是一组键与值的映射)
(1)映射操作:(作为常量编写时,字典写在大括号里,包含一系列“键:值“对)
>>>D={'food':'spam','quantity':4,'color':'pink'}
我们可以通过对键进行索引来读取或改变键所关联的值:
>>>D['food']
'spam'
(2)重访嵌套:
>>>rec={'name':{'first':'Zhao','last':Long},'job':['dev','mgr'],'age':23}
*值得注意的是,在python中,当最后一次引用对象后,此对象占用的内存空间将自动清理
(3)键的排序:for循环
keys()函数:(收集一个键的列表),sort()函数:(升序排列)
>>>D={’a':1;'b':2,'c':3}
>>Ks=D.keys() #得到一个键的列表
>>>Ks.sort() #升序排列
>>>for key in keys:
print key,'=>',D[key]
以上三步等价于下面一条语句:
>>>for key in sorted(D):
print key,'=>',D[key]
(3)迭代与优化:任何一个解析表达式都能改写成一个for循环。
(4)if测试:has_key()函数,可以判断键的存在性
>>>D
{’a':1;'b':2,'c':3}
>>>D.has_key('f')
false
>>>if not D.has_key('f'):
print 'no this key'
no this key
6、核心类型之元组:(元组类似一个列表,但最重要的是元组一旦创建后就不能再改变)
>>>T=(1,2,3,4)
则元组T具有不变性
7、核心类型之文件:(文件是python代码对电脑外部文件的主要接口,文件没有特定的常量语法进行创建,可用open函数进行创建)
>>>f=open(‘data.txt’,'w')
>>>f.write('Hello\n')
>>>f.write('World\n')
>>>f.close()
类似字符串,可以用dir()函数查到更多的文件方法:
>>>dir(file)
[...] #很多的文件方法
8、其他核心类型:
集合、十进制数,布尔值,占位符对象None、用户定义的类
- python对象类型之概述
- [入门-7] 基础类型之对象概述
- python之路-------第4章、介绍python对象类型
- DataColumn 对象之概述
- Python判断对象类型
- Python类型和对象
- Python类型和对象
- python对象类型
- python对象类型分类
- Python对象类型
- Python-对象类型
- python对象类型
- python内置对象类型
- python:对象类型
- Python的对象类型
- Python学习之三【对象和类型&&运算符】
- 四.python 对象类型之列表、元组
- Python数据类型之“序列概述与基本序列类型(Basic Sequences)”
- LeetCode 129. Sum Root to Leaf Numbers
- PAT甲级练习1015. Reversible Primes (20)
- golang的import导入
- LeetCode 90. Subsets II
- 丑数
- python对象类型之概述
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)(转)
- Android之Animation动画各属性的参数意思
- 在eclipse上配置有关SVN的忽略
- Lottie的使用及原理浅析
- 170214
- 图的基本存储的基本方式一
- java--09--对象与JSON与Map之间的转换
- 静态广播与动态广播的区别