PythonStudy_day01
python学习的整体流程:
Python基础---->网络编程---->Web框架---->设计模式 + 算法---->项目实战
程序帮助我们自动在内部完成很多操作,而在完成这个操作的时候就需要编程语言执行。
编程语言是为减少人工操作复杂性而得来的抽象层(把用二进制编码这种底层操作方式经过层层封装后得到)
高级语言:开发效率高、执行效率低(相比低级语言),对硬件的可控性弱,维护性高,移植性好
低级语言:开发效率低、执行效率高(相比高级语言),对硬件的可控性高,维护性低,移植性差
为什么高级语言和低级语言的执行效率会存在区别呢?
1、因为低级语言更接近底层,也就意味着对硬件访问的能力更强,比如汇编语言可以直接访问寄存器,这种对硬件的直接操作可以将程序的运行效率最大化,而高级语言用的一些内存结构都是对硬件设备抽象层的操作,访问速度自然不及寄存器。
2、高级语言或多或少存在工作冗余,会造成效率损失
高级语言通过编译器翻译成机器语言中由于语言和机器指令的耦合度高低会产生工作冗余,耦合高,冗余低,耦合低,冗余高。
3、取决于程序员对语言的理解程度
高级语言本质上都依赖于低级语言(C语言、汇编语言),因为由高级语言解释器执行的程序生成的字节码会交给低级语言转换成机器码,最后再交给操作系统
机器码:计算机能直接识别的语言
人工操作方便了意味着机器要处理的东西更多,运算效率就会被进一步压缩,但是由于摩尔定律的规则,这种压缩显然是值得的。
新手学低级语言为什么困难?
因为低级语言往往要程序员自己做内存管理,而且要对计算机底层要非常了解,学习成本较高。而高级语言设计的时候就将抽象出来的这一层可以让人编写程序的过程更符合人类的思维习惯。
java和python的比较
java优势:可能比python执行效率高,以及没有java开启企业级应用技术的成熟
python优势:能快速搭建起一个项目,在很大程度上优化开发效率。而且虽然执行效率上可能没有那么高,但是却可以用硬件的价格成本来换取开发效率,这还是很值得的。
python版本:cpython(平常说的python)、 jpython、Ironpython
为什么会有不同的python版本?
由于python的火热,许多大公司觉得他非常有发掘的价值,所以许多公司用他们自家开发的语言又写了一个python,这样的优点在于他们写的python与他们开发的语言更容易交互,但缺点在于用他们的python运行的程序经过他们的python解释器后要先跟他们的语言交互转换最后才交给低级语言去转换机器码。(多了一层,cpython是在经过解释器后直接交给低级语言去转换机器码了)
pypy:cpython开发的python,是python的一个变种(升级),使得程序不用每次都把字节码交给c去生成机器码,可以直接将保存的机器码直接给c交给操作系统(但第一次要等待机器码生成留给python解释器)。
安装python是安装编译器
----------------------------------------
Linux系统中使用Python2要在/usr/bin/env python路径添加这条声明才支持中文编码
# -*- coding:utf8 -*-
1 #这是一段注释 2 """ 3 我们是注释 4 我们是注释 5 我们是注释 6 7 """
if 1==1: pass else: print("null...")
print(40 // 3) //13 print(2 ** 2) //2的2次方
这四种引号引起来的才算注释
name = "sewellhe" name = 'sewellhe' name = """sewellhe""" name = '''sewellhe'''
input() 程序遇到input会永久等待,直到用户输入一个值(这个值无论是什么最终返回的都是字符串类型的)

浙公网安备 33010602011771号