0.python是什么东西,简单介绍一下
Python是一种解释型语言,类似于JS,c++,Rudy
Python的应用面非常广,电子智能,建模,网络编程,爬虫等等都能用的的上,是“胶水性语言”
Python书写方式非常的自由,没有java的条条框框。或者说他好似一种动态性语言,声明变量时,即便没有说明变量的类型也可以继续书写和使用。
Python非常适合面向对象编程,通过组合和集成来定义类,不过他没有访问说明符。
1.python 常用数据结构有哪些?请简要介绍一下。
共有四个,分别是列表,元组,字典,集合
列表[],简单的数据,无序,可以通过索引来检查使用,可修改
元组(),将数据当做整体来使用,通过索引来使用,不可修改
字典{},通过key值来查找使用,不可修改
集合([]),数据的集合,通过set([])去重
2.简要描述 Python 中单引号、双引号、三引号的区别。
简单来说区别不大,单引号中可以用双引号,双引号中也可以用单引号,不用转义,他们的字符串都必须书写在同一行,而三引号一般在书写多行字符串的时候使用。
3.如何在一个 function 里面设置一个全局的变量?
def function(a):
return a=123
print(function(a))
4.Python 里面如何拷贝一个对象?(赋值、浅拷贝、深拷贝的区别)
赋值只是简单的对象引用
浅拷贝copy模块内的copy函数,是生成新对象,并不包含原对象内的所有内容,仅仅只是其内部第一层对象的内容。其工作模式大体是:切片操作,工厂函数,copy模块内的copy函数。
深拷贝和浅拷贝对应,拷贝乐园对象内的所有元素,甚至包括多层嵌套元素。
5.如果 custname 字符串的内容为 utf-8 的字符,如何将 custname 的内容转为 gb18030 的字符串?
Custname.encode(‘gb18030’)
6.请写出一段 Python 代码实现删除一个 list 里面的重复元素。
List=[1,2,3,4,3]
b=set(list)
Ptint(b)
7.这两个参数是什么意思:args,*kwargs?
Args是多个无名参数,他是一个参数元祖。Kwargs是指关键字参数,他是参数字典。如果一起使用的话,args必须放在kwargs之前。
8.统计如下 list 单词及其出现次数。
a=['apple', 'banana', 'apple', 'tomato', 'orange', 'apple', 'banana', 'watermeton']
dict={}
For key in a:
dict[key]=dict.get[key,0]+1
print(dict)
9.给列表中的字典排序:假设有如下 list 对象
alist=[{"name":"a", "age":20}, {"name":"b", "age":30}, {"name":"c", "age":25}]
10.将 alist 中的元素按照 age 从大到小排序。
Age=[]
Age.sort(resever=true)
Print(age)
11.写出下列代码的运行结果
a = 1
def fun(a):
a = 2
fun(a)
print(a)
答案:1
a = []
def fun(a):
a.append(1)
fun(a)
print(a)
答案a=[1]
class Person:
name = 'Lily'
p1 = Person()
p2 = Person()
p1.name = 'Bob'
print(p1.name)
print(p2.name)
print(Person.name)
答案Bob
Lily
Lily
12.假设有如下两个 list:a = ['a', 'b', 'c', 'd', 'e'],b = [1, 2, 3, 4, 5],将 a 中的元素作为 key,b 中元素作为 value,将 a,b 合并为字典。
a = ['a', 'b', 'c', 'd', 'e']
b = [1, 2, 3, 4, 5]
C=dict(zip(a,b))
Print(c)
13.使用 python 已有的数据结构,简单的实现一个栈结构。
面试官提的问题
项目上遇到了哪些难点?如何解决?
数据如何去重,清洗,存入数据库?
有一个升序后又降序的数组,比如 1356742,如何查找到 2 的位置。
如何查找到二叉树两个节点的最低公共祖节点?
mysql 的序列都有哪些?
遇到哪些反爬机制?如何解决?