Python笔记(一) 数字、动态类型、字符串
来源:互联网 发布:图片锐化软件 编辑:程序博客网 时间:2024/05/18 10:17
1.数字
基本的数字类型没什么特别需要注意的,python中有一个特别的类型,集合。
1)集合的基本操作:
x=set('adbce'), y=set('bdxyz) #赋值'e' in x #检查集合中是否有某元素,返回布尔值x - y #集合的差集x | y #集合的交集x & y #集合的并集x ^ y #相当于异或计算,返回两个集合中没有重复的部分x > y, x < y #判断是否是子集关系
(有不懂的总能调用help函数来查看,例如help('set'))
2)为什么用集合?
由于集合的数学特性,比方说可以过滤重复项,例如
L = [1,2,1,3,2,4,5]L=list(set(L))
2.动态类型
Python编程中最基本的概念:动态类型以及它提供的多态性,这是Python灵活性和简洁性的基础。
变量和对象保存在内存中的不同部分,并通过连接相关联。在运行a=3之后,变量a变成对象3的一个引用,在内部,变量事实上是到对象内存空间的一个指针。
1)垃圾收集:在Python中,每当一个变量名被赋予了一个新的对象,之前的那个对象占用的空间就会被回收(如果没有被其他的变量名或对象引用的话)。Python在每个对象中设置一个计数器,记录了当前指向该对象的引用的数目,一旦为0,内存空间就会自动回收。这以为这在脚本中可以任意使用对象而不需要考虑释放内存空间(和C,C++相比)。
2)共享引用:
a = 3b = a
a和b都引用了相同的对象,也就是指向了相同的内存空间.
如果再执行
a = a + 2对b是没有影响的,因为最后的赋值将a设置为一个完全不同的对象
然而
L1 = [1,2,3]L2 = L1L1[0] = 24
看到的结果就会是L1 [24,2,3], L2 [24,2,3].因为这个列表对象是与其他对象共享的。如果不想要这样的情况发生,需要Python拷贝对象,而不是创建引用。例如:
L1 = [1,2,3]L2 = L1[:]
这时执行
L1[0] = 24就不会对L2产生影响。
3.字符串
Python的字符串是不可变序列,不可以在原处修改。实际上,字符串是序列的一种类型。
1)单双引号是一样的
2)转义符号
和C语言中基本一致,但是\0并不会结束一个字符串。
3)raw字符串
如果字母r出现在字符串第一个引号之前,它将会关闭转义机制。例如打开文件时
myfile = open(r'C:\new\text.dat', 'w')4)三重引号 (块字符串)
以三重引号开始(单引号双引号皆可),并紧跟任意行数的文本,并且以开始时相同的三重引号结尾。
可以用于注释一段代码
5)字符串的基本操作
'abc' + 'def' #字符串合并'abc' * 3 #字符串重复n次S[0],S[-2] #字符串索引S[1:3], S[1:], S[:-1] #字符串分片
分片S[i:j]表示获取从偏移为i开始,直到但不包括偏移为j的元素。
附上图片说明索引和分片的规则:
分片也可以用第三个参数,来表示步长,即S[i,j,k],默认为1,取-1时表示分片从右向左进行
6)修改字符串
由于Python中的字符串是不可变序列,若要改变一个字符串,需要利用合并、分片工具
S = 'abc'S = S + 'b' #'abcb'S = S[:2] + 'aa' + S[-1] #'abaab'
当然也可以调用自带函数replace(),split()等等
7)字符串格式化表达式(%表达式)
类似于C语言
'%s %s %d apple.' % ('I', 'have', 1)I have 1 apple.
8)字符串格式化调用的format方法
使用主体字符串作为模板,并且接受任意多个表示将要根据模板替换的值得参数。在主体字符串中,花括号通过位置或关键字({1}or{food})之处替换目标。例如
template = '{0}, {1} and {third}';template.format('a', 'b', third='c')
0 0
- Python笔记(一) 数字、动态类型、字符串
- Python学习笔记(一)数字和字符串
- Python数据类型之数字类型、字符串类型
- Python数据类型(二):字符串类型一
- Python学习笔记(四):动态类型
- python学习笔记17(动态类型)
- Python入门之(数字,set,动态类型)
- Python学习笔记-数字&字符串
- Python学习笔记摘要(一)类型 字符串 函数 列表 深浅拷贝
- python字符串与数字类型转化
- Python自学笔记(一)变量类型
- Python学习笔记(一)--变量类型
- python学习手册笔记--第5章--数字--第6章--动态类型
- Python学习笔记(五)Python动态类型和引用
- Python笔记(三)--变量类型之数字
- 三.Python数据类型の(一)数字与字符串
- Python学习笔记(六)数字与字符串…
- Python学习笔记(2)- 字符串和数字
- iOS 消息推送原理及实现总结
- TableLayout
- iOS 7: 如何为iPhone 5S编译64位应用
- android JNI库实现reboot,recovery
- 安装驱动程序的API,SetupCopyOEMInfW 和 UpdateDriverForPlugAndPlayDevices
- Python笔记(一) 数字、动态类型、字符串
- Ubuntu ——虚拟机上网NAT
- TextSwitcherProject
- 正则表达式中的符号和preg_match()
- POJ 1159 Palindrome
- 确保目标关键词有人搜索
- Ubuntu13.04下安装搜狗输入法
- ToastProject 飘字提示
- java编译-g