python学习手册(第4版) 第七章

回顾第六章,是关于动态类型的介绍,写到了关于变量的赋值,其实是数据对象的初始化,而且是一种引用(以内存中指针的形式实现),改变赋值就是改变引用的对象。涉及到可变变量列表的使用,是对引用的拷贝或值得拷贝(深copy.deepcopy())。最后讲到,动态类型是多态的根本。

第七章,字符串--一个有序的字符的集合(集合是无序的、不可变的)

字符串的一些基本属性和方法:

>>>a = 'abc'

>>>b = '123'

>>>c = '  a b  c   ' 

>>>a[1:2]      #字符串切片,从索引1开始,截至到索引2,包括索引1,不包括索引2

'b'

>>>a[3:0:-2]       #字符串切片,步进为负数时,倒序输出相应的步进结果,注意:倒序时切片的前两个值也要颠倒过来

'ca'

>>>a[slice(3,0,-2)]            #与上一句效果一样

'ca'

>>>'str is %s'%a       #字符串格式化输出

'str is abc'

>>>'str is {1}'.format(a,b)         #也是字符串格式化,可以处理多个字符串对象,使用format()索引的方式

'str is 123'

>>>'str is {name}'.format(name='aaa')      #使用format()的键值方式

'str is aaa'

>>>'{0:>10}=={1:<10}'.format(abcd,123.1)         #使用format()索引的方式,分别以10的字符宽度实现右对齐和左对齐

'      abcd==123.1     '

>>>'{0:e}'.format(3.14159)         #使用format()索引的方式,使用e科学计数法对数据进行格式化

'3.141590e+00'

>>>'{0:.{1}f}'.format(1/3.0,4)          #使用format()索引的方式,嵌套式的格式化

'0.3333'

>>>'%.*f'%(4,1/3.0)             #与上一句效果相同

'0.3333'

>>>format(1/3.0,'.4f')          #使用format()函数,与上一句效果相同

>>>a.find('a',0,3)          #返回'a'在字符串a中的第一个匹配的位置的索引,其中0,3将字符串切片后再查找,不传入0,3,则表示查找整个字符串。返回-1,表示未查找到。

0

>>>c.rstrip()           #清除字符串尾部的空格后返回字符串

'   a b  c'

>>>a.replace('ab','12')          #替换

'12c'

>>>a.split('b')        #用占位符分割,返回分割后的列表

['a','c']

>>>','.join(a)          #插入分隔符,返回一个字符串

'a,b,c'

>>>b.isdigit()             #判断字符串内容是否未数字,是则返回True

True

>>>a.upper()             #返回所有字母大写的字符串

'ABC'

>>>a.upper().lower()       #将所有大写字母转化为小写并返回

'abc'

>>>a.endswith('bc')       #判断字符串是否以'bc'结尾,是则返回True

True

>>>'b' in a         #判断'b'是否在字符串中,是则返回True

True

>>>a.encode('utf-8')        #转换编码,返回转换后的字节(bytes)字符串,编码规范为utf-8

b'abc'

>>>type(a.encode('utf-8')

<class 'bytes' >


使用'\'进行字符串转义




抑制字符串转义,有两种方法:使用双斜杠'\\',或者使用Raw字符串

>>>s = 'a\\0b\\01c'

>>>s

'a\\0b\\01c'

>>>s = r'a\0b\01c'

'a\\0b\\01c'


>>>ord('1')             #将单个字符串转化为相应的ASCII码

49

>>>chr(49)          #将ASCII码转化为相应的字符

'1'


属性读取:

具有object.attribute的表达式意味着“读取object对象的attribute属性的值”

函数调用表达式:

具有函数(参数)的表达式意味着“调用函数,传入零个或多个用逗号隔开的参数,并得到函数的返回值”


字符串格式化:


>>> 'abc%06d'%1    #%06d,格式化整数,位数多则全部加入,位数少则补0
'abc000001'
>>> '%E'%1             # %E  格式化为科学计数法

'1.000000E+00'

基于字典的格式化

>>>'%(a)d,%(b)s'%{'a':3,'b':'one'}

3,one

内置函数vars()

>>>vars()           #返回一个字典,内容为当前状态下所有的变量即其值

{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'redis': <module 'redis' from 'D:\\virtualenv\\pychannels\\lib\\site-packages\\redis\\__init__.py'>, 'rd': Redis<ConnectionPool<Connection<host=localhost,port=6379,db=0>>>, 'sub': <redis.client.PubSub object at 0x0000017EF84C6898>, 'ret': <function ret at 0x0000017EF89FD158>, 'threading': <module 'threading' from 'c:\\users\\zjd87\\appdata\\local\\programs\\python\\python36\\Lib\\threading.py'>, 'num': None, 'str1': 'abc', 'i': 'c', 'list1': ['a', 'b', 'c'], 'list2': ['a', 'b', 'c', 'd'], 'str2': 'abcd'}














          

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值