python笔试常考题目(一)

  1. python内建数据类型有哪些

    整型–int

    布尔型–bool

    字符串–str

    列表–list

    元组–tuple

    字典–dict

  2. int(“1.4”),int(1.4)输出结果?

     error和1
    
  3. 字符串转化大小写

     s.lower()
     s.upper()
    
  4. 避免转义给字符串加哪个字母表示原始字符串?

     r , 表示需要原始字符串,不转义特殊字符
    
  5. 用两种方法去空格

     s='hello world '
     s.replace(' ','')
     s2=re.sub(r'\s','',s)
    
  6. a = " hehheh ",去除收尾空格

     s.rstrip()
     s.lstrip()
     s.strip()
    
  7. a="hello"和b="你好"编码成bytes类型

     a.encode()
     c.decode()
    
  8. 统计字符串中某字符出现次数

     s.count('c')
    
  9. python中交换两个数值

     a,b=b,a
    
  10. 保留两位小数p=3.1415

    题目本身只有a="%.03f"%1.3335,让计算a的结果,为了扩充保留小数的思路,提供round方法(数值,保留位数)
    a=round(3.1467,2)
    aa = Decimal(‘5.026’).quantize(Decimal(‘0.00’))

    https://blog.csdn.net/chenmozhe22/article/details/81666831

  11. python中生成随机整数、随机小数、0–1之间小数方法

    随机整数:random.randint(a,b),生成区间内的整数

    随机小数:习惯用numpy库,利用np.random.randn(5)生成5个随机小数

    0-1随机小数:random.random(),括号中不传参

  12. 解释一下Python中的三元运算子

     a,b=2,3
     min=a if a<b else b
    
  13. 解释Python中的help()和dir()函数

    help() 函数返回帮助文档和参数说明
    
    dir() 函数返回对象中的所有成员 (任何类型)
    
  14. 一行代码实现1–100之和

       sum(range(1,101))
    
  15. 两个列表a=[1,5,7,9]和b=[2,2,6,8]合并为[1,2,2,3,6,7,8,9]

    	a.extend(b)
    	a.sort()
    
  16. [1,2,3]+[4,5,6]的结果是多少?

      [1,2,3,4,5,6]
    
  17. s = “ajldjlajfdljfddd”,去重并从小到大排序输出"adfjl"

    s=list(set(a))
    s.sort()
    a=''.join(s)
    print(a)
    
  18. filter方法求出列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    b = filter(lambda x: x % 2 != 0, a)
    print(list(b))
    
  19. 列表推导式求列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    b = [x for x in a if x % 2 != 0]
    print(b)
    
  20. [[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]

    a = [[1,2],[3,4],[5,6]]
    b = [y for x in a for y in x]
    print(b)
    
  21. x=“abc”,y=“def”,z=[“d”,“e”,“f”],分别求出x.join(y)和x.join(z)返回的结果

    dabceabcf
    dabceabcf
    
  22. 举例sort和sorted对列表排序,list=[0,-1,3,-10,5,9]

    list = [0, -1, 3, -10, 5, 9]
    list.sort()
    print(list)
    b = sorted(list)
    print(b)
    
  23. 列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]

    a = [1,2,3,4,5]
    b = map(lambda x:x*x,a)
    c= [x for x in list(b) if x>10]
    print(c)
    
  24. list=[2,3,5,4,9,6],从小到大排序,不许用sort,输出[2,3,4,5,6,9](自己写算法)

    def sort(data):
    le = len(data)
    for i in range(le):
        for j in range(le - i - 1):
            if data[j] > data[j + 1]:
                data[j], data[j + 1] = data[j + 1], data[j]
    return data
    

##字典

  1. python字典和json字符串相互转化方法

     Json.dumps() json--str
     Json.loads() str--json
    
  2. 使用pop和del删除字典中的"name"字段,dic={“name”:“zs”,“age”:18}

     del dic['name']
     dic.pop('name')
    
  3. 字典如何删除键和合并两个字典

    del和update方法
    
  4. 如何在一个函数内部修改全局变量

    利用global 修改全局变量
    
  5. 字典根据键从小到大排序dict={“name”:“zs”,“age”:18,“city”:“深圳”,“tel”:“1362626627”}

    res = sorted(dict01.items(), key=lambda x: x[0])

  6. a=(1,)b=(1),c=(“1”) 分别是什么类型的数据?

    tuple,int,str

  7. 举例说明zip()函数用法

    x=['a','b','c']
    y=[1,2,3]
    z=zip(x,y)
    print(list(z)) #[('a', 1), ('b', 2), ('c', 3)]
    
  8. 设计一个程序,求出1+3!+5!+7!+9!+50!的和。

     def add_list(data):
         if len(data) and len(data) < 2:
             return work(data[0])
         else:
             result = 0
             for i in range(len(data)):
                 result += work(data[i])
             return result
     def work(num):
         res = 0
         for i in range(1, num + 1):
             res += i
         return res
     print(add_list(a)) //1370
    
  9. 使用python将字符串“1.2.3.4.5”转换为字符串“5|4|3|2|1”

     str_list = '1.2.3.4.5'
     new_list = str_list.split('.')
     new_list.reverse()
     str_new_list = str('|'.join(new_list))
     print(str_new_list)
    
  10. 什么是lambda函数?它有什么好处?

    1. lambda的用法:lambda匿名函数,用法:lambda arg1,arg2..argN:expression using args
    2. 优点:对于逻辑简单的函数,直接使用lambda会更简洁,而且省去取函数名的麻烦。
    
  11. Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)

    1、复制不可变数据类型,不管copy还是deepcopy,都是同一个地址当浅复制的值是不可变对象(数值,字符串,元组)时和=“赋值”的情况一样,对象的id值与浅复制原来的值相同。
    2、复制的值是可变对象(列表和字典)

    浅拷贝copy有两种情况:

    第一种情况:复制的 对象中无 复杂 子对象,原来值的改变并不会影响浅复制的值,同时浅复制的值改变也并不会影响原来的值。原来值的id值与浅复制原来的值不同。

    第二种情况:复制的对象中有 复杂 子对象 (例如列表中的一个子元素是一个列表), 改变原来的值 中的复杂子对象的值 ,会影响浅复制的值。
    深拷贝deepcopy:完全复制独立,包括内层列表和字典

  12. 介绍一下except的用法和作用?

    try…except…else没有捕获到异常,执行else语句

    try…except…finally不管是否捕获到异常,都执行finally语句

  13. Python中pass语句的作用是什么?

    不执行任何功能,直接跳出,和continue类似

  14. 介绍一下Python下range()函数的用法?

    range(1,100,2)起始、终止、步长

  15. 如何在一个function里面设置一个全局的变量?

    global

  16. 单引号,双引号,三引号的区别

    1. 单引号和双引号主要用来表示字符串
    2. 三单引号,也可以表示字符串一般用来输入多行文本,或者用于大段的注释
    3. 三双引号,一般用在类里面,用来注释类,这样省的写文档,直接用类的对象__doc__访问获得文档
    4. 区别:若你的字符串里面本身包含单引号,则必须使用双引号。
  17. 关于python中的复数:
    1.表示复数的语法是real + image j
    2.实部和虚部都是浮点数
    3.虚部的后缀可以是 “j” 或者 “J”
    4.复数的 conjugate 方法可以返回该复数的共轭复数。

  18. 解释性语言和编译性语言的定义:

计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。
翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。

解释性语言的定义:
解释性语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。
现代解释性语言通常把源程序编译成中间代码,然后用解释器把中间代码一条条翻译成目标机器代码,一条条执行。

编译性语言的定义:
编译性语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。

  1. python socket

sk.recv(bufsize[,flag]):接受套接字的数据。数据以字符串形式返回,bufsize指定最多可以接收的数量。flag提供有关消息的其他信息,通常可以忽略。

sk.recvfrom(bufsize[.flag]):与recv()类似,但返回值是(data,address)。其中data是包含接收数据的字符串,address是发送数据的套接字地址。
sk.getsockname():返回套接字自己的地址。通常是一个元组(ipaddr,port)
sk.connect(address):连接到address处的套接字。一般,address的格式为元组(hostname,port),如果连接出错,返回socket.error错误。

sk.listen(backlog):开始监听传入连接。backlog指定在拒绝连接之前,可以挂起的最大连接数量。

  1. 线程由操作系统控制,协程由程序自身控制.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值