从这周开始我就正式学习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变量的命名:

  1. 变量名只能是字母、数字或下划线的任意组合
  2. 变量名的第一个字符不能是数字
  3. 以下关键字不能声明为变量名
  • ['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() 方法可以获取一个变量的内存地址,由程序的运行结果可以看出变量的赋值实质上是

  1. 在内存中创建了一个字符串
  2. 在内存中创建了一个名为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 学习日记(第二周)的更多相关文章

  1. python学习笔记第二周

    目录 一.基础概念 1.模块 1)os模块 2)sys模块 2.pyc文件 3.数据类型 1)数字 2)布尔值 3)字符串 4.数据运算 5.运算符 6.赋值运算 7.逻辑运算 8.成员运算 9.身份 ...

  2. Python 学习日记(第三周)

    知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别 ...

  3. Python学习日记 --day2

    Python学习日记 --day2 1.格式化输出:% s d  (%为占位符 s为字符串类型 d为数字类型) name = input('请输入姓名') age = int(input('请输入年龄 ...

  4. python学习日记(基础数据类型及其方法01)

    数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...

  5. 菜鸟Python学习笔记第二天:关于Python黑客。

    2016年1月5日 星期四 天气:还好 一直不知道自己为什么要去学Python,其实Python能做到的Java都可以做到,Python有的有点Java也有,而且Java还是必修课,可是就是不愿意去学 ...

  6. Python学习日记(一):拜见小主——Python

    近日学习Python,特将学习过程及一点心得记录于此. 由于之前做过一个Java爬虫的项目,虽然很长时间没有碰过爬虫,但是小郭同学有一颗不死的爬虫心,哈哈.最近在互联网上找一些电影的时候,有很多电影只 ...

  7. 学习Java第二周

    这是学习java的第二周,又这样不知不觉的结束了 上周想要学习的这一周也都做到了,可是觉得进度有些慢了,学习了: 1. 接口和抽象类: 2. 集合与数组: 3. 方法的定义: 4. 递归算法: 5.对 ...

  8. Python的基础学习(第二周)

    模块初始 sys模块 import sys sys.path #打印环境变量 sys.argv#打印该文件路径 #注意:该文件名字不能跟导入模块名字相同 os模块 import os cmd_res ...

  9. Python学习笔记第二十五周(Django补充)

    1.render_to_reponse() 不同于render,render_to_response()不用包含request,直接写template中文件 2.locals() 如果views文件中 ...

随机推荐

  1. 原生js和jquery实现图片轮播特效

    本文给大家分享的是使用原生JS和JQ两种方法分别实现相同的图片轮播特效,十分的实用,也非常方便大家对比学习原生js和jQuery,有需要的小伙伴可以参考下. 1)首先是页面的结构部分对于我这种左右切换 ...

  2. 获取android源码时repo的错误

    今天用repo获取android源码:../bin/repo init -u git://android.git.kernel.org/platform/manifest.git出现问题:问题一:Tr ...

  3. 安卓仿制新浪微博(一)之OAuth2授权接口

    这里需要用到请求授权(authorize)以及获取授权(access_token) 第一步: 将新浪的sdk放在src/libs下面 二: //创建方法实现authorize public void ...

  4. 利用好CSS,实现Qt控件美化

    一.CSS概念 级联样式表 (CSS) 包含应用于网页中的元素的样式规则.CSS 样式定义元素的显示方式以及元素在页中的放置位置.可以创建一个通用规则,只要 Web 浏览器遇到一个元素实例,或遇到一个 ...

  5. inux xsel 拷贝复制命令行输出放在系统剪贴板上

    转载自:http://oldratlee.com/post/2012-12-23/command-output-to-clip 为什么要这么做?直接把命令的输出(比如 grep/awk/sed/fin ...

  6. How to run Tomcat without root privileges? 常规用户使用tomcat的80端口

    How to run Tomcat without root privileges? 1. The best way is to use jsvc, available as part of the  ...

  7. bzoj4005[JLOI2015]骗我呢

    http://www.lydsy.com/JudgeOnline/problem.php?id=4005 神题~远距离orz 膜拜PoPoQQQ大神 #include<cstdio> #i ...

  8. windows oid 利用SNMP获得主机信息(转)

    该博文转至:http://blog.sina.com.cn/s/blog_853cc55b0101a2mq.html Windows OID' for CPU, Memory, Disk Utiliz ...

  9. 支持多文件上传,预览,拖拽,基于bootstra的上传插件fileinput 的ajax异步上传

    首先需要导入一些js和css文件 <link href="__PUBLIC__/CSS/bootstrap.css" rel="stylesheet"&g ...

  10. Spring整合Shiro做权限控制模块详细案例分析

    1.引入Shiro的Maven依赖 <!-- Spring 整合Shiro需要的依赖 --> <dependency> <groupId>org.apache.sh ...