Python-100-Days/面试指南.md

942 B
Raw Blame History

面试指南

基础知识

  1. 下面的代码会输出什么。

    
    list1 = [1, 2, 3, 4]
    
    list2 = [i for i in list1 if i > 2]
    print(list2)
    
    list3 = [i for i in list1 if i % 2]
    print(list3)
    
    dict1 = {x: x ** 2 for x in (2, 4, 6)}
    print(dict1)
    
    dict2 = {x: f'item{x ** 2}' for x in (2, 4, 6)}
    print(dict2)
    
    set1 = {x for x in 'hello world' if x not in 'abcdefg'}
    print(len(set1))
    
  2. 下面的代码会输出什么。

    
    num = 100
    
    
    def foo():
    num = 200
    
    
    def bar():
    print(num)
    
    
    bar()
    foo()
    bar()
    
  3. 如何修改下面的Python代码才能够输出“foo in father”

    
    class Father(object):
    
    	def foo(self):
    		print('foo in father.')
    
    
    class Son(object):
    
    	def foo(self):
    		print('foo in son.')
    
    
    obj = Son()
    obj.foo()