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.
在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..tar.xz
tar -xvf Python-2.7..tar
编译安装
./configure
make all
makeinstall
查看版本
/usr/local/bin/python2. -V
修改默认Python版本
mv /usr/bin/python /usr/bin/python2.
ln -s /usr/local/bin/python2. /usr/bin/python
防止yum执行异常,修改yum使用的Python版本
vi /usr/bin/yum
将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.
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
2print"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 用于退出当前循环,继续下一次循环
Python 学习日记(第二周)的更多相关文章
- python学习笔记第二周
目录 一.基础概念 1.模块 1)os模块 2)sys模块 2.pyc文件 3.数据类型 1)数字 2)布尔值 3)字符串 4.数据运算 5.运算符 6.赋值运算 7.逻辑运算 8.成员运算 9.身份 ...
- Python 学习日记(第三周)
知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别 ...
- Python学习日记 --day2
Python学习日记 --day2 1.格式化输出:% s d (%为占位符 s为字符串类型 d为数字类型) name = input('请输入姓名') age = int(input('请输入年龄 ...
- python学习日记(基础数据类型及其方法01)
数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...
- 菜鸟Python学习笔记第二天:关于Python黑客。
2016年1月5日 星期四 天气:还好 一直不知道自己为什么要去学Python,其实Python能做到的Java都可以做到,Python有的有点Java也有,而且Java还是必修课,可是就是不愿意去学 ...
- Python学习日记(一):拜见小主——Python
近日学习Python,特将学习过程及一点心得记录于此. 由于之前做过一个Java爬虫的项目,虽然很长时间没有碰过爬虫,但是小郭同学有一颗不死的爬虫心,哈哈.最近在互联网上找一些电影的时候,有很多电影只 ...
- 学习Java第二周
这是学习java的第二周,又这样不知不觉的结束了 上周想要学习的这一周也都做到了,可是觉得进度有些慢了,学习了: 1. 接口和抽象类: 2. 集合与数组: 3. 方法的定义: 4. 递归算法: 5.对 ...
- Python的基础学习(第二周)
模块初始 sys模块 import sys sys.path #打印环境变量 sys.argv#打印该文件路径 #注意:该文件名字不能跟导入模块名字相同 os模块 import os cmd_res ...
- Python学习笔记第二十五周(Django补充)
1.render_to_reponse() 不同于render,render_to_response()不用包含request,直接写template中文件 2.locals() 如果views文件中 ...
随机推荐
- C语言初学 数学中带根号的复杂计算问题
#include<stdio.h> #include<math.h> int main() { double a,b; scanf("%lf%lf",&am ...
- Cisco Anyconnect Secure Mobility Client
Backup 进入安装文件目录cd anyconnect-3.1.00495/binary 安装sudo./vpnsetup.sh 查看安装情况ps aux | grep cisco 在搜索中, ...
- android-support-v7-appcompat的配置使用
直接将android-support-v7-appcompat.jar包拷贝到项目的libs/下面是不能使用的,具体做法官方文档给出了详细说明: (开发环境是ADT) Using Eclipse Cr ...
- XML解析之dom4j
一.XML解析方式有两类: 一]DOM(文档对象模型) 1)一次性将整个XML文件读到内存,形成一颗DOM树 二]SAX(XML的简单API)[sim ...
- XJOI网上同步训练DAY6 T2
思路:记得FJ省队集训好像有过这题,可是我太弱了,根本不懂T_T #include<cstdio> #include<iostream> #include<cmath&g ...
- 工厂方法模式 - OK
工厂方法模式(Factory Method),定义了一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到子类. 工厂方法模式在实现时,客户端需要决定实例化哪一个工厂来实现运 ...
- Eclipse中安装TestNG插件
在Eclipse中安装TestNG也像安装其他插件一样非常方便,如下: 选择菜单:Help->Install New Software,然后在弹出窗口中的“Work with”中输入地址: ht ...
- UML--对象的介绍
UML相对于学习UML的符号含义而言,掌握它们背后的方法和思想是更为重要的.软件是一种实践知识,仅仅靠书本不可能成为高手.书本只能给出思路和知识点,而掌握和消化这些知识则必须在实践中去完成. 如果我们 ...
- socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题
Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数 ...
- hdu 2853
虚拟赛一开始lyf就对我说这是一道匹配的题目,我一看明显裸的最优匹配,敲完提交wrong, 题目要求改变尽量少的公司,就是如果遇到相等的权值,优先选择跟他原来匹配的,KM匹配是按序号大小来的,如果一个 ...