深信服面试

深信服面试python开发工程师,不得不说,这是最难的一次。‘小华为’果然名不虚传。还想体验一下加班到底有多严重,可是不给机会呀,可能是无缘吧!

提问: 字符串拼接,说方法,以及每个方法的优缺点

1. 直接通过(+)进行连接;

优缺点:

使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率。

2.通过str.join()方法拼接

优缺点:

这种方式一般常使用在将集合转化为字符串,“join()”其中可以是空字符,也可以是任意其他的字符,当是其他字符时,集合中字符串会被该字符隔开。

3.通过str.format()方法拼接

优缺点:

通过这种方式拼接字符串需要注意的是字符串中{}的数量要和format方法参数数量一致,否则会报错。

4.通过(%)操作符拼接

优缺点:

这种方式与str.format()使用方式基本一致。

5. 通过()多行拼接

优缺点:

python中遇到未闭合的小括号,自动将多行拼接为一行。

扫描二维码关注公众号,回复: 3323306 查看本文章
6.通过string模块中的Template对象拼接

优缺点:

Template的实现方式是首先通过Template初始化一个字符串。这些字符串中包含了一个个key。通过调用substitute或safe_subsititute,将key值与方法中传递过来的参数对应上。从而实现在指定的位置导入字符串。这种方式的好处是不需要担心参数不一致引发异常。

7.通过F_strings拼接

优缺点:

在python3.6.2版本中,PEP 498 提出一种新型字符串格式化机制,被称为“字符串插值”或者更常见的一种称呼是F-strings,F-strings提供了一种明确且方便的方式将python表达式嵌入到字符串中来进行格式化;


s1 = 'Hello'
s2 = 'World'

print (f'{s1}{s2}!')

输出结果:Hello World!

在F-strings中,我们也可以执行函数:


def power(x):
	return x*x

x = 4
print (f'{x}*{x} = {power(x)}')

输出结果:4*4 = 16

优缺点:F-strings的运行速度很快,比%-string和str.format()这两种格式化方法都快很多。

正则表达式的反向引用


m = re.match(r'(?P<user>\w+)@(?P<website>\w+)\.(?P<extension>\w+)','[email protected]')
m.groupdict()

# 输出:
# {'website': 'hackerrank', 'user': 'myname', 'extension': 'com'}

写一个函数实现字符串的左移,要求不开辟额外空间

手写的继承,要求子类和父类有相同的属性,改变子类属性的同时改变父类的属性

有一个文件,这个文件只能被同时打开一个。也就是线程的单单例模式

爬虫怎么破解对方网站上的反爬虫。比如对方网站上设有检测文件非正常读取的插件。

说说flask-sqlalchemy和pymysql的区别

python字符串常用操作

  1. python字符串常用操作------首字母大写:capitslize()

  2. python字符串常用操作------在一个字符串中计算特定字符的个数:count()

  3. python字符串常用操作------让一个字符串在一行中以特定字符填充使居中:center(num,’-’)

  4. python字符串常用操作------判断一个字符串是否以特定的字符结尾,并返回True或False:endswith()

  5. python字符串常用操作------以列表形式寻找字符串中连续特定字符在字符串中的位置,返回所找字符串在列表的首字母的下标值:find()

  6. python字符串常用操作------字符串格式化,为字符串中的变量赋值,填充字符串:format()

  7. python字符串常用操作------判断一个字符串的格式,结果返回True或False:

    全是阿拉伯数字 isalnum() 方法
    全是英文字符 isalpha() 方法
    全是十进制数 isdecimal() 方法
    全是整数 isdigit() 方法

  8. python字符串常用操作------以首字符首字母是否为大写判断字符串是否为文章标题,返回True()或False():istitle()方法

9、Python字符常用操作-----获取字符串输出流并按照特定字符拼接字符串:join() 方法

name = "my name is Echo "
print(’+’.join( [‘1’,‘2’,‘3’]) )

#输出
1+2+3

10、Python字符常用操作-----按照规定长度为字符串的左或右填充特定字符:ljust() 、rjust()

name = "my name is Echo "
print( name.ljust(50,’*’) )
print( name.rjust(50,’-’) )

#输出
my name is Echo **********************************
----------------------------------my name is Echo

11、Python字符常用操作-----将字符输出为小写---------lower()方法、大写--------- upper()方法

print( ‘Echo’.lower() )
print( ‘Echo’.upper() )

12、Python字符常用操作-----字符串常用操作——
去掉左边的空格和回车:lstrip()方法
去掉右边的空格和回车:rstrip()方法、
去掉两边的空格和回车:strip()方法

print( ‘\nEcho’.lstrip() )
print( ‘Echo\n’.rstrip() )
print(’\nEcho\n’.strip() )
#输出
Echo
Echo
Echo

13、Python字符常用操作-----替换字符串的特定字符并指定替换次数:replace() 方法

print(‘Echo Echo li’.replace(‘E’,‘e’,2))

#输出
echo echo li

14、Python字符常用操作-----以特定字符切割字符串,并以列表的形式返回:split() 方法

print(‘1+2+3+4’.split(’+’))
#输出

[‘1’, ‘2’, ‘3’, ‘4’]

15、Python字符常用操作-----以换行符切割字符串:splitlines() 方法

print(‘1+2\n+3+4’.splitlines())
#输出
[‘1+2’, ‘+3+4’]

16、Python字符常用操作-----指定字符填充字符串以达到指定的长度和形式:zfill() 方法

print(‘Echo li’.zfill(50))

#输出
0000000000000000000000000000000000000000000Echo li

猜你喜欢

转载自blog.csdn.net/qq_41891803/article/details/82787112