- 不同点:列表可以增删改操作,是可变序列。 元组不可以增删改操作,是不可变序列
4、Python 中 == 和 is 的区别是什么?
is 比较的是 id 是不是一样,== 比较的是值是不是一样。
每个对象包含 3 个属性:id,type,value
id 就是对象地址,可以通过内置函数 id() 查看对象引用的地址。
type 就是对象类型,可以通过内置函数 type() 查看对象的类型。
value 就是对象的值。
is 为 true 则一定有 == 为 true,,反过来 == 为 true 却不一定有 is 为 true
大多数情况下当用 is 和 == 的结果是一样时,用 is 的效率是会高于 == 的效率。
5、列举 Python2 和 Python3 的区别?
- Python3 对 Unicode 字符的原生支持。
Python2 中使用 ASCII 码作为默认编码方式导致 string 有两种类型 str 和 unicode,Python3 只
支持 unicode 的 string。Python2 和 Python3 字节和字符对应关系为: - Python3 采用的是绝对路径的方式进行 import
Python2 中相对路径的 import 会导致标准库导入变得困难(想象一下,同一目录下有 file.py,如
何同时导入这个文件和标准库 file)。Python3 中这一点将被修改,如果还需要导入同一目录的文件必
须使用绝对路径,否则只能使用相关导入的方式来进行导入。 - Python2 中存在老式类和新式类的区别,Python3 统一采用新式类。新式类声明要求继承 object,
必须用新式类应用多重继承。 - Python3 使用更加严格的缩进。Python2 的缩进机制中,1 个 tab 和 8 个 space 是等价的,所
以在缩进中可以同时允许 tab 和 space 在代码中共存。这种等价机制会导致部分 IDE 使用存在问题。
Python3 中 1 个 tab 只能找另外一个 tab 替代,因此 tab 和 space 共存会导致报错:TabError:
inconsistent use of tabs and spaces in indentation.
6、说一下 python 数据类型
- str
- int
- float
- bool
- list
- tuple
- set
- dict
7、列举几个字符串内置方法?
- upper
- lower
- title
- count
- capitalize
- strip
- split
- startwith
- endswith
8、Python 中字符串反转的方法有哪些?
- 使用切片的方式[::-1]
- 使用list的reverse方法。
s=list(str1)
s.reverse()
res="".join(s)
9、Python 中 @staticmethod 和 @classmethod 的区别是什么?
- 相同点:都可以通过Class.method()的方式调用
- 不同点:classmethod第一个参数是cls,可以引用类变量;staticmethod和普通函数一样,只不过是放在类里面组织的
(1)Python所有方向的学习路线(新版)
这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
最近我才对这些路线做了一下新的更新,知识体系更全面了。
(2)Python学习视频
包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。
(3)100多个练手项目
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!