一、编程的概念
1、为什么要编程?
答:解放人力,这就是需要人通过编写程序的方式让计算机代替人去自动工作
2、什么是编程语言?
答:人与计算机之间沟通的介质
编程语言的分类:
答:机器语言——汇编语言——高级语言
学习复杂度从难到易
执行效率从高到低
开发效率从低到高 (现在的软件都是基于互联网开发的,整体速度都受限于网速)
3、高级语言开发的程序最终必须转成二进制才能执行,转换的过程分成编译型和解释型两种:
编译型:在程序执行前就一次性将源程序编译成二进制,然后拿着编译的结果去运行。比解释型运行速度快
解释型:执行时,解释一行,转换成二进制去执行。
4、Python语言和Python解释器的区别
答:语言就是编程的一种语法格式
python解释器就是一个软件。主要用Cpython
5、python的文件头
#!/user/bin/env python
#_*_ coding:utf-8 _*_
6、python文件可以有任意后缀名,最好是写成.py格式的后缀名。
7、python的注释
# 单行注释
‘’‘ 多行注释 '''
8、python的变量
用来记录程序运行的状态,python的变量没有储值的功能。它只是定义了一个名字等于一个值。
定义变量:变量名 = 变量值
变量的命名规范:例如:my_name = "xiaobai"
9、python的语法
例:
a = 1
print(a)
运行这个程序的命令:python 路径 程序文件名
程序运行的流程:
先把程序里的代码写到内存里,python解释器开始按照从上至下的顺序一行一行地解释自己的语法,遇到a = 1变量时,python解释器会去申请内存空间把值“1”装进去,然后给它绑定一个名字“a”,这个变量就被建立出来了
接着解释print(a)这行,打印a,这个“a”就是之前引用创建好的内存地址,就取到“1”这个值了。
10、内存管理与引用计数
引用计数:内存里面的值绑定了多少个名字,这就是引用计数。引用计数为0时,也就是说当一个值没有任何绑定关系时,这个值则会被python内存回收机制定期释放掉。
引用记数的增加:
例:
x = 1
y = x
表示"1"这个值被赋予变量2次,此时引用计数则加2.
二、python解释器的安装与多版本共存
1、python解释器的种类:
Cpython(最常用的版本)
Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
Jyhton
Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
IronPython
Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
PyPy(特殊)
Python实现的Python,将Python的字节码字节码再编译成机器码。
RubyPython、Brython ...
2、Python的多版本共存与环境配置:
(1)Windows下安装python
去官网https://www.python.org/下载,照着提示安装python2和python3两个版本。安装完成后,把python2版本配置一下环境变量:
先打开python2版本的安装路径,找到python.exe文件,将其命名为python2.exe
然后添加环境变量:此电脑——属性——高级系统设置——环境变量——系统变量——Path——编辑
最后检测是否配置成功,打开终端输入python2和python,然后看显示的结果
(2)Linux下Python版本更新与多版本共存
首先将linux下的python版本更新至最新版:
Linux的yum依赖自带的python,为了防止错误,此处更新其实就是再安装一个python,具体步骤如下:
查看版本命令:python -V (大写v)
步骤1:安装gcc,用于编译python源码:yum install gcc
步骤2:下载并解压源码包:https://www.python.org/ftp/python/
安装python2.7.9源码包
cd /opt
wget --no--check--certificate https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz
tar xf Python-2.7.9.tar.xz
cd Python-2.7.9
步骤3:编译安装python2.7.9
./configure
make all
make install
/usr/bin/python2.7 -V
步骤4:修改默认python版本
mv /usr/bin/python /usr/bin/python2.6
ln -s /usr/local/bin/python2.7 /usr/bin/python
python -V
步骤5:防止yum执行出现异常,修改yum使用python版本
vim /usr/bin/yum
然后将头文件改为#!/usr/bin/python 改为#!/usr/bin/python2.6
更新完python后,接下来是linux下python多版本共存
步骤6:下载python3版本并解压编译
去官网下载压缩包:https://www.python.org/downloads/release/python-361/
cd /opt
tar xf Python-3.6.1.tgz
cd Python-3.6.1
./configure
make all
make install
如果以上编译时报错为:zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] Error 1
则需要安装zlib相关依赖包再进行编译安装
安装zlib相关包
yum -y install zlib*
编译安装
./configure
make && make install
三、第一个Python 程序
执行python代码的2种方式:
1、解释器:即时调试代码,代码无法永久保存
2、文件:永久保存代码
交互器执行:在python交互器下输出,python交互器主要用来对代码进行调试。
文件执行:python 代码名.py
四、变量与内存管理
1、什么是变量?为何要有变量?
答:在程序中,变量是计量某种状态的,变量是反映变化的过程,在变化的过程中记录某种状态。
例如:
name = "xiaobai"
以上的name就是变量名(标识符),=就是赋值符号,"xiaobai"是变量的值。
2、标识符命名的规范
(1)变量名不能太长且要有意义,不能是中文或拼音。
(2)变量名只能是字母、数字、下划线的任意组合。
(3)变量名的首字母不能是数字
(4)关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
3、定义变量的方式
驼峰体:
例:XiaoBaiAge = 18
下划线体:
例:xiaobai_age = 18
4、变量的赋值与修改
示例:
name1 = xiaobai
name2 = xiaoxiaobai
# 以上例子说明了在内存中开辟了两块内存空间,分别存放“xiaobai”和“xiaoxiaobai”两个值
接下来将name2 = name1,此时的xiaoxiaobai这个值将被python的内存回收机制回收了
示例2:
name1 = xiaobai
name2 = xiaoxiaobai
name2 = name1
# 将name2的值指向name1的值,此时"xiaoxiaobai"这个值被python的内存回收机制给回收了
五、python的输入与输出命令
1、输入命令
(1)在python3中的输入命令是input
(2)在python2中的输入命令是raw_input
2、输出命令
(1)在python3中输出命令是print(),在python2中输出命令是print
(2)getpass 非明文方式输出(python2和python3都一样,只是目前在Pycharm下使用该命令无效)
若要使用getpass命令,则需要导入getpass模块
(3)占位符
%s
打印的是字符串,也是最常用的一种占位符
例:打印用户输入的内容
user = input("请输入内容:")
print(“这是用户输入的内容:%s”%user)
六、python的数据类型及运算符的简单介绍
以后的实验皆由python3来完成,所以重点介绍python3的功能与特点
1、python3的数据类型种类
查看python的数据类型命令:type()
例:
a = 123
print(type(a))
(1)字符串
(2)整型
(3)浮点型
(4)布尔值
(5)列表
(6)元组
(7)字典
(8)集合
2、python3的运算符
python3运算符按种类分可以分为:
算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算。
例:
假设变量a = 10 , b = 20
(1)算数运算符:+ - * / % ** //
(2)比较运算符:== != <> > < >= <=
(3)赋值运算符:= += -= *= /= %= **= //=
(4)逻辑运算符:and or not