首页 > 代码库 > Python第一天
Python第一天
1、Python简介
Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。
Python的优点
1、Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。开发效率非常高,
2、Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子
3、高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
4、可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行。
5、可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
6、可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
Python缺点
1、运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。
2、代码不能加密。如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。
安装Python
linux系统:
无需安装,原装Python环境,
如果自带2.6,请更新至2.7或者3.5,根据自身要求,Ubuntu上的Python更新快,centos上的Python版本比较旧
windows系统:
1、下载安装包
https:
//www
.python.org
/downloads/
2、安装
安装路径:自己定义,默认C盘
3、配置环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
如:原来的值;C:\python3,前面有分号出现如下图表明安装成功:
Python解释器
当我们编写Python代码时,我们得到的是一个包含Python代码的以.py
为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py
文件,比较常见的有:
- 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入门
第一个Python程序
在linux 下创建一个文件叫hello.py,并输入
>>> print ‘hello, world‘hello, world
默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:
python2不支持中文,要显示中文必须首先定义字符集:
#-*-coding:utf-8 -*-
行与缩进
python最具特色的就是使用缩进来表示代码块,不需要使用大括号({})。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:
username = input("username:")password = input("password:")if username == "zyj" and password == "123456": print("welcome!")else: print("wrong username or password")
否则会提示:IndentationError:(缩进错误),同一级别的代码必须保持一致!!!
多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:
total = item_one + item_two + item_three
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\),例如:
total = [‘item_one‘, ‘item_two‘, ‘item_three‘, ‘item_four‘, ‘item_five‘]
变量
name = "zyj"name2 = nameprint(name,name2)name = "yzj"print(name,name2)
上述代码先声明一个变量name,值为zyj,又声明一个变量值为name
变量定义规则
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
- [‘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‘]
Python3解释器
Linux/Unix的系统上,一般默认的 python 版本为 2.x,我们可以将 python3.x 安装在/usr/local/python3 目录中。
安装完成后,我们可以将路径 /usr/local/python3/bin 添加到您的 Linux/Unix 操作系统的环境变量中,这样您就可以通过 shell 终端输入下面的命令来启动 Python3 。
$ PATH=$PATH:/usr/local/python3/bin/python3 # 设置环境变量$ python3 --versionPython 3.5.2
内容编码
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 "你好,世界"
总结:
python2不支持中文,要显示中文必须首先定义字符集:
#-*-coding:utf-8 -*-
Python3的注释
单行注释前面加#号,多行注释加三个双引号或者三个单引号,Python中单双引号作用一样,单双引号代表字符串为单行(在同一行使用)如下为错误使用:
intro = "My name is zyj,I am 26 years old,I like girl"
如果要这样写可以使用如下写法:
intro = """My name is zyjI am 26 years oldI like girl"""print(intro)
解释:三个单引号或者双引号可以注释多行,同时也可以表示一个段落。
总结:
单行注释:# 被注释内容
Python第一天