python 面试题

1.如何用Python来进行查询和替换一个文本字符串?
答:
查找
a='qujinhua'
b='nhu'
print a[a.index(b):len(b)+a.index(b)]
替换
a='qujinhua'
print a.replace("jin",chun)

2.Python里面search()和match()的区别?
答:
match()函数只检测RE是不是在string的开始位置进行匹配。
search() 会匹配(扫描)整个string进行查找。

match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none

import re
text = "The Attila the Hun Show"

# a single character 单个字符
m = re.match(".", text)
if m:
    print repr("."), "=>", repr(m.group(0))
# any string of characters 任何字符串
m = re.match(".*", text)
if m:
    print repr(".*"), "=>", repr(m.group(0))
# a string of letters (at least one) 只包含字母的字符串(至少一个)
m = re.match("\w+", text)
if m:
    print repr("\w+"), "=>", repr(m.group(0))
# a string of digits 只包含数字的字符串
m = re.match("\d+", text)
if m:
    print repr("\d+"), "=>", repr(m.group(0))


3.用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别?

4.Python里面如何生成随机数?
答:
import random

# random float: 0.0 <= number < 1.0
print random.random()
# random float: 10 <= number < 20
print random.uniform(1000, 2000)

# random integer: 100 <= number <= 1000  会包含上界值
print random.randint(1, 1000)
# random integer: even numbers in 100 <= number < 1000  不会包含上界值
print random.randrange(100, 1000, 2)

#从序列中随机取出一个值
print random.choice([1, 2, 3,4])

5.如何用Python来发送邮件?
答:

6.有两个序列a,b,大小都为n,序列元素的值任意整形数,无序;
要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。
1. 将两序列合并为一个序列,并排序,为序列Source
2. 拿出最大元素Big,次大的元素Small
3. 在余下的序列S[:-2]进行平分,得到序列max,min
4. 将Small加到max序列,将Big加大min序列,重新计算新序列和,和大的为max,小的为min。

7.Python如何定义一个函数?
答:
def method:
    print “hello word”
    print “my first program”
有没有一个工具可以帮助查找python的bug和进行静态的代码分析?
答:
有 ,如 winpy等

如何在一个function里面设置一个全局的变量? 
答:
在函数体里面定义变量时前面加“global”关键字,此时所定义的变量就为全局变量了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值