Python 企业面试题集锦之Python基础
△字符串、列表、元组、字典每个常用的5个方法?
字符串:
字符串用单引号(')或双引号(")括起来,不可变。
s.strip(c):去除空格或指定的字符c;lstrip/rstrip;
s.zfill(w):右对齐,宽度小于w用0前补;
s.ljust(w,c):左对齐,宽度w,填充符c;rjust()右对齐。
s.join(q):用"s"将序列"q"中的元素串起来;
s.partition(sep):以sep为分隔符,把字符串分割,返回一个元组(包含分割符);
s.split(sep=None, maxsplit=-1):把字符串以sep为分隔符分割,maxsplit为分割次数,返回一个列表(不包含分割符);
s.find(t):返回t的最左位置,未找到,返回-1;
s.index(t):返回t的最左位置,未找到,返回ValueError异常;
s.capitalize():第一个字母变大写;
s.title():每个单词首字母大写;
s.center(width, fillchar=None):字符串内容居中,在给定的字符串长度width中内容居中,两边用提供的字符fillchar填充,fillchar默认为空;
s.count(sub, start=None, end=None):在指定位置start与end之间,计算sub字符的数量;
s.endswith(suffix, start=None, end=None):判断字符串在start与end位置之间是不是以某个子序列suffix结尾,类似方法还可有startwith();
s.replace(old, new, count=None):把字符串中某个子序列old替换成一个新序列new,count是替换数,返回一个新字符串;
s.isdigit():判断是否全是数字;
s.isalpha():判断是否全是字母;
s.isalnum():判断是否包含字母或数字;
s.isspace():判断是否是空字符串;
s[start:stop:step]:切片,截取子字符串。 字典:
1:无序(不能索引) 2:数据关联性强 3:键值对,键值对。唯一一个映射数据类型。
字典的键必须是可哈希的,不可变类型。
在同一个字典中,键(key)必须是唯一的。
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取
1)clear(self):清除字典中的所有元素。
2)copy(self):复制一份元组,相当于一次浅拷贝。
3)fromkeys(self, iter, value=None):分别以iter中的元素为键,以value为值,创建一个字典。
4)get(self, k, d=None):获取字典中键为k的值,如果字典中不包含k,则给出d值,d默认为None。
5)items(self):遍历字典的一个方法,把字典中每对key和value组成一个元组,并把这些元组放在一个类似列表的dict_items中返回。
6)keys(self):遍历字典键keys的一个方法,返回一个类似列表的dict_keys,与items方法用法相同。
7) values(self):遍历字典值value的一个方法,返回一个类似列表的dict_values,与items方法用法相同。
8)pop(self, k, d=None):弹除并返回字典中键为k的值。
9)popitem(self):从字典中随机取出一组键值,返回一个新的元组。
10)setdefault(self, k, default=None):从字典中获取键为k的值,当存在k时,功能和get基本一致,当字典中不存在k时,在原字典上添加键为k、值为default的项,并返回default值。
11)update(self, E=None, **F):给字典新增元素,没有返回值。用法:dict.update(dict2)。 列表:
索引,切片,加,乘,检查成员。
1、List写在方括号之间,元素用逗号隔开。
2、和字符串一样,list可以被索引和切片。
3、List可以使用+操作符进行拼接。
4、List中的元素是可以改变的。
1)append(self, p_object):在原有列表最后位置上追加新元素到列表,不生成新的列表。
2)clear(self):清空列表里面的元素,不生成新列表。
3)copy(self):复制一份列表,相当于一次浅拷贝。
5)extend(self, iterable):把iterable中的每个元素扩展成列表的元素,iterable可以是字符串、列表、集合、元组、字典。
6)index(self, value, start=None, stop=None):查找列表中value元素索引位置,start与stop参数是查找起始与结束位置,默认为None。
7)insert(self, index, p_object):在列表index索引位置插入元素p_object,当index大于列表包含的元素个数时,在最后位置插入元素。
8)pop(self, index=None):从列表中取出index位置的值,index默认为None,此时弹除并返回列表中最后一个值。
9)remove(self, value):移除列表中第一个出现的value元素,value元素不存在列表中时,则抛出ValueError。
10)reverse(self):反转列表元素的位置。
11)sort(self, key=None, reverse=False):给列表中的元素排序,改变原列表!reverse默认False(升序)。【而sorted()函数是生成副本】。
12)[start:stop:step]:切片,从列表中取出一部分元素生成一个新列表,start与stop默认为None,step表示步长值,默认是一个接着一个切取,
如果为2,则表示进行隔一取一操作。步长值为正时表示从左向右取,如果为负,则表示从右向左取。步长值不能为0。
13)索引[index]:获取索引位置index的值。 元组:
()元组的元素不能修改。
1、与字符串一样,元组的元素不能修改。
2、元组也可以被索引和切片,方法一样。
3、注意构造包含0或1个元素的元组的特殊语法规则。
4、元组也可以使用+操作符进行拼接。
1)count(self, value):统计元组中包含value元素的数量,返回一个int值。
2)index(self, value, start=None, stop=None):索引,查找元组中value元素第一个出现的位置,start与stop参数是查找起始与结束位置,默认为None。
3)[start:stop:step]:切片操作。 Set(集合):
集合(set)是一个无序不重复元素的序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
1)add(self, *args, **kwargs):在集合里添加一个元素,不生成新的集合。
2)clear(self, *args, **kwargs):清空集合里面的元素,不生成新的集合。
3)copy(self, *args, **kwargs):浅拷贝集合,返回一个新集合。
4)difference(self, *args, **kwargs):传入一个或多个参数集合对比,返回一个与参数集合不一样元素的集合。
5)discard(self, *args, **kwargs):删除集合中的某个元素,如果这个元素没有在集合中,不做操作。
6)isdisjoint(self, *args, **kwargs):对比两个集合,若空交集则返回True,没有则返回False。
7)issubset(self, *args, **kwargs):判断集合的包含关系,是否是参数集合的子集。
8)pop(self, *args, **kwargs):从集合中随机(因集合无序)弹除并返回一个元素,如果集合为空,则报TypeError错误。
9)remove(self, *args, **kwargs):移除集合中的一个元素,这个元素必须在集合中,如果不在,则报TypeError错误。
10)union(self, *args, **kwargs):两个集合拼接返回一个新集合。
11)update(self, *args, **kwargs):更新集合,添加集合中没有的新元素,不返回新集合。
△哈希冲突回避算法回避有哪几种,分别有什么特点?
# 特点详细参考
https://www.cnblogs.com/liangxiaoji/p/11044468.html 1.开放地址法 一旦发生了冲突,就去寻找下一个空的散列地址
2.链地址法 每个哈希表节点都有一个next指针,多个哈希表节点可以用next指针构成一个单向链表,被分配到同一个索引上的多个节点可以用这个单向链表连接起来
3.公共溢出区法 将哈希表分为基本表和溢出表两部分,凡是和基本表发生冲突的元素,一律填入溢出表
4.再哈希法 又叫双哈希法,有多个不同的Hash函数,当发生冲突时,使用第二个,第三个,….,等哈希函数计算地址,直到无冲突。
1:为什么学习Python
大学是计算机相关专业,公司建议使用Python,然后自己通过百度和向有学过Python的同学了解了Python。
Python简单易学,生态圈强大(各种第三方库),应用领域众多(数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等),
在未来我觉得是往自动化,人工智能这方面发展的,所以学习了Python。
2:通过什么途径学习Python
自学(网上视频学基础,网上看技术博客,廖雪峰的Python教程),练项目到GitHub上面找一些小项目学习。
Python 企业面试题集锦之Python基础的更多相关文章
- python公司面试题集锦 python面试题大全
问题一:以下的代码的输出将是什么? 说出你的答案并解释. class Parent(object): x = 1 class Child1(Parent): pass class Child2(Par ...
- Python企业面试题(系列目录)
本系列计划把Python面试中出现频率比较高知识点整理出来,以便各位童鞋复习和练习: [第1题] Python内存管理以及垃圾回收机制 [第2题] 链表的逆置 [第3题] 两个队列创建一个栈 [第4题 ...
- python爬虫面试题集锦及答案
1.爬取数据后使用哪个数据库存储数据的,为什么? - 2.你用过的爬虫框架或者模块有哪些?优缺点? - 3.写爬虫是用多进程好?还是多线程好? - 4.常见的反爬虫和应对方法? - 5.需要登录的网页 ...
- 【python常见面试题】之python 中对list去重的多种方法
在python相关职位的面试过程中,会对列表list的去重进行考察.(注意有时会要求保证去重的顺序性) 1.直观方法 li=[1,2,3,4,5,1,2,3] new_li=[] for i in l ...
- Python自动化测试面试题-Python基础篇
目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...
- Python自动化测试面试题-接口篇
目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...
- Python自动化测试面试题-经验篇
目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...
- Python自动化测试面试题-用例设计篇
目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...
- Python自动化测试面试题-Linux篇
目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...
随机推荐
- idea使用git进行项目管理
第一部分: 安装 1. 下载地址: https://git-scm.com/download/win; 如果速度慢, 使用 迅雷下载; 2. 点击安装, 然后下一步, 直到下面这个页面: 建议: 按 ...
- 2019 网易java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.网易等公司offer,岗位是Java后端开发,因为发展原因最终选择去了网易,入职一年时间了,也成为了面试官,之 ...
- Java之路---Day03
2019-10-17-21:18:33 方法 定义格式: public static void 方法名称() { 方法体 } 完整格式: 修饰符 返回值类型 方法名称(参数类型 参数名称,... ...
- Java自学-数组 复制数组
Java 如何复制数组 数组的长度是不可变的,一旦分配好空间,是多长,就多长,不能增加也不能减少 步骤 1 : 复制数组 把一个数组的值,复制到另一个数组中 System.arraycopy(src, ...
- 【GLG Toolkit 行业案例】Baltic Information Systems, Ltd.公司选择使用GLG Toolkit
BIS (Baltic Information Systems, Ltd.)是一家专门为核电厂开发安全和过程监控系统的软件公司. BIS的新产品 BISMARC 是一个通用过程控制和监控的SCADA系 ...
- oracle中start with和connect by的用法理解
转自:https://blog.csdn.net/qq_29274091/article/details/72627350 Oracle中start with和connect by 用法理解转自:ht ...
- mysql DML select查询
windows上的操作 1.从官网下载mysql 下载navicat,用来连接mysql的 2.打开运行启动mysql 3.在navicat上的连接打开新建连接 然后输入链接名,连接名就是用户名,自己 ...
- postman 在pre-request中发送application/x-www-form-urlencoded 格式表单
postman中在pre-request 发送请求 知识点: json数据解析和遍历 application/x-www-form-urlencoded表单 Array基本使用 js函数 http请求 ...
- PDF 补丁丁 0.6.2 测试版发布
如题. 不知不觉,这个软件已经出来十个年头了. 0.6.2 版可能是 PDF 补丁丁的最后一版.它在未来将不再更新.谢谢关注.
- 2018-2019 ACM-ICPC, Asia Xuzhou Regional Contest- H. Rikka with A Long Colour Palette -思维+贪心
2018-2019 ACM-ICPC, Asia Xuzhou Regional Contest- H. Rikka with A Long Colour Palette -思维+贪心 [Proble ...