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

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 个符号。

显然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']

七、输入

#!/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必看攻略全部内容了,希望大家多多支持我们~

(0)

相关推荐

  • Python编程中实现迭代器的一些技巧小结

    yield实现迭代器 如引言中的描述,实现一个可迭代的功能要是每次都手动实现iter,next稍稍有点麻烦,所需的代码也是比较客观.在python中也能通过借助yield的方式来实现一个迭代器.yield有一个关键的作能,它能够中断当前的执行逻辑,保持住现场(各种值的状态,执行的位置等等),返回相应的值,下一次执行的时候能够无缝的接着上次的地方继续执行,如此循环反复知道满足事先设置的退出条件或者发生错误强制被中断. 其具体功能是可以当return使用,从函数里返回一个值,不同之处是用yield返

  • 浅谈Python中用datetime包进行对时间的一些操作

    1. 计算给出两个时间之间的时间差 import datetime as dt # current time cur_time = dt.datetime.today() # one day pre_time = dt.date(2016, 5, 20) # eg: 2016.5.20 delta = cur_time - pre_time # if you want to get discrepancy in days print delta.days # if you want to get

  • 简单讲解Python编程中namedtuple类的用法

    Python的Collections模块提供了不少好用的数据容器类型,其中一个精品当属namedtuple. namedtuple能够用来创建类似于元祖的数据类型,除了能够用索引来访问数据,能够迭代,更能够方便的通过属性名来访问数据. 在python中,传统的tuple类似于数组,只能通过下标来访问各个元素,我们还需要注释每个下标代表什么数据.通过使用namedtuple,每个元素有了自己的名字,类似于C语言中的struct,这样数据的意义就可以一目了然了.当然,声明namedtuple是非常简

  • 常见python正则用法的简单实例

    下面列出Python正则表达式的几种匹配用法: 1.测试正则表达式是否匹配字符串的全部或部分 regex=ur"" #正则表达式 if re.search(regex, subject): do_something() else: do_anotherthing() 2.测试正则表达式是否匹配整个字符串 regex=ur"\Z" #正则表达式末尾以\Z结束 if re.match(regex, subject):     do_something() else:  

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

    Python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. Python和其他语言的对比: C 和 Python.Java.C#等 C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作 其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行 Python 和 C  Python这门语

  • NodeJs——入门必看攻略

    关于NPM: npm 是 nodejs 的包管理和分发工具.它可以让 javascript 开发者能够更加轻松的共享代码和共用代码片段,并且通过 npm 管理你分享的代码也很方便快捷和简单. 一 NodeJs安装与NPM管理 安装 前往NodeJs官网,下载安装包直接安装.同时NodeJs默认包含NPM模块.后者需要更新到最新版本.-v 查看版本信息,有则安装成功.某些版本不支持读-v参数大小写敏感,如报错尝试大写-V. node -v v4.4.4 npm -v 2.15.1 更新npm模块

  • 初学python的操作难点总结(新手必看篇)

    如下所示: 1 在cmd下 盘与盘之间的切换 直接 D或d: 就好 2 查找当前盘或者文件下面的目录 直接 dir 3 想在一个盘下进去一个文件夹,用cd空格目标文件 cd p 4 写文件的第一个字母后 按tab键自动补全 如果有多个p开头的则在按tab 会在所有之间切换 5 d:切盘 dir 查找目录 cd 进去目标文件(相当于双击) 6 往上走一层 cd .. 走两层 cd ../..(之间有无空格都行) 7 用python打开一个预先用记事本打好的txt 则先打开python f:\Dem

  • Python基础篇之字符串的最全常用操作方法汇总

    目录 前言: 字符串的最全常用操作方法 string.capitalize() ​​​​​string.upper() ​​string.lower() string.swapcase() ​​​​​​string.title() ​​​​string.center() string.expandtabs(tabsize = 8) len(string) string.endswith(obj, beg=0, end=len(string)) string.startswith(obj, beg

  • python基础篇之pandas常用基本函数汇总

    目录 前言 1.汇总函数 2.特征统计函数 3.唯一值函数 4.替换函数 总结 前言 这篇主要整理pandas常用的基本函数,主要分为五部分: 汇总函数 特征统计函数 唯一值函数 替换函数 排序函数 1.汇总函数 常用的主要是4个: tail(): 返回表或序列的后n行 head(): 返回表或序列的前n行 info(): 返回表的信息概况 describe(): 返回表中数值列对应的主要统计量 n默认为5 df.describe() #运行截图 Height Weight count 183.

  • 想学python 这5本书籍你必看!

    python是一种美丽的语言 ,应用范围也很广,有很多的人开始学习python开发,对于初学者,这里有5本经典的书籍,如果你打算用看书来学习python,这5本书无疑是很好的选择. 1.python基础教程 很适合初学者,简单明了,对字符串,列表,字典等讲解详细,所以我觉得更适合没有C++/Java基础的童鞋学习.如果熟悉C++/Java,很可能你不会认真看.比较好的是后面有10个小项目,让你练练手. 2.与孩子一起学编程 借 python 来讲编程入门,这种书很适合没有编程基础的同学看. 3.

  • Win10系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境过程(2020年最新攻略)

    目录 win10系统下配置python3开发环境 安装pathogen.vim插件(一个vim插件管理器) 众神殿内,依次坐着Editplus.Atom.Sublime.Vscode.JetBrains家族.Comodo等等一众编辑器界的大佬们,偌大的殿堂内几无立锥之地,然而在殿内的金漆雕龙宝座上,端坐着一位睥睨众生的王者,那就是被称之为编辑器之神的Vim,作为一个有着30余年历史的老牌神器,没有任何编辑器可以和它媲美,其时江湖有云:神编Vim不会玩,纵称大神也枉然.Vim在 1976 年发布,

  • Spring基础篇之初识DI和AOP

    前言 作为从事java开发的码农,Spring的重要性不言而喻,你可能每天都在和Spring框架打交道.Spring恰如其名的,给java应用程序的开发带了春天般的舒爽感觉.Spring,可以说是任何一个java开发者通往技术高阶的必备基础.当然,要学好Spring,尤其是了解Spring的底层原理并不容易,需要花费很多时间和精力来潜心的研习,并在实际的项目中不断的试错和总结,才能形成属于自己的思维理解.博主对Spring最初的认识颇浅,项目中遇到问题依靠度娘大概也能笼而统之的解决.不过呢,接触

  • 初识python的numpy模块

    目录 一.array类型 1.1array类型的基本使用 1.2对更高维度数据的处理 1.3Numpy创建特殊类型的array类型 1.3.1生成全为0或全为1的array 1.3.2np.arrange()和np.linspace() 1.4Numpy基础计算演示 二.线性代数相关 三.矩阵的高级函数-随机数矩阵 四.总结 Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展.Numpy是python中众多机器学习库的依赖,这些库通过Nu

  • 关于Spring总结(必看篇)

    Spring引入 传统的基于mvc的项目框架结构:Entity / dao / service / action 简单用户访问流程:/user.action ----> Tomcat (服务器创建Action.Service.dao 引出思考: 1. 对象创建创建能否写死? 2. 对象创建细节 对象数量 action 多个 [维护成员变量] service 一个 [不需要维护公共变量] dao 一个 [不需要维护公共变量] 创建时间 action 访问时候创建 service 启动时候创建 da

随机推荐