1、类继承
class A ( object ):
def show ( self ):
print 'base show'
class B ( A ):
def show ( self ):
print 'derived show'
obj = B ()
obj . show ()
obj . __class__ = Aobj . show ()
2、方法对象
class A ( object ):
def __init__ ( self , a , b ):
self . __a = a
self . __b = b
def myprint ( self ):
print 'a=' , self . __a , 'b=' , self . __b
a1 = A ( 10 , 20 )
a1 . myprint ()
a1 ( 80 )
class A ( object ):
def __init__ ( self , a , b ):
self . __a = a
self . __b = b
def myprint ( self ):
print 'a=' , self . __a , 'b=' , self . __b
def __call__ ( self , num ):
print 'call:' , num + self . __a
3、new和init
class B ( object ):
def fn ( self ):
print 'B fn'
def __init__ ( self ):
print "B INIT"
class A ( object ):
def fn ( self ):
print 'A fn'
def __new__ ( cls , a ):
print "NEW" , a
if a > 10 :
return super ( A , cls ) . __new__ ( cls )
return B ()
def __init__ ( self , a ):
print "INIT" , a
a1 = A ( 5 )
a1 . fn ()
a2 = A ( 20 )
a2 . fn ()
NEW 5
B INIT
B fn
NEW 20
INIT 20
A fn
4、Python list和dict生成
ls = [ 1 , 2 , 3 , 4 ]
list1 = [ i for i in ls if i > 2 ]
print list1
list2 = [ i * 2 for i in ls if i > 2 ]
print list2
dic1 = { x : x ** 2 for x in ( 2 , 4 , 6 )}
print dic1
dic2 = { x : 'item' + str ( x ** 2 ) for x in ( 2 , 4 , 6 )}
print dic2
set1 = { x for x in 'hello world' if x not in 'low level' }
print set1
[ 3 , 4 ]
[ 6 , 8 ]
{ 2 : 4 , 4 : 16 , 6 : 36 }
{ 2 : 'item4' , 4 : 'item16' , 6 : 'item36' }
set ([ 'h' , 'r' , 'd' ])
5、全局和局部变量
num = 9
def f1 ():
num = 20
def f2 ():
print num
f2 ()
f1 ()
f2 ()
9
9
num = 9
def f1():
global num
num = 20
def f2():
print num
f2()
f1()
f2()
# prints:
# 9
# 20
6、交换两个变量的值
a = 8
b = 9
( a , b ) = ( b , a )
7、默认方法
class A ( object ):
def __init__ ( self , a , b ):
self . a1 = a
self . b1 = b
print 'init'
def mydefault ( self ):
print 'default'
a1 = A ( 10 , 20 )
a1 . fn1 ()
a1 . fn2 ()
a1 . fn3 ()
defaultdefaultdefault
class A ( object ):
def __init__ ( self , a , b ):
self . a1 = a
self . b1 = b
print 'init'
def mydefault ( self ):
print 'default'
def __getattr__ ( self , name ):
return self . mydefault
a1 = A ( 10 , 20 )
a1 . fn1 ()
a1 . fn2 ()
a1 . fn3 ()
class A ( object ):
def __init__ ( self , a , b ):
self . a1 = a
self . b1 = b
print 'init'
def mydefault ( self , * args ):
print 'default:' + str ( args [ 0 ])
def __getattr__ ( self , name ):
print "other fn:" , name
return self . mydefault
a1 = A ( 10 , 20 )
a1 . fn1 ( 33 )
a1 . fn2 ( 'hello' )
a1 . fn3 ( 10 )
8、包管理
__all__ = [ 'mod1' , 'mod3' ]
9、闭包
def mulby ( num ):
def gn ( val ):
return num * val
return gn
zw = mulby ( 7 )
print ( zw ( 9 ));
10、性能
def strtest1 ( num ):
str = 'first'
for i in range ( num ):
str += "X"
return str
以上就是十种常见的Python面试题的详细内容,更多请关注Gxl网其它相关文章!
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did84305