1.以下程序输出结果是什么
a = 1
def fun(a):
a = 2
fun(a)
print (a)
a = []
def fun(a):
a.append(1)
fun(a)
print(a)
输出结果:
1
[1]
2.请简要说明什么是类变量,什么是实例变量,并观察以下程序的输出结果
答:实例变量必须在变量前添加self.
类变量则不需要
class Person:
name="aaa"
p1=Person()
p2=Person()
p1.name="bbb"
print(p1.name)
print(p2.name)
print(Person.name)
输出结果:
bbb
aaa
aaa
3.以下语句有什么弊端,name是元祖的时候,程序会是什么样的结果,如何避免
"hi there %s" % name
答:name是元组的时候程序会报错,要避免报错用.format
4.阅读下面的代码,写出A0,A1至An的最终值。
A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5)))
A1 = range(10)
A2 = [i for i in A1 if i in A0]
A3 = [A0[s] for s in A0]
A4 = [i for i in A1 if i in A3]
A5 = {i:i*i for i in A1}
A6 = [[i,i*i] for i in A1]
打印结果如下:
A0 {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
A1 range(0, 10)
A2 []
A3 [1, 2, 3, 4, 5]
A4 [1, 2, 3, 4, 5]
A5 {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
A6 [[0, 0], [1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 36], [7, 49], [8, 64], [9, 81]]
5.你如何管理不同版本的代码?
答:用Github管理不同版本代码。
6.下面代码会输出什么:
def f(x,l=[]):
for i in range(x):
l.append(i*i)
print(l)
f(2)
f(3,[3,2,1])
f(3)
输出结果:
[0, 1]
[3, 2, 1, 0, 1, 4]
[0, 1, 0, 1, 4]
7.这两个参数是什么意思:**args,**kwargs?我们为什么要使用它们?
答: **args是非关键字参数,用于元组。
**kwargs是关键字参数,用于字典。
8.阅读下面的代码,它的输出结果是什么?
class A(object):
def go(self):
print "go A go!"
def stop(self):
print "stop A stop!"
def pause(self):
raise Exception("Not Implemented")
class B(A):
def go(self):
super(B, self).go()
print "go B go!"
class C(A):
def go(self):
super(C, self).go()
print "go C go!"
def stop(self):
super(C, self).stop()
print "stop C stop!"
class D(B,C):
def go(self):
super(D, self).go()
print "go D go!"
def stop(self):
super(D, self).stop()
print "stop D stop!"
def pause(self):
print "wait D wait!"
class E(B,C): pass
a = A()
b = B()
c = C()
d = D()
e = E()
# 说明下列代码的输出结果
a.go()
b.go()
c.go()
d.go()
e.go()
a.stop()
b.stop()
c.stop()
d.stop()
e.stop()
a.pause()
b.pause()
c.pause()
d.pause()
e.pause()
9.请写出一段Python代码实现删除一个list里面的重复元素
s = [2,54,2,8,4,6,8,9,1,5,7,4]
ll = list(set(ls))
print(ll)
11.写一个函数, 输入一个字符串, 返回倒序排列的结果
输入: string_reverse(‘abcdef') , 返回: ‘fedcba',写出你能想到的多种方法
方法一:
a = 'abcdef'
print(a[::-1])
方法二:
a = 'abcdef'
ls = list(a)
ls.reverse()
print("".join(ls))
10.单引号,双引号,三引号的区别
答:单引号和双引号都是用来表示字符串,三引号可以用来表示字符串和用来注释,三引号里用\n换行表示换行。