Python基础篇
1、为什么学习Python
我在家里这个IT圈子,想接触这个圈子,然后给我Python方面的建议,然后通过百度和学过Python的同学了解了Python。 Python 语言上手比较简单。简单易学,生态系统比较强大,涉及的地方很多,尤其是人工智能和数据分析。未来我觉得会往自动化和人工智能方向发展,所以我学了Python。
2、通过什么途径学习Python
刚接触Python的时候,是跟着网上的视频学习基础的,后来看了网上的技术贴,然后又看到有人推荐廖雪峰的Python教程。
练项目到GitHub上面找一些小项目学习。
3、谈谈对Python和其他语言的区别
Python 是一种解释型语言。程序运行时,逐行解释并执行,调试代码非常方便,开发效率高。
而龟叔对Python的定位是让它自由、优雅、清晰、简单地开发,所以在各个领域都有成就,所以它有一个非常强大的第三方库。
特点:
语法简洁美观,功能强大。标准库和第三方库都非常强大,应用领域也非常广泛。
可移植性,可扩展性,可嵌入性
缺点:运行速度慢
- 解释型
- python/php
- 编译型
- c/java/c#
- Python弱类型
(1)与java相比:Python在很多方面都比Java简单。比如java中的所有变量都必须声明后才能使用,而Python不需要声明,用少量代码构建了很多函数; (高效的高级数据结构)
(2)与php相比:python标准包直接提供工具,比php代码更易维护;
(3)Python与c相比:
Python 和 C Python这门语言是由C开发而来。
对于使用:Python的类库齐全并且使用简洁,如果要实现同样的功能,Python 10行代码可以解决,C可能就需要100行甚至更多。
对于速度:Python的运行速度相较与C,绝逼是慢了。
Python的优势:
1、Python 易于学习;
2、用少量代码构建大量功能; (高效的高级数据结构)
3、Python 拥有最成熟的程序包资源库之一;
4、Python完全支持面向对象;
5、Python是跨平台且开源的;
6、动态类型。
4、简述解释型和编译型编程语言
解释型:就是边解释边执行(Python,php)
编译型:编译后再执行(c、java、c#)
5、Python的解释器种类以及相关特点?
CPython
当我们从 Python 官网下载安装 Python 3.6 时,我们直接获得了官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行运行 python 会启动 CPython 解释器。
CPython 是使用最广泛的 Python 解释器。本教程的所有代码也在 CPython 下执行。
IPython
IPython是基于CPython的交互式解释器,也就是说IPython只是在交互模式下进行了增强,但是执行Python代码的功能和CPython完全一样。比如国内很多浏览器虽然外观不同,但内核实际上调用的是IE。
CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
PyPy
PyPy 是另一个 Python 解释器,其目标是执行速度。 PyPy 使用 JIT 技术动态编译 Python 代码(注意不是解释),因此可以显着提高 Python 代码的执行速度。
大多数 Python 代码都可以在 PyPy 下运行,但是 PyPy 和 CPython 之间存在一些差异,这导致相同的 Python 代码在两个解释器下执行可能会有不同的结果。如果你的代码要在 PyPy 下执行,你需要了解 PyPy 和 CPython 之间的区别。
Jython
Jython是运行在Java平台上的Python解释器,可以直接将Python代码编译成Java字节码执行。
IronPython
IronPython 与 Jython 类似,不同之处在于 IronPython 是运行在微软 .Net 平台上的 Python 解释器,可以直接将 Python 代码编译成 .Net 字节码。
小结:
Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独
PyPy
用 Python 编写的解释器,速度最快。 PyPy 使用 JIT 技术动态编译 Python 代码(注意不是解释),
大多数 Python 代码都可以在 PyPy 下运行,但是 PyPy 和 CPython 之间存在一些差异,这导致相同的 Python 代码在两个解释器下执行可能会有不同的结果。
Jython
Jython是运行在Java平台上的Python解释器,可以直接将Python代码编译成Java字节码执行。
IronPython
IronPython 与 Jython 类似,只是 IronPython 是运行在 .Net 平台上的 Python 解释器,可以直接将 Python 代码编译成 .Net 字节码。
小结:
Python 有很多解释器,但 CPython 是使用最广泛的。如果要与Java或.Net平台交互,最好的方式不是使用Jython或IronPython,而是通过网络调用进行交互,保证程序之间的独立性。
6、位和字节的关系
1字节 = 8 位
位(bit),数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名“比特”)为单位,
一个位就代表一个0或1(即一个二进制),二进制是构成存储器的最小单位,每8个位(bit,简写为b)组成一个字节(Byte,
简写为B),字节是最小一级的信息单位
7、b、B、KB、MB、GB的关系
b --->位(bit)
B --->字节 一个字节等于8位
1B = 8 bit
1kb = 1024 B
1 MB = 1024 KB
1 GB = 1024 MB
8、PE8规范
1、使用4个空格而不是tab键进行缩进。
2、每行长度不能超过79
3、使用空行来间隔函数和类,以及函数内部的大块代码
4、必要时候,在每一行下写注释
5、使用文档注释,写出函数注释
6、在操作符和逗号之后使用空格,但是不要在括号内部使用
7、命名类和函数的时候使用一致的方式,比如使用CamelCase来命名类,使用lower_case_with_underscores来命名函数和方法
8、在类中总是使用self来作为默认
9、尽量不要使用魔法方法
10、默认使用UTF-8,甚至ASCII作为编码方式
11、换行可以使用反斜杠,最好使用圆括号。
12、不要在一句import中多个库,
13、空格的使用
9、通过代码实现如下转换(进制之间转换)
# 二进制转换成十进制-->int
v = "0b1111011"
b = int(v,2)
print(b) # 123
# 十进制转换成二进制--->bin
v2 = 18
print(bin(int(v2)))
# 0b10010
# 八进制转换成十进制
v3 = "011"
print(int(v3))
# 11
# 十进制转换成八进制:---> oct
v4 = 30
print(oct(int(v4)))
# 0o36
# 十六进制转换成十进制:
v5 = "0x12"
print(int(v5,16))
# 18
# 十进制转换成十六进制:---> hex
v6 = 87
print(hex(int(v6)))
# 0x57
10、请编写一个函数实现将IP地址转换成一个整数
请编写一个函数实现将IP地址转换成一个整数。
如 10.3.9.12 转换规则为:
10 00001010
3 00000011
9 00001001
12 00001100
再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?
def v1(addr):
# 取每个数
id = [int(x) for x in addr.split(".")]
print(id)
return sum(id[i] << [24, 16, 8, 0][i] for i in range(4))
print(v1("127.0.0.1"))
# [127, 0, 0, 1]
# 2130706433
众多
,尽在python学习网,欢迎在线学习!
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 有几种方法可以导入python包10/09
- ♥ Python语言的优缺点分析09/18
- ♥ 如何使用python调试09/02
- ♥ 如何在python中将时间转换为时间戳09/10
- ♥ python线程安全介绍及解决方案11/30
- ♥ python3.6的pip在哪里12/15
内容反馈