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培训视频,尽在segmentfault学习网,欢送在线学习!