廖雪峰python笔记
是自己根据廖雪峰的python教程做的一点笔记
1 python简介
1 python简介
1.1 python是解释性语言
Python是解释性语言
编译型语言:有的编程语言要求必须提前将源代码一次性转化成二进制指令,也就是生成一个可执行的程序(Windows下的.exe),比如C语言、C++、Golang、Pascal(Delphi)、汇编等。这种编程语言称为编译型语言,使用的转换工具称为编译器。
解释型语言:有的编程语言可以一边执行一边转换,需要哪些源代码就转换哪些源代码,不会生成可执行程序,比如Python、JavaScript、PHP、Shell、MATLAB等。这种编程语言称为解释型语言,使用的转换工具称为解释器。
1.2 Python适合开发哪些类型的应用
首选是网络应用,包括网站、后台服务等等;
其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等;
另外就是把其他语言开发的程序再包装起来,方便使用。
1.3 Python缺点
1.运行速度慢,和C程序相比非常慢。
Python是解释型语言,代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。
2.代码不能加密。
如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。
1.4 Python解释器
编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。
当我们从Python官方网站下载并安装好Python 3.x后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
Python的解释器很多,但使用最广泛的还是CPython。
如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。
1.5 文本编辑器
推荐微软出品的Visual Studio Code,不是那个大块头的Visual Studio,是一个精简版的迷你Visual Studio,它可以跨!平!台!
注意,不要用Word和Windows自带的记事本。Word保存的不是纯文本文件,而记事本会自作聪明地在文件开始的地方加上几个特殊字符(UTF-8 BOM),结果会导致程序运行出现莫名其妙的错误。
用文本编辑器写Python程序,然后保存为后缀为**.py**的文件,就可以用Python直接运行这个程序了。
Python的交互模式和直接运行.py文件有什么区别呢?
直接输入python进入交互模式,相当于启动了Python解释器,但是等待你一行一行地输入源代码,每输入一行就执行一行。
直接运行.py文件相当于启动了Python解释器,然后一次性把.py文件的源代码给执行了,你是没有机会以交互的方式输入源代码的。
1.6 print & input
print()
用法。
// 逗号输出空格
//在python里没有,只是要注意单双引号不能交叉嵌套。
//比如:
//"Jack,'how" are you' 是错误的
//"Jack,'how' are you" 这样按顺序匹配才是正确的
>>>print('The quick brown fox', 'jumps over', 'the lazy dog')
The quick brown fox jumps over the lazy dog
>>>print('100 + 200 =', 100 + 200)
100 + 200 = 300
input()
用法。
//输入name = input()并按下回车后,Python交互式命令行在等待你的输入
//这时,你可以输入任意字符,然后按回车后完成输入。
>>> name = input()
Michael
//在计算机程序中,变量不仅可以为整数或浮点数,还可以是字符串,
//因此,name作为一个变量就是一个字符串。
//input()中输入字符串可以直接打印出来,作为用户提示
>>>name = input('please enter your name: ')
print('hello,', name)
please enter your name: Michael
hello, Michael
Tips
Python开发程序,可以一边在文本编辑器里写代码,一边开一个交互式命令窗口,在写代码的过程中,把部分代码粘到命令行去验证,事半功倍!