一、了解编程语言
1.编程语言的定义
2.编程语言种类
机器语言:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
汇编语言:汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。
高级语言:高级语言是绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令并且去掉了与具体操作有关但与完成工作无关的细节,
例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:
二、python简介
1.Python应用领域
2.Python语言与其他语言的区别
3.Python的种类
三、python环境
windows:
1
2
3
4
5
6
7
|
1 、下载安装包 https: / / www.python.org / downloads / 2 、安装 默认安装路径:C:python27 3 、配置环境变量 【右键计算机】 - - 》【属性】 - - 》【高级系统设置】 - - 》【高级】 - - 》【环境变量】 - - 》【在第二个内容框中找到 变量名为Path 的一行,双击】 - - > 【Python安装目录追加到变值值中,用 ; 分割】 如:原来的值;C:python27,切记前面有分号 |
linux:
1
2
3
|
无需安装,原装Python环境 ps:如果自带 2.6 ,请更新至 2.7 |
更新Python
windows:
1
|
卸载重装即可 |
linux:
Linux的yum依赖自带Python,为防止错误,此处更新其实就是再安装一个Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
查看默认Python版本 python - V 1 、安装gcc,用于编译Python源码 yum install gcc 2 、下载源码包,https: / / www.python.org / ftp / python / 3 、解压并进入源码文件 4 、编译安装 . / configure make all make install 5 、查看版本 / usr / local / bin / python2. 7 - V 6 、修改默认Python版本 mv / usr / bin / python / usr / bin / python2. 6 ln - s / usr / local / bin / python2. 7 / usr / bin / python 7 、防止yum执行异常,修改yum使用的Python版本 vi / usr / bin / yum 将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6 |
四、python入门
1.hello world
在D:python_test目录下新建文件hello.py,编写代码如下
1
|
print ( ‘hello world‘ ) |
执行hello.py,即python D:python_testhello.py
2.指定解释器
window平台下python D:python_testhello.py时,明确的指出 hello.py 脚本由 python 解释器来执行。
linux平台中如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py
,那么就需要在 hello.py 文件的头部指定解释器,如下:
1
2
3
|
#!/usr/bin/env python print ( ‘hello world‘ ) |
3.字符编码
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代
英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字
符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536
注:此处说的的是最少2个字节,可能更多
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符
用2个字节保存,东亚的字符用3个字节保存...
所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码
在python3中默认utf-8,,可以编码中文
在python2中默认ascill,ascii码无法表示中文
如果是如下代码的话:
1
2
3
4
|
#!/usr/bin/env python print "你好,世界" - - - >报错:ascii码无法表示中文 |
改正:应该显示的告诉python解释器,用什么编码来执行源代码
1
2
3
4
|
#!/usr/bin/env python # -*- coding: utf-8 -*- print "你好,世界" |
4.注释
单行注视:# 被注释内容
多行注释:""" 被注释内容 """
注释快捷键:选中被注释的内容,ctrl+?注释选中的内容,再次ctrl+?取消注释
5 执行脚本传入参数
Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:
(1)Python内部提供的模块;(2)业内开源的模块;(3)程序员自己开发的模块
Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数
1
2
3
4
5
6
|
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys print sys.argv |
执行
1
2
|
C:UsersAdministrator>python D:python_testhello.py arg1 arg2 arg3 [ ‘D:\\python_test\\hello.py‘ , ‘arg1‘ , ‘arg2‘ , ‘arg3‘ ] |
6.pyc文件
执行Python代码时,如果导入了其他的 .py 文件,那么,执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。
代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。
7.变量
声明变量
1
2
3
|
#!/usr/bin/env python name = ‘egon‘ |
变量定义的规则:
变量名只能是 字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
关键字不能声明为变量名
变量的赋值
1
2
3
4
|
#!/usr/bin/env python name1 = ‘lhf‘ name2 = ‘egon‘ |
变量指向被赋值的内容
1
2
3
4
|
#!/usr/bin/env python name1 = ‘lhf‘ name2 = name1 |
变量的存在意义:程序执行的本质在于处理一系列状态的变化,变量就用来保存某一种状态,比如level=1,age=10,name=‘egon‘,变量的值的修改(即变量的赋值)就是一种状态的变化,不同的数据类型用来表示不同的状态,比如数字类型用来表示人的年纪,等级,身份证等等
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#!/usr/bin/env python #一个游戏人物的等级由1级升到2级 level = 1 level = 2 #一个游戏帐号的密码由‘123‘改成‘456‘ passwd = ‘123‘ passwd = ‘456‘ #一个人的名字有‘xyp‘改成‘xuyaping‘ name = ‘xyp‘ name = ‘xuyaping‘ |
8.输入
1
2
3
4
|
#!/usr/bin/env python name = input ( ‘请输入用户名:‘ ) print (name) |
执行
1
2
3
|
C:UsersAdministrator>python D:python_testhello.py 请输入用户名:xuyaping xuyaping |
输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:
1
2
3
4
5
|
#!/usr/bin/env python import getpass password = getpass.getpass( ‘请输入密码:‘ ) print (password) |
执行
1
2
3
|
C:UsersAdministrator>python D:python_testhello.py 请输入密码: 123456 |
9.流程控制和缩进
python中子内容统一被缩进相同的空格数,如1,2,3,4,5,6,,7,8等随意设定,只需要统一即可。
但python中默认缩进4个空格
例子一、用户登陆验证
1
2
3
4
5
6
7
8
9
|
#!/usr/bin/env python name = input ( ‘请输入用户名字:‘ ) password = input ( ‘请输入密码:‘ ) if name = = ‘xuyaping‘ and password = = ‘123‘ : print ( ‘xuyaping login success‘ ) else : print ( ‘用户名或密码错误‘ ) |
例子二、根据用户输入内容输出其权限
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/usr/bin/env python #根据用户输入内容打印其权限 ‘‘‘ xuyaping --> 超级管理员 tom --> 普通管理员 jack,rain --> 业务主管 其他 --> 普通用户 ‘‘‘ name = input ( ‘请输入用户名字:‘ ) if name = = ‘xuyaping‘ : print ( ‘超级管理员‘ ) elif name = = ‘tom‘ : print ( ‘普通管理员‘ ) elif name = = ‘jack‘ or name = = ‘rain‘ : print ( ‘业务主管‘ ) else : print ( ‘普通用户‘ ) |
10.while循环
10.1:基本循环
1
2
3
4
5
6
|
while 条件: # 循环体 # 如果条件为真,那么循环体则执行 # 如果条件为假,那么循环体不执行 |
10.2:break
break用于退出所有循环
1
2
3
4
|
while True : print "123" break print "456" |
10.3:continue
continue用于退出当前循环,继续下一次循环
1
2
3
4
|
while True : print "123" continue print "456" |
五、本节练习
1、使用while循环输出1 2 3 4 5 6 8 9 10
2、求1-100的所有数的和
3、输出 1-100 内的所有奇数
4、输出 1-100 内的所有偶数
5、求1-2+3-4+5 ... 99的所有数的和
6、用户登陆(三次机会重试)