深复制和浅复制

昨天遇到这个问题以后,刚开始想的是和c++里的深拷贝和浅拷贝差不多。后来发现python和c++还是有很大的区别的,在python中序列复制以后,所有元素的地址是一样的

可以通过系统内置的函数id(对象名[索引值])只用于有序序列进行查看。

在序列中没有序列元素的时候,深复制和浅复制基本没有区别,但是当序列中也含有序列元素的时候,浅复制出的对象如果其原对象的序列元素里的元素发生改变的时候,其值也会相应的改变。深复制就不会个人觉得,就这点区别吧。更深的原因,以后学深了再了解吧。

python字符串粘贴 python字符串复制函数_字符串


python字符串粘贴 python字符串复制函数_c++_02

字符串

之前有老师对我说过,学习一种语言,最重要的就是看其对字符串的操作。再python中字符串属于一种不可变的对象

字符串的基本操作

1,字符串的创建: book = ‘书’。
2,字符串的访问:book[1]
3,字符串的格式化输出。book = ‘今天上了%d小时的课程’%(8)
4,将其他类型强制转换为字符串:str()转出来的字符串非常奇怪,通常不建议使用

字符串常用的类方法

1,将其他序列转化为字符串:’’.join()转换的序列里的元素必须为字符串否则会报错,并且每个元素会使用.之前的字符串进行分割,不填就挨到一起。
 2,返回指定字符出现的次数:count()
 3,返回指定字符串出现的第一次的索引:index()默认从左开始如需要从右边开始则使用rindex()
 4,find(str,beg=0,end = len(string)):返回str在string中的beg到end中第一次出现的索引的位置。
 5,replace(old,new,max):用new替换old的值,最多替换max次,如果第三个参数不填则默认全部替换。
 6,strip():删除给定的字符,rstrip(),lstrip()则为删除一边。
 7,split(’ '):以参数来对字符串进行截取,返回值为:一个列表。
 8,swcpcase():大小写的相互转换。
 9,lower():全部转换为小写。
 10,upper():全部转换为大写。
 11,isalpha():是否全为字母。常用于字符串中找字母 12,isdight():是否全为数字。常用于来寻找数字

贴一个字符串中寻找数字的代码吧:

python字符串粘贴 python字符串复制函数_c++_03


运行后的结果为:

python字符串粘贴 python字符串复制函数_字符串_04


和c和c++比起来确实简单多了。

函数

由于我也是python的初学者,我也不知道python更深层次的东西,就把今天学习到的函数的知识进行一下总结吧。

函数的定义方式

在python中函数的定义方式为:def 函数名(参数1,参数2,…)

函数体

return 返回值

简单贴一个给定数判断是不是素数的代码吧,今天也就学了这么点。

python字符串粘贴 python字符串复制函数_python_05

运行后的结果为:

python字符串粘贴 python字符串复制函数_c++_06