Python笔试2

1利用内置函数chr(),ord(),以及random模块写一个简单随机4位验证码?

import random
tmp = ''  #最后生成的验证码
for i in range(4):
    n=random.randrange(0,2)  #生成随机数1或0,用来判断下面是生成随机数字还是字母
    if n == 0:
        num = random.randrange(65,91) #为0时,生成大写字母
        tmp +=chr(num)
    else:
        k = random.randrange(0,10) #为1时,生成数字
        tmp +=str(k)
print(tmp)

2.请写出“张三”分别用utf-8和 gbk编码所占的位数?(utf-8 和gbk 的区别?)

name="张三"
print(len(bytes(name,encoding='utf-8')))
print(len(bytes(name,encoding='gbk')))
------------------------------------------
6
4
  • utf-8为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示。特点;节省空间,速度慢,用在硬盘数据传输,网络数据传输,相比硬盘和网络速度,体现不出来的。
  • gbk 是中文的字符编码,用2个字节代表一个字符

3.python语言的特点?

  • 解释型语言:执行前不需要编译。
  • 动态语言: 声明变量时,不需要指定数据类型。
  • python编写代码快,但是运行速度较低。由于Python允许加入基于C语言编写的扩展,因此我们能够优化代码,消除瓶颈,这点通常是可以实现的。
  • python应用广泛。如数据分析,AI,机器学习,web开发,爬虫,Linux运维,金融科技等等方面。

4.深拷贝和浅拷贝?
深拷贝:深拷贝,包含对象里面的自对象的拷贝,所以原始对象的改变不会造成深拷贝里任何子元素的改变(始终不变)。
浅拷贝:copy浅拷贝,没有拷贝子对象,所以原始数据改变,子对象会改变

>>> import copy
>>> lista = [1,2,3,['a','b']]
>>> listb = copy.copy(lista)
>>> listc = copy.deepcopy(lista)
>>> lista
[1, 2, 3, ['a', 'b']]
>>> listb
[1, 2, 3, ['a', 'b']]
>>> listc
[1, 2, 3, ['a', 'b']]
>>> lista.append(5)
>>> lista
[1, 2, 3, ['a', 'b'], 5]
>>> listb
[1, 2, 3, ['a', 'b']]
>>> listc
[1, 2, 3, ['a', 'b']]
>>> lista[3].append('c')
>>> lista
[1, 2, 3, ['a', 'b', 'c'], 5]
>>> listb
[1, 2, 3, ['a', 'b', 'c']]
>>> listc
[1, 2, 3, ['a', 'b']]

5.python中的re模块的search()和match()的区别?

  • search只要字符串中存在待匹配的字符串就可以匹配成功。
  • match必须待匹配的字符串在句首才能匹配上
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值