• 面试题




         
    6.zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
    
    如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
     zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。
    如需展示列表,需手动 list() 转换。 ''' 现有两个元组,(('a'),('b'),(('c'),('d')) 请把他变成[('a','c'),('b','d')] ''' t1=(('a'),('b')) t2=(('c'),('d')) print(list(zip(t1,t2))) '''
    7.静态函数(@staticmethod) : 即静态方法,主要处理与这个类的逻辑关联,它是不可以访问实例变量或类变量的。
    
    类函数(@classmethod): 即类方法, 只能访问类变量,不能访问实例变量 , 类方法通过@classmethod装饰器实现。
    
    成员函数 : 实例的方法, 只能通过实例进行调用,若需通过类名来调用,则应申明为类方法。
    
    属性函数:通过@property把一个方法变成一个静态属性。
    
    具体应用:
    
    日期的方法, 可以通过实例化(__init__)进行数据输出, 传入参数self;
    
    可以通过 类的方法 (@classmethod) 进行数据转换, 传入参数cls;
    
    可以通过 静态方法(@staticmethod)进 行数据验证;
    
    
    
    1.Python里的reduce函数有什么用法 from functools import reduce
    def fun(x,y):
      return 10*x+y
      l=reduce(fun,(1,2,3,4))
     
    8.,示例说明args和**kwargs
    
    *args(表示的就是将实参中按照位置传参,多余的都是给args,切都是以元组的方式实现)
    **kwargs:(表示的是按照关键字传参,保存的是字典的形式)
    
    print(type(l),l)
    2.请写出一段Python代码实现删除一个list里面的重复元素,例如l=[1,2,3,3,4,4,5]
     
    l=[1,2,3,3,4,4,5] d ={} 
     d=d.fromkeys(l)
    print(list(d))
    3.Python里面如何生成随机数?
    import random
    l = random.randint(198,200)
    
    print(l)
    l = random.randrange(100)
    print(l)
    
    4.简述列表,字符串,元组,字典之间异同。
    有序性:前三者都是有序的,由于此性质决定了,可以用成员运算符 
    in or not in,可以索引[],可以切片,拼接,len(),.count(),.index()
    max(),min()
    可变性:列表,字典都是可变的,都可以增删改查
    
    #静态方法举例
    class People(object):
            Name = '类变量名'
            def __init__(self,name):
                    self.name = name
            @staticmethod#静态方法,是用来处理这个类的逻辑关系,不能访问类属性和实例属性
            def run(self):
                    print('%s is a staticmthod '%self.name)
            @staticmethod
            def talk():
                    print('who is talking')
    p1 = People('ll')
    #print(p1.run())#不能输出
    
    print(p1.run(p1))#解决方法:调用时主动传递实例本身给run方法
    
    p1.talk() # 解决方法:在run方法中去掉self参数,但这也意味着,在中不能通过self.
            #去调用实例中的其他变量了
                    
    #类方法举例->只能访问类变量不能访问实例变量
    class Cat(object):
            name = '我是类变量'
            def __init__(self,name):
                    self.name = name
    
            @classmethod
            def sleep(self):
                    print('%s is a classname'%self.name)
    c1 = Cat('大猫')
    c1.sleep()
    #属性方法举例--->成员函数:实例的方法,只能通过实例来调用,若需通过类名来调用,则应申明为类方法
    #属性方法是通过@property把一个方法变成一个静态属性
    
    class Cat(object):
            def __init__(self,name):
                    self.name =name
            @property
            def talf(self):
                    print('%s is a property method'%self.name)
    c1 = Cat('damao')
    
    #c1.talk()调用时出现错误,因为talk此时已经变成一个静态属性了,不是方法,不需要括号
    c1.talf
    #作用根据需要改变属性的状态,比如获取航班的当前状态,到达,延误还是飞走
    
  • 相关阅读:
    OS X进程管理之launchctl
    varnish-4.x 之varnishlog,varnishstat,varnishtop,varnishhist
    Java ClassLoader详解(转载)
    java线程中断[interrupt()函数] (转载)
    Struts2实例详解(转载)
    java 重定向和转发(转载)
    Java中Class.forName()的作用(转载)
    JSP页面的编码设置(转载)
    Struts2 实例(转载)
    Spring AOP(转载)
  • 原文地址:https://www.cnblogs.com/lhybky/p/10178653.html
Copyright © 2020-2023  润新知