完成了前面python开发前的准备,从这节课开始我们将会为大家介绍python语言是怎么编程的。
之前的章节内容里面为大家介绍过,计算机就是一台用来计算的机器,执行人类发出的指令。但是人有人言,兽有兽语,我们需要通过计算机的语言来控制计算机。也就是编程语言。 但是同学们千万不要觉得编程语言是多么高大上的东西,其实计算机语言和人类的语言没有本质的区别,不同点就是交流的主体不同! 追本溯源,我们先来看一下,计算机语言的发展。 计算机语言发展经历了三个阶段:机器语言 机器语言是最早的语言,它是通过二进制编码来编写程序的。上节课说过二进制是计算机底层使用的进制,所以机器语言的执行效率比较高,但是缺点就是我们编写起来太麻烦。它方便了机器识别,却不方便我们人类识别。符号语言(汇编) 汇编语言比机器语言又高级了一点,它是使用符号来代替机器码。编写程序时,不需要使用二进制,而是直接编写符号,编写完成后,需要将符号转换为机器码,然后再由计算机执行。符号转换为机器码的过程称为汇编,将机器码转换为符号的过程,称为反汇编。 汇编语言一般只适用于某些硬件,在写硬件驱动的时候是非常好用的,但是对于别的地方来说它代码的兼容性就比较差,换个硬件就要重新写一套代码。高级语言 目前通用的高级语言的语法基本和现在英语语法类似,并且和硬件的关系没有那么紧密了,也就是说我们通过高级语言开发程序可以在不同的硬件系统中执行。并且高级语言学习起来也更加的容易,现在我们知道的语言基本都是高级语言,比如:C、C++、C#、Java、JavaScript、Python 。。。练习1:对比查看这些高级语言之间的区别。
由于计算机只能识别二进制编码(机器码),所以任何的语言在交由计算机执行时必须要先转换为机器码,也就是像 print('hello') 必须要转换为类似 1010101 这样的机器码计算机才可以识别并执行出结果。 根据转换时机的不同,语言分成了两大类:1.编译型语言 编译型语言,会在代码执行前将代码编译为机器码,然后将机器码交由计算机执行,最典型的就是C语言。
a(源码) --编译--> b(编译后的机器码)
特点:
执行速度特别快跨平台性比较差2.解释型语言 解释型语言,不会在执行前对代码进行编译,而是在执行的同时一边执行一边编译,比如:Python JS Java都是解释性语言。
a(源码)--解释器--> 解释执行
特点:
执行速度比较慢跨平台性比较好如果现在理解不了这两种语言的区别,先不用着急,暂时有一个概念即可,随着后续深入的学习,将会对这些知识点有一个更加深刻的体会。
首先明白Python是一种解释型语言,它也是一边编译一边执行的。 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以视之为一种改良(加入一些其他编程语言的优点,如面向对象)的LISP。作为一种解释型语言,Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比于C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。 Python流传着一句名言:Life is short you need Python (人生苦短,我用Python),很形象的表达了这个特点。 Python的用途:
WEB应用:比如:Facebook、豆瓣等爬虫程序科学计算自动化运维大数据(数据清洗)云计算桌面软件/游戏人工智能...开发环境搭建就是安装Python的解释器。 首先来了解一下Python的解释器分类:CPython(官方):用c语言编写的Python解释器,也是我们要用的。PyPy:用Python语言编写的Python解释器IronPython:用.net编写的Python解释器Jython:用Java编写的Python解释器 我们讲课用到就是CPython,先来进行软件的安装。 安装步骤: 1.下载安装包 python-3.6.5.exe
3.x2.x官网有两个版本,目前常用的是2的版本,但是根据以后的发展趋势来看的话,3将会逐渐取代2,所以咱们还是来以3为基础进行授课。 在浏览器地址栏搜索python.org 进入找到版本,点击下载。 目前版本是3.8.0,如果要下载老师的版本,在所有发行版本里面找。 往下翻,找到该版本的可执行安装程序。点击下载即可。 2.安装(傻瓜式安装) 双击下载的安装包,选择自定义安装 直接点击Next; 勾选:
3.打开命令行窗口,输入python 出现如下内容 Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 16:07:46) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information.
当我们通过命令行来输入Python,所进入到的界面就是Python的交互界面结构: 版本和版权声明: Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 16:07:46) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. 命令提示符: 在命令提示符后可以直接输入Python的指令!输入完的指令将会被Python的解释器立即执行! 安装Python的同时,会自动安装一个Python的开发工具IDLE,通过IDLE也可以进入到交互模式 但是不同的是,在IDLE中可以通过TAB键来查看语句的提示。 IDLE实际上就是一个交互界面,但是他可以有一些简单的提示,并且可以将代码保存 交互模式只能你输入一行代码,它就是执行一行,所以他并不适用于我们日常的开发! 仅可以用来做一些日常的简单的测试! 我们一般会将Python代码编写到一个py文件中,然后通过python指令来执行文件中的代码练习: 自己尝试创建一个py文件,并向文件中写入python打印语句(print...) 然后执行该文件。 如果你的系统的扩展名无法修改,请尝试自行百度!
1.在Sublime中执行Python代码,ctrl + b 自动在Sublime内置的控制台中执行 这种执行方式,在某些版本的Sublime中对中文支持不好,并且不能使用input()函数 2.使用SublimeREPL来运行python代码 安装完成,设置快捷键,希望按f5则自动执行当前的Python代码 { "keys": ["f5"], "caption": "SublimeREPL:Python","command": "run_existing_window_command", "args":{"id": "repl_python_run","file": "config/Python/Main.sublime-menu"}},
1.表达式 表达式就是一个类似于数学公式的东西 比如:10 + 5 8 - 4 表达式一般仅仅用了计算一些结果,不会对程序产生实质性的影响 如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出 2.语句 在程序中语句一般需要完成某种功能,比如打印信息、获取信息、为变量赋值。。。 比如:
print() input() a = 10语句的执行一般会对程序产生一定的影响 在交互模式中不一定会输出语句的执行结果 3.程序(program) 程序就是由一条一条的语句和一条一条的表达式构成的。 4.函数(function) 函数就是一种语句,函数专门用来完成特定的功能 函数长的形如:xxx() 函数的分类: 内置函数
由Python解释器提供的函数,可以在Python中直接使用自定义函数
由程序员自主的创建的函数当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数 函数的两个要素: 参数
()中的内容就是函数的参数函数中可以没有参数,也可以有多个参数,多个参数之间使用,隔开返回值
返回值是函数的返回结果,不是所有的函数都有返回值1.在Python中严格区分大小写 2.Python中的每一行就是一条语句,每条语句以换行结束 3.Python中每一行语句不要过长(规范中建议每行不要超过80个字符) "rulers":[80], 4.一条语句可以分多行编写,多行编写时语句后边以结尾 5.Python是缩进严格的语言,所以在Python中不要随便写缩进 6.在Python中使用#来表示注释,#后的内容都属于注释,注释的内容将会被解释器所忽略 我们可以通过注释来对程序进行解释说明,一定要养成良好的编写注释的习惯 注释要求简单明了,一般习惯上#后边会跟着一个空格
字面量就是一个一个的值,比如:1,2,3,4,5,6,‘HELLO’ 字面量所表示的意思就是它的字面的值,在程序中可以直接使用字面量 变量(variable)变量可以用来保存字面量,并且变量中保存的字面量是不定的 变量本身没有任何意思,它会根据不同的字面量表示不同的意思 一般我们在开发时,很少直接使用字面量,都是将字面量保存到变量中,通过变量来引用字面量
数据类型指的就是变量的值得类型,也就是可以为变量赋哪些值 数值 整型 布尔值 浮点型 复数 字符串 空值
id用来标识对象的唯一性,每一个对象都有唯一的id 对象的id就相当于人的身份证号一样 可以通过id()函数来查看对象的id id是由解析器生成的,在CPython中,id就是对象的内存地址 对象一旦创建,则它的id永远不能再改变
type(类型)类型用来标识当前对象所属的类型 比如:int str float bool 。。。 类型决定了对象有哪些功能 通过type()函数来查看对象的类型 Python是一门强类型的语言,对象一旦创建类型便不能修改
value(值)值就是对象中存储的具体的数据 对于有些对象值是可以改变的 对象分成两大类,可变对象 不可变对象 可变对象的值可以改变
不可变对象的值不能改变,之前学习的对象都是不可变对象
参考 图2练习:尝试自己画一下对象的内存结构。
2.赋值运算符 3.比较运算符(关系运算符) 4.逻辑运算符 5.条件运算符(三元运算符)