Python基础篇之初识Python必看攻略


Posted in Python onJune 23, 2016

Python简介

python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。 

Python和其他语言的对比:

C 和 Python、Java、C#等

C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作

其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行

Python 和 C  Python这门语言是由C开发而来

对于使用:Python的类库齐全并且使用简洁,如果要实现同样的功能,Python 10行代码可以解决,C可能就需要100行甚至更多.

对于速度:Python的运行速度相较与C,绝逼是慢了

Python 和 Java、C#等

对于使用:Linux原装Python,其他语言没有;以上几门语言都有非常丰富的类库支持
对于速度:Python在速度上可能稍显逊色

所以,Python和其他语言没有什么本质区别,其他区别在于:擅长某领域、人才丰富、先入为主。

Python的种类

•Cpython

Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。

•Jyhton

Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。

•IronPython

Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)

•PyPy(特殊)

Python实现的Python,将Python的字节码字节码再编译成机器码。

•RubyPython、Brython ...

安装Python

windows:

1、下载安装包

https://www.python.org/downloads/

2、安装

默认安装路径:C:\python27

3、配置环境变量

【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】

 如:原来的值;C:\python27,切记前面有分号

linux:

无需安装,原装Python环境

ps:如果自带2.6,请更新至2.7

更新Python

windows:

卸载重装即可

linux:

查看默认Python版本

python -V

1、安装gcc,用于编译Python源码

yum install gcc

2、下载源码包,https://www.python.org/ftp/python/

3、解压并进入源码文件

4、编译安装

./configure

make all

make install

5、查看版本

/usr/local/bin/python2.7 -V

6、修改默认Python版本

mv /usr/bin/python /usr/bin/python2.6

ln -s /usr/local/bin/python2.7 /usr/bin/python

7、防止yum执行异常,修改yum使用的Python版本

vi /usr/bin/yum

将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6

Python入门

一、解释器

如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py ,那么就需要在 hello.py 文件的头部指定解释器,如下:

#!/usr/bin/env python  

print "hello,world"

ps:执行前需给予 hello.py 执行权限,chmod 755 hello.py

二、内容编码

python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

Python基础篇之初识Python必看攻略

Python基础篇之初识Python必看攻略

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:

报错:ascii码无法表示中文

#!/usr/bin/env python

  

print "你好,世界"

改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

  

print "你好,世界"

三、注释

当行注视:# 被注释内容

多行注释:""" 被注释内容 """

四、执行脚本传入参数

Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:

•Python内部提供的模块
•业内开源的模块
•程序员自己开发的模块

Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数

#!/usr/bin/env python

# -*- coding: utf-8 -*-

  

import sys

  

print sys.argv

五、 pyc 文件

执行Python代码时,如果导入了其他的 .py 文件,那么,执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。

ps:代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。

六、变量

1、声明变量

#!/usr/bin/env python

# -*- coding: utf-8 -*-

  

name = "zhangyanlin"

上述代码声明了一个变量,变量名为: name,变量name的值为:"zhangyanlin"

变量定义的规则:

变量名只能是 字母、数字或下划线的任意组合变量名的第一个字符不能是数字以下关键字不能声明为变量名
['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']Python基础篇之初识Python必看攻略

七、输入

#!/usr/bin/env python

# -*- coding: utf-8 -*-

  

# 将用户输入的内容赋值给 name 变量

name = raw_input("请输入用户名:")

  

# 打印输入的内容

print name

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

  

import getpass

  

# 将用户输入的内容赋值给 name 变量

pwd = getpass.getpass("请输入密码:")

  

# 打印输入的内容

print pwd

八、流程控制和缩进

需求一、用户登陆验证

#!/usr/bin/env python

# -*- coding: encoding -*-

  

# 提示输入用户名和密码

  

# 验证用户名和密码

#   如果错误,则输出用户名或密码错误

#   如果成功,则输出 欢迎,XXX!

 

 

import getpass

  

  

name = raw_input('请输入用户名:')

pwd = getpass.getpass('请输入密码:')

  

if name == "zhangyanlin" and pwd == "123456":

  print "欢迎,zhangyanlin!"

else:

  print "用户名和密码错误"

九、while循环

1、基本循环

while 条件:

   

  # 循环体

 

  # 如果条件为真,那么循环体则执行

  # 如果条件为假,那么循环体不执行

2、break

break用于退出所有循环

while True:

  print 123

 

  break

3、continue

continue用于退出当前循环,继续下一次循环

while True:

  print 123

 

  continue

 4.#列出100之内所有的奇数

odd = 1

while odd <= 100:

 

    print(odd)

  odd += 2

5.#列出100之内所有的偶数

even = 0

while even <= 100:

 

print (even)

even += 2

 6.算出1-2+3-4....+99的和

#排除99剩余49组1减2

u1 =49

print(u1*(1-2)+99)

 or

#列出1-99所有数的和

start=1

sum = 0

while start < 100:

  temp = start %2

  if temp == 1:

     sum = sum+start

  else

     sum=sum-start

  start+=1

print(sum)

以上就是小编为大家带来的Python基础篇之初识Python必看攻略全部内容了,希望大家多多支持三水点靠木~

Python 相关文章推荐
python文件和目录操作函数小结
Jul 11 Python
python使用marshal模块序列化实例
Sep 25 Python
Mac中升级Python2.7到Python3.5步骤详解
Apr 27 Python
Python算法之求n个节点不同二叉树个数
Oct 27 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
May 07 Python
python读取目录下最新的文件夹方法
Dec 24 Python
python3使用QQ邮箱发送邮件
May 20 Python
springboot配置文件抽离 git管理统 配置中心详解
Sep 02 Python
用python解压分析jar包实例
Jan 16 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
Feb 28 Python
如何基于Python代码实现高精度免费OCR工具
Jun 18 Python
python 下划线的多种应用场景总结
May 12 Python
浅谈python中scipy.misc.logsumexp函数的运用场景
Jun 23 #Python
浅谈Python中用datetime包进行对时间的一些操作
Jun 23 #Python
Python中在脚本中引用其他文件函数的实现方法
Jun 23 #Python
python中的lambda表达式用法详解
Jun 22 #Python
深入浅析python中的多进程、多线程、协程
Jun 22 #Python
Python按行读取文件的简单实现方法
Jun 22 #Python
使用Mixin设计模式进行Python编程的方法讲解
Jun 21 #Python
You might like
php摘要生成函数(无乱码)
2012/02/04 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
javascript实现二分查找法实现代码
2007/11/12 Javascript
jQuery UI AutoComplete 自动完成使用小记
2010/08/21 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
JSON取值前判断
2014/12/23 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
html+js实现简单的计算器代码(加减乘除)
2016/07/12 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
浅谈angular2子组件的事件传递(任意组件事件传递)
2018/09/30 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
[01:13]2014DOTA2西雅图邀请赛 舌尖上的TI4
2014/07/08 DOTA
使用Python的Twisted框架编写简单的网络客户端
2015/04/16 Python
Python去除字符串两端空格的方法
2015/05/21 Python
Python遍历某目录下的所有文件夹与文件路径
2018/03/15 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
python函数声明和调用定义及原理详解
2019/12/02 Python
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
荷兰度假屋租赁网站:Aan Zee
2020/02/28 全球购物
Wolford法国官网:奥地利奢侈内衣品牌
2020/08/11 全球购物
如何启动时不需输入用户名与密码
2014/05/09 面试题
this关键字的作用
2016/01/30 面试题
Servlet的生命周期
2013/08/25 面试题
企业消防安全责任书
2014/07/23 职场文书
2014年财务工作自我评价
2014/09/23 职场文书
调解书格式范本
2015/05/20 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
2015年卫生院健康教育工作总结
2015/07/24 职场文书