一. 学习Python 2 or 3,为什么,原因?
Python2 官方支持到2020年,Python3 将会一直持续提供支持;
Python2 中很多模块有冗余,很多模块完成功能一样,Python3中不会出现这种情况;
区别:使用print的区别,Python2的话,直接print "输出的内容",的形式,而Python3中要使用print("输出的内容")
字符编码,在Python2 中显示中文的话,需要gb2312、unicode、utf-8之间使用decode或者encode相互转换,而Python3中不需要,直接就可以显示,这个对中国人来说,太友好了^_^ ^_^,不用字符编码而烦恼;
Python2输入时使用raw_input() ,而Python3使用的是input();
除法运算Python2中1/2是0而Python3中1/2是0.5
有些模块名称有变化;后续有新的发现不同,再补充;
基于以上,果断学习Python3。
二、安装或升级
windows安装省略…………;
Linux服务器升级Python, 由于默认情况下Linux服务器都自带了Python版本,一般情况下都是Python 2.6版本,现在升级到3.5.2;
解压tar -zxvf Python-3.5.2.tgz
编译cd Python-3.5.2 && ./configure --prefix=/usr/local/python3.5.2
安装 make && make install
mv /usr/bin/python /usr/bin/python_old && ln -s /usr/local/python3.5.2/bin/python3 /usr/bin/python
验证:
[root@elasticsearch2 ~]# python
Python 3.5.2 (default, Nov 21 2016, 19:47:27)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
三、Python脚本运行方式
交互式命令行,主要用于调试
脚本的方式
四、变量
变量名只能使用字母数字下划线,对大小写敏感,Python是动态类型语言,也就是不需要预先声明变量的类型,变量的类型和值在赋值那一刻被初始化,变量赋值通过等号来执行,变量名使用有意义的英文单词来实现;
以下关键字,不能作为变量名:
['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']
五、用户输入函数
input()函数完成,如下:
[root@elasticsearch2 ~]# python
Python 3.5.2 (default, Nov 21 2016, 19:47:27)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> name = input()
lyndoncn
>>> print(name)
lyndoncn
>>>
2. input("提示语:") 这里的提示语,可以给用户一定的提示作用;
六、模块导入
模块的导入使用import关键字
import os;
import getpass #用户密码时使用密文,可以使用这个getpass模块;
七、注释
单行注释使用#号开头即可;
多行注释使用三引号""" XXX一行注释无法写下的时候XXXX"""
八、逻辑运算符
and or not 这三个的结果是一个布尔值true或false
九、条件判断及循环
表达式if ...else语句
基本形式:
if 判断条件:
执行语句
else:
执行语句
当“判断条件”成立时,则执行后面的语句,而执行语句可以有多行,以缩进来区分表示同一范围,else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。
当if需要判断多个条件时可用elif来表示:
if 判断条件1:
执行语句1…
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……
这里的判断条件也可以是一个复杂的函数,或者是一个由逻辑运算符组成的表达式
表达式for 循
for语句是用于循环控制的语句,可用来遍历某一对象,如range(10), len(list_name)等等;
表达式for ... else ...
具有一个附带的可选的else块,主要用于处理for语句中包含的break语句的for循环;
3. while循环
while 条件:
执行代码块
while循环中的执行代码块会一直循环执行,直到当条件不能被满足为假False时才退出循环,并执行循环体后面的语句;
十、break and continue
break用于结束循环,而continue是结束本次循环