广东海洋大学 电子1151 孔yanfei python语言程序设计 第五周

Posted sinat_32097435

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了广东海洋大学 电子1151 孔yanfei python语言程序设计 第五周相关的知识,希望对你有一定的参考价值。

python号称是为每一个问题提供一个最好的解决方案,所以我们可以看到python为字符串操作提供了大量的函数,以最好的解决各种问题。但如此多的函数多少会让人有些晕,所以这里总结一些常用的用法。

I,字符串定义
stra=’abcd’
strb=”abcd”
strc=“‘abcd
efgh’”
strd=str(“abcd”) str()即为字符串类的构造函数

II,字符串的赋值与拷贝
stre=stra
strf=copy.copy(stra)
strg=copy.deepcopy(stra)
strh=stra[:]
上面是几种不同的赋值操作,从效果上来说是一样的。
这里主要是想说一说对象的赋值与拷贝。因为字符串对象是常量,所以上面的几种赋值方法得到stre, strf, strg, strh都指向同一个对象。但如果将上面的字符串换成变量,则:
stre和stra指向同一个对象,strf, strg, strh指向不同的对象。
因为stre=stra仅仅是创建了一个对stra对象的引用,而对象的拷贝则是创建了一个新的对象,拷贝又分为浅拷贝和深拷贝,浅拷贝只创建新的容器,而深拷贝则创建新的容器和容器里的内容。

关于python的对象,还有更有意思的东西。
a=1
a=2
实际上这两个a指向的是不同的对象。
因为在python中,为了追求更高的效率,对对象的修改实际上生成一个新的对象,就的对象在没有引用后,会被自动回收。

注:
id(object)用来查看对象的id,由此判断是否是同一个对象
object.str用来查看对象的内存地址

III, 字符串的常用操作
1, strlen
len(str)
len()函数实际上是用来计算序列中的元素的个数,同样适用于字符串
2, strcpy
copy.copy()
b=a
3, strcat
str1 = ‘abcd’
str2 = ‘efgh’
str1 += str2
4, strchr(str1, str2)
str1.find(str2)
str1.index(str2) 当找不到str2的时候,会raise error
5, strcmp(str1, str2)
cmp(str1, str2)
同样cmp()函数也是针对通用对象的函数。
6, strlwr(str1) strupr(str1) 转换大小写
str1=str1.lower()
str1=str1.upper()
7, 反转字符串
str1=str1[::-1]
或者
strtmp=list(str1)
strtmp.reverse()
str1=”.join(strtmp)

IV, cookbook中的例子:
1, 顺序处理字符串中的每一个字符
str1=’abcd’
thelist=list(str1)
或者
for c in str1:
do_some_thing
或者
resule=[do_some_thing for c in str1]
2, 字符和数字之间的转换
print ord(‘a’)
print chr(97)
3, 测试object是否是字符串
isinstance(str1, basestring)
basestring是builtin中定义的字符串的基类,str和unicode都是由他继承来的。所以这种方法有较好的通用性。
另外一种常用但不推荐的方法:
type(str) is type(”)
4, 对齐字符串
str1.ljust(20) 向左对齐,不足20的位置用空格填充
str1.ljust(20, ‘+’) 向左对齐,不足20的位置用’+’填充
str1.rjust(20)
str1.center(20)
5, 去除字符串两侧的空格
str1.lstrip()
str1.rstrip()
str1.strip()
6, 链接字符串
str1=str1+str2
假设pieces是一个list,list中包含了多个字符串:
str1=”.join(pieces)
格式化字符串
str1=’%s%s something %s yet more’ % (str2, str3, str4)

以上是关于广东海洋大学 电子1151 孔yanfei python语言程序设计 第五周的主要内容,如果未能解决你的问题,请参考以下文章

广东海洋大学 电子1151 孔yanfei python语言程序设计 第八周

广东海洋大学 电子1151 孔yanfei python语言程序设计 第一周

广东海洋大学 电子1151 孔yanfei python语言程序设计 第三周

广东海洋大学 电子1151 孔yanfei python语言程序设计 第三周

广东海洋大学 电子1151 孔yanfei python语言程序设计 第五周

广东海洋大学 电子1151 孔yanfei python语言程序设计 第五周