Python 第一篇:python简介和入门

1、python简介java

一、python下载地址:https://www.python.org/downloads/node

Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之因此选中Python(大蟒蛇的意思)做为程序的名字,是由于他是一个叫Monty Python的喜剧团体的爱好者。python

二、Python排行和使用场景:linux

    python在从2014年的排名第八升级为2015年的排名第5:vim

wKioL1aPaFWAT1McAAFU5d5OZio705.png

    Python能够应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎全部大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、美团等。互联网公司普遍使用Python来作的事通常有:自动化运维、自动化测试、大数据分析、爬虫、Web 等。centos

三、Python种类:bash

Jyhton Python的Java实现,Jython会将Python代码动态编译成Java字节码,而后在JVM上运行转换后的程序网络

#jpython在执行的时候先通过词法分析,语法分析,而后由解释器编译成字节码,再有java编译成机器码,最后再有CPU读取机器码执行,而pypy则有解释器直接一步到位编译成机器码,所以pypy理论上速度更快。运维

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

IronPython  Python的C#实现,而且它将Python代码编译成C#中间代码(与Jython相似)

PyPy  Python实现的Python

其余实现方式:RubyPython、Brython、Pyobjc .

四、python安装:

Linux安装:

linux默认自带python,可是centos和redhat的版本广泛比官方版本低不少,所以能够另外安装一个版本使用,步骤

以下:

 1  1、先安装gcc编译器,命令为:
 2  yum install gcc
 3  2、解压Python安装包并编译安装,注意P为大写:
 4  tar xvf Python-2.7.10.tgz 
 5  cd Python-2.7.10
 6  ./configure
 7  make
 8  make install
 9  3、查看版本:
10  Python 2.7.10 (default, Jul 18 2015, 04:12:23) 
11 [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
12 Type "help", "copyright", "credits" or "license" for more information.
13 dlopen("/usr/local/python27/lib/python2.7/lib-dynload/readline.so", 2);
14 四、设置软链接: #不建议更改默认python版本,由于会出现系统错误,如yum是python写的,会致使yum没法使用
15 ln -sv /usr/local/python27/bin/python /usr/local/bin/python27
16 5、测试python:
17 [root@node5 Python-2.7.10]# python27 
18 Python 2.7.10 (default, Jul 18 2015, 04:12:23) 
19 [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
20 Type "help", "copyright", "credits" or "license" for more information.
21 >>> print "Hello,你好"
22 Hello,你好
View Code

二:使用python:

一、使用vim编写一个脚本,内容以下:

1 #!/usr/local/bin/python27
2 print  "hello word!"
View Code

执行脚本:

[root@node5 python]# python hello.py 

hello word! #执行结果

二、python内部执行流程:

pyhton程序先交给解释器,而后通过词法分析-->语法分析-->编译-->执行

wKiom1aPcT6SL8LMAACV9ioIjCU679.jpg

 

3、python编码:

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

wKiom1aPd2OjM2bPAA9HbltcMuk825.png

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

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

由于python默认的编码是采用的ASCII,因此在python直接输出中文会由于使用ASCII编码不支持中文而报错,如:

1 #!/usr/bin/python27
2 #coding:utf-8 #声明使用utg-8编码
3 print "你好"
4 
5 #此问题在python 3以后的版本不须要设置,由于python3默认编码即为utf-8
View Code

四、编码间的转换:

将utf-8或gbk格式的转换为unicode称为decode,将unicode转换为其余编码称为encode

decode的做用是将其余编码的字符串转换成unicode编码

encode的做用是将unicode编码转换成其余编码的字符串

wKioL1aQncfhPP1CAAEb6LE_Yck795.png

 

:注释与帮助文档:

单行注释: #注释内容,如:

print "你好" #第一个注释

夸多行注释: '''内容'''或""" 内容""",在python里单引号和双引号是没有区别的,如:

1 #!/usr/bin/python27
2 #coding:utf-8 
3 """ 第一
4 个注释 """
5 print "你好"
View Code

5、 pyc 文件

    执行Python代码时,若是导入了其余的模块即其余的xx.py文件,那么,执行过程当中会自动生成一个与其同名的和py文件同名的.pyc 文件,该文件就是Python解释器编译以后产生的字节码,代码通过编译能够产生字节码;字节码经过反编译也能够获得代码,即便删除该py文件以后python程序依然能够运行,由于python或优先读取pyc文件,可是假如手动修改了pyc文件,则python会从新读取py文件并从新生成新的pyc文件,由于python会内部判断,所以不须要也不能手动更改pyc文件。

六:python变量:

变量名称表明了内存中的某一段空间,空间里面保存的是变量的对象,变量能够是任何数值,可是变量的名称只能是数字、大小写字母和下划线,并且变量名的第一个字符不能是数字开头的,变量名不要使用和系统已经使用的特殊关键字

不能做为的名字的关键字以下:

 

['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']

一、声明变量:

name = "zhangshijie"

print name

二、变量的赋值:

a = "jack"
b = "tom"

其结果是在内存开启了两个地址空间,a和b分别表示这两个地址空间的内容。

wKiom1aPfzWyyQ5SAAAVxbPeg8Q233.png 

a = "jack"
b = a
如下会开启一个地址空间,两个变量名将指向同一个内存地址进行调用:

wKioL1aPgBSAlWgHAAAXyB_a92s595.png

七:获取用户输入:

一、使用raw_input的方法获取用户输入的字符串信息给一个变量,而后把变量打印出来,还有另一种方法input只能获取数值:

1 #/usr/bin/env  python
2 # -*- coding:utf-8 -*-
3 name = raw_input("Please input yout name:")  #在python2中raw_input获取的为字串,inpu获取为数值
4 print "your name is:",name
5 
6 在python3中,没有了raw_input,只有input方法,默然获取到的为字串,若是要获取数值,能够加上int(input("请输入你想要输入的数字或内容:"))
View Code

二、输入密码时,若是想要不可见,须要利用getpass 模块中的 getpass方法,即:

 1 #/usr/bin/env  python
 2 # -*- coding:utf-8 -*-
 3 import  getpass
 4 password = getpass.getpass("请输入你的密码")
 5 
 6 print password
 7 注:密码是隐藏的,并且运行的时候连输入密码的提示框都没有,能够在调试模式下看到详细的内容,以下:
 8 Warning: Password input may be echoed.
 9 请输入你的密码qqqqqqqq
10 qqqqqqqq
View Code

八:python流程控和缩进:

一、if else语句流程控制,进行判断用户输入,非A即B,python对缩进要求很严格,必须严格按照4个空格的方式进行排序,并且if下一级的代码必须与if保持4个空格换行间距,,即父代码要与子代码严格区分,若是缩进不符合要求会报缩进错误: IndentationError: unindent does not match any outer indentation level

 1 #/usr/bin/env  python
 2 # -*- coding:utf-8 -*-
 3 
 4 import getpass
 5 
 6 name = raw_input('请输入你的用户名:')
 7 pwd = getpass.getpass('请输入你的密码:')
 8 
 9 if name == "jack" and pwd == "123abc":
10     print "欢迎,jack!"
11 else:
12     print "你的用户名和密码错误"
13 二、if elif elif elif ...else: # 有N个判断条件,一次匹配一个条件,以下:
14 name = raw_input("请输入你的用户名:")
15 if name == "jack":
16     print "jack"
17 elif name == "tom":
18     print "tom"
19 elif name == "lili":
20     print "lili"
21 elif name == "wangwu":
22     print "wangwu"
23 else:
24     print "用户名不正确"
View Code

八:python传递参数:

使用python标准库sys模块中的argv方法获取用户传递的全部参数,以列表的形式展示用户传递的参数(在使用运行python程序的时候传递的参数,如python  xx.py  server1 192.168.0.1,则第0个参数是脚本自己,第一个参数是server1,第二个参数是192.168.0.1,以此类推),以下:

1 [root@node5 python]# vim argv.py 
2   #!/usr/bin/python
3   import sys
4   print sys.argv
5   print sys.argv[1] #读输出的列表进行分割,取第二个传递的参数是什么
6 [root@node5 python]# python argv.py  server1 192.168.0.1 #运行脚本传递参数
7 ['argv.py', 'server1', '192.168.0.1']  #打印传递的全部参数
8 server1  #第二个参数
View Code
相关文章
相关标签/搜索