这里写目录标题
面试谈吐
1、话术:
如果碰到不是很清楚的,或者不会的面试题目时,可以适当的进行话术解决:例如:
实在不好意思,这个问题我之前没碰到过,不过我试着结合自己的经验试着回答一下这个问题,如果回答的不准确的话,请多多指教
这样会给人友好,比你直接说不会,要好得多。
2、深刻的第一印象
3、语言亲和力
4、语言表达能力
技术栈
高级python
下面展示一些 内联代码片
。
import copy
from time import time
a=b=c=0
a,b,c=1,2,3
a,b=1,2
a,b=a+b,b
a+=1
a-=1
a*=2
a/=2
a**=2
list_test=[1,2,3,4,5]
list_len=len(list_test)
num3=list_test[2]
num5=list_test[-1]
print('无间隔取字列表'+str(list_test[0:]))
print('有间隔'+str(list_test[0:5:2]))
print('取出最后两个'+str(list_test[-2:]))
print('倒叙'+str(list_test[-1::-1]))
list_test[0:2]=[9,8]
print('替换前两个值'+str(list_test))
list_test[:0]=[0,0]
print('在列表开头插两个数据',str(list_test))
str_test="I am a chinese"
str_test1="ff#sfdf#dfdf#"
str_test2=" go go go yes ! "
print(str_test.split())
print(str_test1.split('#'))
print(str_test2.strip())
print(str_test2.strip(' ! '))
list_test3=['1','wew','643']
print('join连接','-'.join(list_test3))
print('大小转换',str_test.upper())
print(str_test.lower())
#推导式练习
list_test=[i for i in range(5)]
print(list_test)
# list_test=(i for i in range(4) for j in range(i*4))
# print(list_test)
# enumerate 函数
# 基本介绍:enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
# enumerate(sequence, start=0)
# sequence -- 一个序列、迭代器或其他支持迭代对象。
# start -- 下标起始位置,默认为0。
for i in enumerate(list_test):
print(i)
for i,num in enumerate(list_test):
print(str(i)+":"+str(num))
str="121313"
print("dshs{0}".format(str))
dict_test={"name":"sdsd","age":11}
print("{name}的 age 是{age}".format(**dict_test))
##文件操作
# open(name, mode, buffering)
# nam为必填参数,其他选填
# with open(r'I:/dsds.txt') as f:
# content=f.read()
# print (content)
# with open(r'I:/1.txt',mode='r+') as f:
# # r+ w+ wb+
# content=f.read()
# print(content)
#全局变量
g_test=10
def sum():
global g_test #表明下方使用的变量是全局变量
g_test=4# 改变了全局变量的值
print(g_test-1)
sum()
print(g_test)
dict_test={"name":"dsd","age":"11"}
for k,v in dict_test.items():
print(k+":"+v)
for k in dict_test.keys():
print(k)
for v in dict_test.values():
print(v)
set_a={1,2,3,4}
set_b={3,4,5,6}
print('交集',set_a & set_b)
print('并集',set_a|set_b)
print('差集',set_b-set_a)
# startswith 函数
# startswith函数用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。
# 参数介绍
# startswith(str, beg,end)
str_test='test wew'
print(str_test.startswith(str_test))
# 在Python中,一边循环一边计算的机制,称为生成器(Generator)。
# 也可以这样理解,生成器就是一个可以自动迭代的对象,类似于for循环,又比for循环灵活。
def my_decorator(f):
def wrapper():
print("sdsd")
f()
print("2323")
return wrapper
def hello():
print(1)
new_hello = my_decorator(hello)
new_hello()
@my_decorator
def hello():
print("Hi,简说Python!")
hello()
def diagnostics(f):
def wrapper(*args, **kwargs):
""" 这个包装函数带参数,
*args处理多个参数,
**kwargs可以处理具名参数 """
print("Executed", f.__name__, "at", time())
value = f(*args, **kwargs)
print("Exited", f.__name__, "at", time())
print("Arguments:",args)
print("Value returned:", value, "\n")
return value
return wrapper
@diagnostics
def print_nums():
""" 不带参数,没有返回值 """
for i in range(4):
print(i, end="\t")
@diagnostics
def add_nums(a, b):
""" 带参数,有返回值 """
return a+b
# 调用经过装饰器装饰过的函数
print_nums()
print("-"*50)
add_nums(2, 3)
print("-"*50)
# sort和sorted方法的区别
# 1. 使用方法的区别
# 2.sort会改变列表本身,sorted不会改变列表本身
dict=[
('john',"A",10),
('john1',"A",15),
('john2',"A",11)
]
newlisr=sorted(dict,key=lambda a: a[2])
print(newlisr)
# return [myear for myear in range(startyear,endyear) if myear%4==0 and myear%400!=0]
# 一维的list去重可以用set(list),但是二维的list转set就会报错 unhashable type: ‘list’
# 原因是set传进来的是不可哈希的变量
plist=[1,2,2,2,3,4]
set(plist)
plist=[[1,1,2,3],[1,1,2,3],[2,3,4,4]]
# set(plist) #报错
# list 不使用 hash 进行元素的索引,自然它对存储的元素有可哈希的要求;而 set 使用 hash 值进行索引
# Python中那么哪些是可哈希元素?哪些是不可哈希元素?
# 可哈希的元素有:int、float、str、tuple
# 不可哈希的元素有:list、set、dict (这三个是可变的)
dic = set([tuple(t) for t in plist])
print(dic)
plist=[(1,1,2),(1,1,2)]
print(set(plist))
# 在集合中,创建空集合(set)必须使用函数set()。
a=set()
a.add(9)
a.add(10)
# 报错,因为此时默认生成的是字典类型,字典类型不存在add方法
# a={}
# a.add(9)
# a.pop()#随机产生一个数据 pop()方法用于从set中随机取一个元素。记住,是随机的~
# b = a.clear()
a.remove(9)
# 2、字典的key必须是可哈希的;
a=1
c=copy.copy(a)
a=3
if a==c:
print("zhi")
if id(a)==id(c):
print("dizhi")
#浅拷贝的是共用地址
d=copy.deepcopy(a)
a=2
if a==d:
print("zhi")
if id(a)==id(d):
print("dizhi")
print(a)
print(d)
# 需要先将字符串转换成浮点型,才能转换成整型。
a="1.03"
# print(int(a))
# d=float(a)
# print(d)
def function(a,*args,**kwargs):
print(type(a))
print(type(args))
print(type(kwargs))
print(a)
print(args)
print(kwargs)
function(1,[1,2,3],{"q":1})
function(1,2,3,4,c=1,d=2,e=8)
function(1,(1,2,3),{"q":1})