- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
python进修笔记
一.python学习之输出重定向
Python?支持输出重定向。其主要的操作主要包括三个部分:
1、??导入(sys模块)
2、??保存标准输出(是为了在关闭重定向文件后能够直接返回到标准输出)
3、??重定向
Import sys
save_out=sys.stdout
sys.stdout=open(testfile,w+)
二.Python下的数据类型
Python把类型本身当成对象,数据本身也当成对象,因此python中的赋值语句都是引用传递的,即:当对象被创建并赋值给变量时,都是将该对象的引用赋值给变量,然后会将该对象的引用计数设置为1.。Python中不存在自增自减操作符(++,--)等。
1.数字类型 :(有符号整型,浮点型, 复数)
2.字符串类型(不存在c语言中的字符类型(char))
3.列表类型(列表元素的个数及元素的值可以改变)
4.元组类型(元素的值是不可以改变的)
5.字典类型(映射数据类型:key值 和 value值)
Python按照对象的存储模型将数据类型分为:原子(标量存储)类型和容器存储类型。
Python按照对象的值的可变性将对象数据类型分为:可变数据类型(列表和字典)和不可变数据类型(数字、字符串、元组)。、
Python按照对象的访问方式将对象数据类型分为:直接存取类型(非容器类型(所有数字类型))、顺序类型(字符串、元组、列表)、映射类型(字典)。
数据类型
存储方式
更新模型
访问方式
数字
标量存储
不可变
直接存取
字符串
标量存储
不可变
顺序访问
元组
容器存储
不可变
顺序访问
列表
容器存储
可变
顺序访问
字典
容器存储
可变
映射访问
Python中的任何对象都包括3个属性:
1.身份(用于唯一标识自己的身份,可通过内建函数id()获得) (只读)
2.类型(数据类型) (只读)
3.值(对象的实际值(数据项))
Python提供is 和 is not 操作符来测试两个变量是否指向同一个对象。
三.Python下range函数 、enumerate函数、zip函数
range函数以书中为例:p105,每次把位于字符串最后的一个字符砍掉。
s=abcde
for i in range(len(s),0,-1):
print(s[:i])
abcde
abcd
abc
ab
a
range函数的原型为:range(start,end,step),默认情况下,start=0,step=1.xrange()函数是range()函数的扩展,它支持比range()范围更大的值。
enumerate函数的用法:
for i,char in enumerate(s):
print(i,char)
0 a
1 b
2 c
3 d
4 e
5 f
zip 函数的用法:zip也和enumerate的用法一致,需要通过循环遍历,才能访问对应的返回值。
a=123
b=abc
zip(a,b)
zip object at 0报错
for k,s in zip(a,b):
print(k,s)
1 a
2 b
3 c
四.Python下的浅拷贝
顺序访问类型的浅拷贝是默认类型拷贝。可以通过几种方式实施:
完全的切片操作[:]
利用工厂函数(dict( ). List( )等)
使用copy函数
因此必须区分浅拷贝和直接引用的区别,浅拷贝是在如上三种条件下才会产生:
(1) person=[name,[savings,100]]
hus=person
wife=person
id(hus),id(wife),id(person)16783840此时hus,wife,及person的id是相同的,这说明此时,仅仅是增加了person的引用数,因此,如果此时更改这3个值中的任意一个值,都会导致剩下的两个值改变。充分体现了应用传递的方式。
如: hus[0]=tingfeng
wife[0]=bozhi
hus
[bozhi, [savings, 100]]
wife
[bozhi, [savings, 100]]
(2)浅拷贝是新创建了一个类型跟原对象一样,该对象的内容是原来对象的引用,因此,在浅拷贝下,新对象的id必然会和原对象不同:
如: person=[name,[savings,100]]
hus=person[:]
wife=list(person)
id(hus),id(wife),id(person)16857608,16783
文档评论(0)