(1) a=[1, 2, 3, 4, 5], a[::2]=?, a[-2:] = ?
(2)一行代码实现对列表a中的偶数位置的元素进行加3后求和?
(3)将列表a的元素顺序打乱,再对a进行排序得到列表b,然后把a和b按元素顺序构造一个字典d。
def strtest1(num):
str = ‘first’
for i in range(num):
str += ’X’
return str
由于变量str是个不可变对象,每次迭代,python都会生成新的str对象来存储新的字符串,num越大,创建的str对象越多,内存消耗越大。
Q.47.单引号,双引号,三引号的区别单引号和双引号是等效的,如果要换行,需要符号(),三引号则可以直接换行,并且可以包含注释
如果要表示Let’s go 这个字符串
单引号:s4= ‘Let’s go’
双引号:s5= “Let’s go”
s6 = ‘I realy like“python”!’
这就是单引号和双引号都可以表示字符串的原因了
赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。
浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数}
深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变){copy模块的deep.deepcopy()函数}
Q.49.介绍一下Python下range()函数的用法?列出一组数据,经常用在for in range()循环中
Q.50.请问如何修改以下Python代码,使得下面的代码调用类A的show方法?答:这道题的考点是类继承,只要通过__class__ 方法指定类对象就可以了。补充的代码如下:
此题考察得是方法对象,为了能让对象实例能被直接调用,需要实现 call 方法,补充代码如下:
在包中增加 init.py 文件,并在文件中增加:all = [‘mod1’,’mod3’]