Python十分钟入门
【简介】
Python是一种动态解释型的编程语言。Python可以在Windows、UNIX、MAC等多种操作系统上使用,也可以在Java、.NET开发平台上使用。
【特点】
1. Python使用C语言开发,但是Python不再有C语言中的指针等复杂的数据类型。
2. Python具有很强的面向对象特性,而且简化了面向对象的实现。它消除了保护类型、抽象类、接口等面向对象的元素。
3. Python代码块使用空格或制表符缩进的方式分隔代码。
4. Python仅有31个保留字,而且没有分号、begin、end等标记。
5. Python是强类型语言,变量创建后会对应一种数据类型,出现在统一表达式中的不同类型的变量需要做类型转换。
【搭建开发环境】
1. 可以到www.python.org下载安装包,然后通过configure、make、make install进行安装。
2. 也可以到www.activestate.com去下载ActivePython组件包。(ActivePython是对Python核心和常用模块的二进制包装,它是ActiveState公司发布的Python开发环境。ActivePython使得Python的安装更加容易,并且可以应用在各种操作系统上。ActivePython包含了一些常用的Python扩展,以及Windows环境的编程接口)。对ActivePython来说,如果你是windows用户,下载msi包安装即可;如果你是Unix用户,下载tar.gz包直接解压即可。
3. Python的IDE,包括PythonWin、Eclipse+PyDev插件、Komodo、EditPlus
【版本】
python2与python3是目前主要的两个版本。
如下两种情况下,建议使用python2:
1. 你无法完全控制你即将部署的环境时;
2. 你需要使用一些特定的第三方包或扩展时;
python3 是官方推荐的且是未来全力支持的版本,目前很多功能提升仅在python3版本上进行。
【hello world】
1 创建hello.py
2 编写程序:
1
2
|
if __name__ = = \ '__main__\' : print "hello word" |
3 运行程序:
1
|
python . / hello.py |
【注释】
1 无论是行注释还是段注释,均以#加一个空格来注释。
2 如果需要在代码中使用中文注释,必须在python文件的最前面加上如下注释说明:
1
|
# -* - coding: UTF-8 -* - |
3 如下注释用于指定解释器
1
|
#! /usr/bin/python |
【文件类型】
1 Python的文件类型分为3种,即源代码、字节代码和优化代码。这些都可以直接运行,不需要进行编译或连接。
2 源代码以.py为扩展名,由python来负责解释;
3 源文件经过编译后生成扩展名为.pyc的文件,即编译过的字节文件。这种文件不能使用文本编辑器修改。pyc文件是和平台无关的,可以在大部分操作系统上运行。如下语句可以用来产生pyc文件:
1
2
|
import py_compile py_compile. compile (‘hello.py’) |
4 经过优化的源文件会以.pyo为后缀,即优化代码。它也不能直接用文本编辑器修改,如下命令可用来生成pyo文件:
1
|
python - O - m py_complie hello.py |
【变量】
1 python中的变量不需要声明,变量的赋值操作即使变量声明和定义的过程。
2 python中一次新的赋值,将创建一个新的变量。即使变量的名称相同,变量的标识并不相同。用id()函数可以获取变量标识:
1
2
3
4
|
x = 1 print id(x) x = 2 print id(x) |
3 如果变量没有赋值,则python认为该变量不存在
4 在函数之外定义的变量都可以称为全局变量。全局变量可以被文件内部的任何函数和外部文件访问。
5 全局变量建议在文件的开头定义。
6 也可以把全局变量放到一个专门的文件中,然后通过import来引用:
gl.py文件中内容如下:
1
2
|
_a = 1 _b = 2 |
use_global.py中引用全局变量:
1
2
3
4
5
|
import gl def fun(): print gl._a print gl._b fun() |
【常量】
python中没有提供定义常量的保留字。可以自己定义一个常量类来实现常量的功能。
1
2
3
4
5
6
7
8
|
class _const: class ConstError(TypeError): pass def __setattr__( self ,name,vlaue): if self .__dict__.has_key(name): raise self .ConstError, “Can’t rebind const( % s)” % name self .__dict__[name] = value import sys sys.modules[__name__] = _const() |
【数据类型】
1 python的数字类型分为整型、长整型、浮点型、布尔型、复数类型。
2 python没有字符类型
3 python内部没有普通类型,任何类型都是对象。
4 如果需要查看变量的类型,可以使用type类,该类可以返回变量的类型或创建一个新的类型。
5 python有3种表示字符串类型的方式,即单引号、双引号、三引号。单引号和双引号的作用是相同的。python程序员更喜欢用单引号,C/Java程序员则习惯使用双引号表示字符串。三引号中可以输入单引号、双引号或换行等字符。
【运算符和表达式】
1 python不支持自增运算符和自减运算符。例如i++/i-是错误的,但i+=1是可以的。
2 1/2在python2.5之前会等于0.5,在python2.5之后会等于0。
3 不等于为!=或<>
4 等于用==表示
5 逻辑表达式中and表示逻辑与,or表示逻辑或,not表示逻辑非
【控制语句】
1 条件语句:
1
2
3
4
|
if (表达式) : 语句 1 else : 语句 2 |
2 条件语句:
1
2
3
4
5
6
7
8
9
|
if (表达式) : 语句 1 elif (表达式) : 语句 2 … elif (表达式) : 语句n else : 语句m |
3 条件嵌套:
1
2
3
4
5
6
7
8
9
10
11
12
|
if (表达式 1 ) : if (表达式 2 ) : 语句 1 elif (表达式 3 ) : 语句 2 … else : 语句 3 elif (表达式n) : … else : … |
4 python本身没有switch语句。
5 循环语句:
1
2
3
4
|
while (表达式) : … else : … |
6 循环语句:
1
2
3
4
|
for 变量 in 集合 : … else : … |
7 python不支持类似c的for(i=0;i<5;i++)这样的循环语句,但可以借助range模拟:
1
2
|
for x in range ( 0 , 5 , 2 ): print x |
【数组相关】
1 元组(tuple):python中一种内置的数据结构。元组由不同的元素组成,每个元素可以存储不同类型的数据,如字符串、数字甚至元素。元组是写保护的,即元组创建之后不能再修改。元组往往代表一行数据,而元组中的元素代表不同的数据项。可以把元组看做不可修改的数组。创建元组示例如下:
1
|
tuple_name = (“apple”,”banana”,”grape”,”orange”) |
2 列表(list):列表和元组相似,也由一组元素组成,列表可以实现添加、删除和查找操作,元素的值可以被修改。列表是传统意义上的数组。列表创建示例如下:
1
|
list = [“apple”,”banana”,”grage”,”orange”] |
可以使用append方法来在尾部追加元素,使用remove来删除元素。
3 字典(dictionary):由键-值对组成的集合,字典中的值通过键来引用。键和值之间用冒号隔开,键-值对之间用逗号隔开,并且被包含在一对花括号中。创建示例如下:
1
|
dict = {“a”:”apple”, “b”:”banana”, “g”:”grage”, “o”:”orange”} |
4 序列:序列是具有索引和切片能力的集合。元组、列表和字符串都属于序列。
【函数相关】
1 python程序由包(package)、模块(module)和函数组成。包是由一系列模块组成的集合。模块是处理某一类问题的函数和类的集合。
2 包就是一个完成特定任务的工具箱。
3 包必须含有一个__init__.py文件,它用于标识当前文件夹是一个包。
4 python的程序是由一个个模块组成的。模块把一组相关的函数或代码组织到一个文件中,一个文件即是一个模块。模块由代码、函数和类组成。导入模块使用import语句。
5 包的作用是实现程序的重用。
6 函数是一段可以重复多次调用的代码,函数定义示例如下:
1
2
3
4
5
6
7
|
def arithmetic(x,y,operator): result = { “ + ”:x + y, “ - “:x - y, “ * ”:x * y, “ / ”:x / y } |
7 函数返回值可以用return来控制。
【字符串相关】
1 格式化输出:
1
2
|
format = ” % s % d” % (str1,num) print format |
2 用+进行字符串的合并:
1
2
3
|
str1 = ”hello” str2 = ”world” result = str1 + str2 |
3 字符串截取可以通过索引/切片,也可以通过split函数。
4 通过切片截取字符串:
1
2
|
word = ”world” print word[ 0 : 3 ] |
5 python使用==和!=来进行字符串比较。如果比较的两个变量的类型不相同,那么结果必然为不同。
【文件处理】
1 简单处理文件:
1
2
3
4
|
context = ”hello,world” f = file (“hello.txt”,’w’) f.write(context); f.close() |
2 读取文件可以使用readline()函数、readlines()函数和read函数。
3 写入文件可以使用write()、writelines()函数
【对象和类】
1 python用class保留字来定义一个类,类名的首字符要大写。当程序员需要创建的类型不能用简单类型来表示时,就需要定义类,然后利用定义的类创建对象。定义类示例:
1
2
3
|
class Fruit: def grow( self ): print “Fruit grow” |
2 当一个对象被创建后,包含了三方面的特性,即对象的句柄、属性和方法。创建对象的方法:
1
2
|
fruit = Fruit() fruit.grow() |
3 python没有保护类型的修饰符
4 类的方法也分为公有方法和私有方法。私有函数不能被该类之外的函数调用,私有的方法也不能被外部的类或函数调用。
5 python使用函数”staticmethod()“或”@ staticmethod“指令的方法把普通的函数转换为静态方法。静态方法相当于全局函数。
6 python的构造函数名为__init__,析构函数名为__del__
7 继承的使用方法:
1
2
|
class Apple(Fruit): def … |
【连接mysql】
1 用MySQLdb模块操作MySQL数据库非常方便。示例代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import os, sys import MySQLdb try : conn MySQLdb.connect(host = ’localhost’,user = ’root’,passwd = ’’,db = ’address’ except Exception,e: print e sys.exit() cursor = conn.cursor() sql = ’insert into address(name, address) values( % s, % s)’ value = ((“zhangsan”,”haidian”),(“lisi”,”haidian”)) try cursor.executemany(sql,values) except Exception, e: print e sql = ”select * from address” cursor.execute(sql) data = cursor.fetchall() if data for x in data: print x[ 0 ],x[ 1 ] cursor.close() conn.close() |
谢谢!
Python十分钟入门的更多相关文章
- 转载:Python十分钟入门
Python十分钟入门:http://python.jobbole.com/23425/
- 十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less))
十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less)) 注:本文为翻译文章,因翻译水平有限,难免有缺漏不足之处,可查看原文. 我们知道写css代码是非常枯燥的 ...
- Python 30分钟入门指南
Python 30分钟入门指南 为什么 OIer 要学 Python? Python 语言特性简洁明了,使用 Python 写测试数据生成器和对拍器,比编写 C++ 事半功倍. Python 学习成本 ...
- Python十分钟学会
初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手册(Cheat ...
- Python学习总结(一)—— 十分钟入门
一.Python概要 1.1.语言简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,具有20多年的发展历史,成熟且稳定. 用任何编程语言来开发程序,都是为了让计算机干活,比如下 ...
- 强大的 Python 任务自动化工具!invoke 十分钟入门指南
接着前面的<tox 教程>,以及刚翻译好的<nox文档>,我们继续聊聊 Python 任务自动化的话题. nox 的作者在去年的 Pycon US 上,做了一场题为<Br ...
- (转)十分钟入门pandas
本文是对pandas官方网站上<10 Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook . 习 ...
- python 10分钟入门pandas
本文是对pandas官方网站上<10 Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook .习惯 ...
- 十分钟入门流处理框架Flink --实时报表场景的应用
随着业务的发展,数据量剧增,我们一些简单报表大盘类的任务,就不能简单的依赖于RDBMS了,而是依赖于数仓之类的大数据平台. 数仓有着巨量数据的存储能力,但是一般都存在一定数据延迟,所以要想完全依赖数数 ...
随机推荐
- spring @qualifier注解
1.spring @qualifier注解用来在spring按类型装配可能存在多个bean的情况下,@qualifier注解可以用来缩小范围或者指定唯一. 也可以用来指定方法参数 2.@qualifi ...
- C#基础练习(使用委托窗体传值)
主界面: Form1中的代码: namespace _06委托练习_窗体传值 { public partial class Form1 : Form { public ...
- SVN与Eclipse整合
SVN与Eclipse整合 下载SVN插件(http://subclipse.tigris.org) 我们使用版本eclipse_svn_site-1.6.5.zip 解压到一个文件夹中 进入ecli ...
- linux 进入包含空格文件名的文件夹
可以使用加英文的引号cd /usr/chen/java/"MyeClips\ 如果"\"在行末,是说明本行还未结束,下面一行和本行是一起的意思. 一般短格式的选项(一个 ...
- nodejs搭配phantomjs highcharts后台生成图表
简单分享一下,后台使用nodejs结合highcharts.phantomjs生成报表图片的方法.这主要应用在日报邮件. 主要参考以下资料: http://www.highcharts.com/com ...
- 机器学习 —— 概率图模型(Homework: Exact Inference)
在前三周的作业中,我构造了概率图模型并调用第三方的求解器对器进行了求解,最终获得了每个随机变量的分布(有向图),最大后验分布(双向图).本周作业的主要内容就是自行编写概率图模型的求解器.实际上,从根本 ...
- 深度卷积神经网络用于图像缩放Image Scaling using Deep Convolutional Neural Networks
This past summer I interned at Flipboard in Palo Alto, California. I worked on machine learning base ...
- c语言头文件和源文件不在同一个目录
http://www.cnblogs.com/ShaneZhang/archive/2013/05/20/3088688.html 从工程上讲,头文件的文件名应该与对应的源文件名相同便于维护,如果头文 ...
- Linux批量杀进程
ps -ef |grep 进程名|grep -v grep |awk '{print $2}' |xargs kill -9
- ios越狱开发第一次尝试记录
1.THEOS的makefile文件中的THEOS_DEVICE_IP要写在第一行 2.如果make package install报错 dpkg status database is locked ...