Python 学习日记(第二周)
从这周开始我就正式学习Python 语言了。以后每周都会有一篇有关于学习Python的见闻与大家分享!
Python的安装
学习的第一步首先要有一个运行的环境。所以接下来介绍一下安装的步骤。
通过Python的官网可以看到Python是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。在Windows上写Python程序,放到Linux上也是能够运行的。
要提醒大家的是 Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的。在未来py3 会是趋势但是目前py2的程序还是大量存在
因此我在两个系统平台安装了不同版本的Python系统。
在Windows上安装Python
1 根据你windows系统的配置选择32位或者64位的安装包安装即可比如我就是是下载的2.7.11版本的64位安装包
2 讲Python的安装目录添加到PATH(在Python3.5可以在安装过程中选择添加到PATH)
在win10 里是这样的
在Linux上安装Python
在ubuntu 16.04 中安装
默认情况下ubuntu 16.04下已经安装了Python 2.7 和Python 3.5
只要选择执行的环境即可如果没安装可以通过在BASH输入以下命令完成
sudo add-apt-repository ppa:fkrull/deadsnakes sudo apt-get update sudo apt-get install python3.5
在centos 6.7 中安装
centos 6.7中默认安装的版本的2.6.6 下面将它更新到2.7.11版本
yum install gcc wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xz xz -d Python-2.7.11.tar.xz tar -xvf Python-2.7.11.tar 编译安装 ./configure make all makeinstall 查看版本 /usr/local/bin/python2.7 -V 修改默认Python版本 mv /usr/bin/python /usr/bin/python2.6 ln -s /usr/local/bin/python2.7 /usr/bin/python 防止yum执行异常,修改yum使用的Python版本 vi /usr/bin/yum 将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6
Python 解释器的版本
我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。
CPython
当我们从Python官方网站下载并安装好Python 3.5后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。
IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
PyPy
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
第一个Python 程序
学习语言的第一个程序必然是HelloWorld了这里也不例在目录下创建一个文件名为helloworld.py 文件文件内容如下
1#!/usr/bin/env python 2 3print"hello,world"
ps:#!/usr/bin/env python这一行会告诉系统要运行的Python解释器是什么
ps2:print "hello,world" 在Python3 会报错 需要改成print("hello,world") 但2.7.11也兼容print()
ps3:需要赋予执行权限
Python的内容编码
在Python2.x 版本内默认的编码格式为ASCII码,因此不会识别中文编码。所以想要在2.x版本的Python中使用中文就必须在程序开始前再加入一行。Python3不存在这样的问题
#!/usr/bin/env python # -*- coding: utf-8 -*-
注释格式
在Python里可以使用在想要注释的一行前面加# 注释 当想要注释多行的时候可以使用""" """ 来范围注释。
#!/usr/bin/env python #-*- coding: utf-8 -*- # 我是单行注释 #import time print("hellow,world") #下面的多行注释 """ num = 0 while num <= 100: if num%2 != 0: print(num) num +=1 print("end") """
变量
1在Python中变量的声明不需要加数据类型
2变量的命名:
- 变量名只能是字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
- ['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']
#!/usr/bin/env python #-*- coding: utf-8 -*- # 声明变量 #import time name = "lzx" age = 22 grilorboy=True age2=22 name2 = "lzx" print id(age) print id(age2) print id(name) print id(age2)
以下为程序的执行结果:
小结:
id() 方法可以获取一个变量的内存地址,由程序的运行结果可以看出变量的赋值实质上是
- 在内存中创建了一个字符串
- 在内存中创建了一个名为name的变量,并把它指向'lzx'。
获取输入内容
在Python中获取用户输入可以通过raw_input (py2) input(py3)中获取用户的输入内容
#!/usr/bin/env python #-*- coding: utf-8 -*- #测试输入内容 import getpass userna = input("UserName") passwd = getpass.getpass("password") print userna print passwd
想要输入的密码不可见可以通过getpass模块中的gatpass方法实现
条件判断
Python用if 做条件判断 格式是
if 判断的条件 :
满足条件1执行语句
else:
满足条件2的执行语句
需要注意的是 1 必须要有: 2 当满足条件1时候if就不在执行下面的判断
age = 3 if age >= 18: print('your age is', age) print('adult') else: print('your age is', age) print('teenager')
也可以使用if elif的格式
if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4>
while循环
while循环的使用是
whil 条件:
循环执行的代码
同样也要注意不要丢失 :
2 break 当有break 出现在循环内时候,立即停止循环执行循环下面的代码
3 continue 用于退出当前循环,继续下一次循环