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文件中 ...
随机推荐
- 原生js和jquery实现图片轮播特效
本文给大家分享的是使用原生JS和JQ两种方法分别实现相同的图片轮播特效,十分的实用,也非常方便大家对比学习原生js和jQuery,有需要的小伙伴可以参考下. 1)首先是页面的结构部分对于我这种左右切换 ...
- 获取android源码时repo的错误
今天用repo获取android源码:../bin/repo init -u git://android.git.kernel.org/platform/manifest.git出现问题:问题一:Tr ...
- 安卓仿制新浪微博(一)之OAuth2授权接口
这里需要用到请求授权(authorize)以及获取授权(access_token) 第一步: 将新浪的sdk放在src/libs下面 二: //创建方法实现authorize public void ...
- 利用好CSS,实现Qt控件美化
一.CSS概念 级联样式表 (CSS) 包含应用于网页中的元素的样式规则.CSS 样式定义元素的显示方式以及元素在页中的放置位置.可以创建一个通用规则,只要 Web 浏览器遇到一个元素实例,或遇到一个 ...
- inux xsel 拷贝复制命令行输出放在系统剪贴板上
转载自:http://oldratlee.com/post/2012-12-23/command-output-to-clip 为什么要这么做?直接把命令的输出(比如 grep/awk/sed/fin ...
- 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 ...
- bzoj4005[JLOI2015]骗我呢
http://www.lydsy.com/JudgeOnline/problem.php?id=4005 神题~远距离orz 膜拜PoPoQQQ大神 #include<cstdio> #i ...
- windows oid 利用SNMP获得主机信息(转)
该博文转至:http://blog.sina.com.cn/s/blog_853cc55b0101a2mq.html Windows OID' for CPU, Memory, Disk Utiliz ...
- 支持多文件上传,预览,拖拽,基于bootstra的上传插件fileinput 的ajax异步上传
首先需要导入一些js和css文件 <link href="__PUBLIC__/CSS/bootstrap.css" rel="stylesheet"&g ...
- Spring整合Shiro做权限控制模块详细案例分析
1.引入Shiro的Maven依赖 <!-- Spring 整合Shiro需要的依赖 --> <dependency> <groupId>org.apache.sh ...