python简介及入门
python简介
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。
python发展史
- 1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
- Granddaddy of Python web frameworks, Zope 1 was released in 1999
- Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.
- Python 2.0 - October 16, 2000,加入了内存回收机制,构成了现在Python语言框架的基础
- Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生
- Python 2.5 - September 19, 2006
- Python 2.6 - October 1, 2008
- Python 2.7 - July 3, 2010
- In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
- Python 3.0 - December 3, 2008
- Python 3.1 - June 27, 2009
- Python 3.2 - February 20, 2011
- Python 3.3 - September 29, 2012
- Python 3.4 - March 16, 2014
- Python 3.5 - September 13, 2015
python优缺点
优点:
- 速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。
- 免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
- 高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
- 可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。
- 解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。
在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。
- 面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
- 可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
- 可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
- 丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
- 规范的代码:Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。
缺点:
- 边执行,边解释 ,运行速度慢(与c、c++相比)
python的安装
windows:
1、首先访问http://www.python.org/download/去下载最新的python版本
2、安装下载包,一路next。
3、为计算机添加安装目录搭到环境变量,如图把python的安装目录添加到pth系统变量中即可。
4、测试python安装是否成功,cmd打开命令行输入 python 命令,如成功进入python环境则安装成功。
linux:
无需安装,系统自带,最新的ubuntu系统自带python2.6和3.5两个环境。
第一个python程序:“hello world!”
#!/usr/bin/env python3 #声明解释器
print(“hello world!”)#在屏幕打印“hello world!”
脚本的注释:
python注释:
单行注释:井号(#)常被用作单行注释符号,在代码中使用#时,它右边的任何数据都会被忽略,当做是注释。
例:
print(“hello world!”)#在屏幕打印“hello world!”
多行、批量注释:多行、批量注释是用三引号(单引号或者双引号)''' '''包含的
例:
info = '''
-----info of %s----
name:%s
age:%s
job:%s
hobby:%s
---end---
'''
中文注释:python3默认支持中文编码,在python2中需要使用中文注释来支持中文
例:
#coding=utf-8
或者:
#coding=gbk
注释的作用:方便自己及其他人便于理解脚本内容,并声明相关的解释器及编码
1、声明解释器:
#!/usr/bin/env python3 #声明解释器
2、为代码进行说明:
print(“hello world!”)#在屏幕打印“hello world!”
3、声明编码:
#coding=utf-8
变量与赋值:
变量的定义:
- 一个在内存存储数据的容器。
变量定义的规则:
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
['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 python3
username="slim_liu"
passwd="abc123"
print(username,passwd)
用户输入:
#!/usr/bin/env python3
name=input("name:")
age=input("age:")
job=input("job:")
hobby=input("hobby:")
print(name,age,job,hobby)
流程控制语句-if:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#user:slim_liu
#date:2016-09-27 username=input("请输入用户名:")#提示用户输入用户名
passwd="abc123"
count=0 #控制输入次数 userfile=open('./blackuser.txt').read()
print(userfile)
while count<3: if username in userfile:
print("用户已被锁定,请联系管理员")
break
else:
user_passwd=input("请输入用户密码:") if user_passwd==passwd:
print("welcome",username)
break
else:
print("密码错误,请重试")
count+=1
else:
print("用户已锁定,请联系管理员")
userfile=open('./blackuser.txt','a+')
print(username+'\n',file=userfile)