Python_01-入门基础

以后我会发表一系列python脚本的学习资料,python版本为2.x。

 

目录:

1 Python入门基础 

1.1 学习资源
1.2 所有语言的入门程序---Hello World! 
1.3 帮助函数 
1.4 扩展包导入 
1.5 python 打开应用程序 
1.6 注释方式 
1.7 转义符 
1.8 运算符 
1.8.1 传统除法 
1.8.2 精确除法 
1.8.3 地板除 
1.8.4 内建函数divmod() 
1.9 格式化字符串 
1.10 字面量 
1.11 变量 
1.12 标识符的命名 
1.13 缩进 
1.14 注释 
1.15 输入输出 
1.15.1 控制台I/O 
1.16 数据类型 
1.17 字符串 
1.18 运算符及字符串的运算 
1.18.1 运算符 
1.18.2 运算符优先级 
1.18.3 计算顺序 
1.19 常用函数 
1.19.1 range函数 
1.20 Python标准库 
1.21 windows下运行脚本 
1.21.1 windows命令窗口 
1.21.2 利用IDLE界面 
1.22 安装 科学计算包 

 

 

1       Python入门基础

Python的历史

PythonIDE搭建

服务端(编译,解释器)

开发工具eclipse,ironPython,vs2008+

Python的应用领域

Python是用标准C语言写成的一种面向对象的脚本语言,语法相对简单,符合人的思维习惯,通过集成环境或解释器直接执行源程序。它可以运行在windows、linux等操作系统平台上,具有丰富的功能库以处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、GUI(图形用户界面)等。Python程序中可以使用C/C++语言编写的程序,也可以将Python程序嵌入到C/C++程序中。Python是开源自由软件,容易获得,可以阅读它的源程序并修改它。

Python在编程领域的占有率近年上升很快,应用也日渐广泛,可以用于系统编程、图形处理、数学处理、文本处理、数据库编程、网络编程、多媒体编程等方面。也被一些公司应用于产品开发上,如Google在其网络搜索系统中广泛应用了Python;YouTube视频分享系统大部分使用Python编写的,甚至NASA使用Python完成科学计算任务。

 

1.1   学习资源

http://www.w3cschool.cc/python/python-tutorial.html

 

 

1.2   所有语言的入门程序---Hello World!

Hello World 的来历

Brian Kernighan & Dennis Ritchie两位作者的《The C Programming Language 》一书中第一个范例就是输出 Hello world!该书是最权威的C语言教科书,两位作者正是大名鼎鼎的C语言发明人,昵称“K&R

我们的第一个示例

print 'Hello BK_Test'

print      1+1

print      '1'+'B'

1.3   帮助函数

help('help')

help('len')

查看所有的关键字:help("keywords")

查看所有的moduleshelp("modules")

单看所有的modules中包含指定字符串的modules help("modules yourstr")

查看中常见的topics help("topics")

help("topics")

例如想要查看CALLS主题的帮助,则:help("CALLS")

查看标准库中的moduleimport os.path + help("os.path")

查看内置的类型:help("list")

查看类型的成员方法:help("str.find")

查看内置函数:help("open")

 

1.4   扩展包导入

import packageName

from pakcageName import

一般情况下,模块和脚本必须在同一个目录下才可以引入,如果不在同一个目录下就找不到,import后又不能添加路径,如何将脚本与模块分开放呢?

 

import之前,你可以

import sys

sys.path.append('你的module的目录')

就可以import这个目录里的module了。

 

1.5   python 打开应用程序

import os 

os.system('notepad.exe') 

首先要将应用程序的exe文件目录加入到系统目录下。如notepad.exe

 

1.6   注释方式

#这里是注释内容

 

1.7   转义符

如果想要在一个字符串中包含一个单引号('),例如,这个字符串是What's your name?。如果用'What's your name?'来指示它,Python会弄不明白这个字符串从何处开始,何处结束,因为这里的’都被认为是字符串的标识符,但又不成对。所以,要指明单引号而不是字符串的标识,可以通过“\”来完成,如,'What\'s your name?'。第2个'前有一个“\”表示它就是单引号,而不是字符串的标识符。这里的“\”就是转义符。

另一个表示这种字符串的方法是"What's your name?",即用双引号。类似地,要在双引号字符串中使用双引号本身的时候,也可以借助于转义符。另外,你可以用转义符\\来指示反斜杠本身。

例如:

print  'hello \n world'

print  r'hello \n world'

>>>

hello

 world

hello \n world

1.8   运算符

Python的算术运算符除了+-*/%之外,还有求幂(**)和取整除(//);

Python的基本比较运算符 ==>=,<=,<><,>

Python的赋值运算符=

Python中分为3除法:传统除法、精确除法、地板除。

 

1.8.1   传统除法

如果是整数除法则执行地板除,如果是浮点数除法则执行精确除法。

>>>1/2 

>>>1.0/2.0 

0.5 

1.8.2   精确除法

除法总是会返回真实的商,不管操作数是整形还是浮点型。

执行from __future__ import division指令就可以做到这一点。

>>>from __future__ import division 

>>>1/2 

0.5 

>>>1.0/2.0 

0.5 

1.8.3   地板除

Python2.2开始,增加了一个操作符 // ,以执行地板除://除法不管操作数为何种数值类型,总是会舍去小数部分,返回数字序列中比真正的商小的最接近的数字。

>>>1//2 

>>>1.0//2  

>>>-1//2.0 

-1 

1.8.4   内建函数divmod()

divmod (a,b),返回(a//b,a%b)

>>>divmod(1,2)

(0,1) 

>>>divmod(3.14159,1.5)

(2.0,0.4159000000000002)

>>>5+6j//3+2j 

2+0j 

>>>5+6j%3+2j 

-1+2j 

>>>divmod(5+6j,3+2j) 

((2+0j),(-1+2j)) 

1.9   格式化字符串

字符串:%s

整型数:%d

无符号整型数:%u

八进制:%o

十六进制:%x %X

浮点数:%f

科学记数法: %e  %E

根据数值的不同自动选择%e%f: %g

 

Example:

print "The total is %0.2f" %56.3598

print "The total is %0.4f" %56.3598

print "The total is %d" %56.3598

Obj= raw_input('something input:')

print "you are %s" % Obj

 

1.10     字面量

字面量,即字面意义上的常量。一个字面意义上的常量的例子是如同15、1.823、10.25E-3这样的数,或者如同"How are you"、"It's a square!"这样的字符串。它们具备字面的意义,按照它们的字面意义使用它们的值。数2总是代表它自己,而不会是别的什么东西——它是一个常量,因为不能改变它的值。因此,所有这些都被称为字面意义上的常量。

Python中逻辑常量

True(真)和False(假)。

 

1.11     变量

变量是代表数据的符号,它的值可以改变。Python中,变量的使用不需要说明,变量类型根据值的类型确定,而且变量可以随时赋不同类型的值。变量命名符合标识符命名规定。例如

A=3

B=5

C=A+B

print(C)

 

1.12     标识符的命名

标识符是用来标识某样东西的名字。

使用标识符的例子:变量名、函数名、类名等。

在命名标识符的时候,要遵循下列规则:

①第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _ ’)。

②其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成。

③python标识符对大小写是敏感的。例如,name和Name被认为是两个标识符。

1.13     缩进

空白在Python中非常重要。行首的空白称为缩进,它决定逻辑行的缩进层次,从而用来决定语句的分组。同一层次的语句必须有相同的缩进量(缩进几个字符)。每一组这样的语句称为一个块。语句块是进行处理的同一批语句。简言之,python是用连续相同层次缩进表示语句块的。例如for语句后相同缩进量相同的连续语句是其循环体。

注意,不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。建议在每个缩进层次使用单个制表符或两个或四个空格。

1.14     注释

在Python中,#号开始至行末的文字为注释。没有多行注释。

1.15     输入输出

从键盘输入数据使用input函数,格式为:

x=input("Please input a data")

从键盘输入一行字符串,赋值给x,是字符串类型,即使输入的是一个整数,其中的“Please input a data”是提示信息,可以根据需要改变。要想改变数据的类型,使用:

x=int(input("Please input a data")

其中int表示将后面的字符串类型的数转换为整数类型的数。还可以是float,complex,表示将输入的字符串转换为实数和复数。

Python的输出使用print函数,格式为:

print( <表达式列表> )

其中“表达式列表”是用逗号隔开的表达式,如:

A=4

B=5

C=A+B

print('A+B=',C)

结果为:

A+B= 9

 

1.15.1 控制台I/O

1.读取键盘输入

内置函数input([prompt]),用于从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符):

1

s =input("Enter your input:")

注:Python 3.x版本中取消了 raw_input() 函数

2.打印到屏幕

最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式:

下面这个参数列表是3.x里的,2.x不支持。

print([object, ...][, sep=' '][, end='endline_character_here'][, file=redirect_to_here])

方括号内是可选的,sep表示分割符,end表示结束符,file表示重定向文件。如果要给sependfile指定值必须使用关键字参数。

print('hello', 'world', sep='%')  # 输出 hello%world

print('hello', 'world', end='*')  # 输出 hello world*,并且不换行

 

1.16     数据类型

Python中将组成程序的元素称为对象

对象的类型:

数字(number)、字符串(string)、列表(list)、字典(dictionary)、元组(tuple)和文件(file)。

在Python中有四种类型的数(number)——整数(int)、浮点数(float)和复数()

29是一个整数。

长整数是大一些的整数。8.23和19.3E-4是浮点数。E标记表示10的幂,这里,19.3E-4表示19.3 * 10-4。 (-5+4j)和(2.3-4.6j)是复数。

 

1.17     字符串

字符串是字符的序列,如上面的"How are you"。字符串基本上就是一组单词,一对单引号或一对双引号之间的字符序列表示一个字符串。用一对三引号引起来表示一段文本。

(1)使用单引号('

用单引号指示字符串,就如同'Quote me on this'这样。所有的空白,即空格和制表符都照原样保留。

(2)使用双引号("

在双引号中的字符串与单引号中的字符串的使用完全相同,例如"What's your name?"

(3)使用三引号('''或"""

使用三个连续的引号标记的内容称为文档字符串。利用三引号,可以指示一个多行的字符串。还可以在三引号中自由地使用单引号和双引号。文档字符串可以方便地保留文本中的换行信息,用来在代码中书写大段的说明很方便,所以它经常用于块注释。

例如:

doc1="""   name zhang

tel 8765234

"""

doc1="""Spring Festival is not only a time for family reunions, but it also brings with it a string of entertainment, from traditional to modern.

Pi Ying, or "shadow play" used to be one of the most popular performing arts across China.

Combining fine arts, opera, music and drama, it's seen by some as a rudimentary form of the motion picture. 

"""

 

1.18     运算符及字符串的运算

1.18.1 运算符

Python 的运算符见表4-1

表4-1 python的运算符

运算符

名称

说明

例子

+

两个对象相加

3 + 5得到8'a' + 'b'得到'ab'

-

得到负数或是一个数减去另一个数

-5.2得到一个负数。50 - 24得到26

*

两个数相乘或是返回一个被重复若干次的字符串

2 * 3得到6'la' * 3得到'lalala'

**

返回xy次幂

3 ** 4得到81(即3 * 3 * 3 * 3

/

x除以y

4/3得到1(整数的除法得到整数结果)。4.0/34/3.0得到1.3333333333333333

//

取整除

返回商的整数部分

4 // 3.0得到1.0

%

取模

返回除法的余数

8%3得到2-25.5%2.25得到1.5

<< 

左移

把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即01

2 << 2得到8——2按比特表示为10

>> 

右移

把一个数的比特向右移一定数目

11 >> 1得到5——11按比特表示为1011,向右移动1比特后得到101,即十进制的5

&

按位与

数的按位与

5 & 3得到1

|

按位或

数的按位或

5 | 3得到7

^

按位异或

数的按位异或

5 ^ 3得到6

~

按位翻转

x的按位翻转是-(x+1)

~5得到6

小于

返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量TrueFalse等价。注意,这些变量名的大写。

5 < 3返回0(即False)而3 < 5返回1(即True)。比较可以被任意连接:3 < 5 < 7返回True

大于

返回x是否大于y

5 > 3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False

<=

小于等于

返回x是否小于等于y

x = 3; y = 6; x <= y返回True

>=

大于等于

返回x是否大于等于y

x = 4; y = 3; x >= y返回True

==

等于

比较对象是否相等

x = 2; y = 2; x == y返回Truex = 'str'; y = 'stR'; x == y返回Falsex = 'str'; y = 'str'; x == y返回True

!=

不等于

比较两个对象是否不相等

x = 2; y = 3; x != y返回True

not

布尔

如果xTrue,返回False。如果xFalse,它返回True

x = True; not y返回False

and

布尔

如果xFalsex and y返回False,否则它返回y的计算值。

x = False; y = True; x and y,由于xFalse,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为xFalse)。这个现象称为短路计算。

or

布尔

如果xTrue,它返回True,否则它返回y的计算值。

x = True; y = False; x or y返回True。短路计算在这里也适用。

 

1.18.2 运算符优先级

下表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)。这意味着在一个表达式中,如果没有括号,Python会首先计算表中较下面的运算符,然后在再计算列在表上部的运算符。建议使用圆括号来对运算符和操作数进行分组,以便能够明确地指出运算的先后顺序,使程序尽可能地易读。

表.运算符优先级

运算符

描述

运算符

描述

lambda

Lambda表达式

*/%

乘法、除法与取余

or

布尔

+x-x

正负号

and

布尔

~x

按位翻转

not x

布尔

**

指数

innot in

成员测试

x.attribute

属性参考

isis not

同一性测试

x[index]

下标

<<=>>=!===

比较

x[index:index]

寻址段

|

按位或

f(arguments...)

函数调用

^

按位异或

(experession,...)

绑定或元组显示

&

按位与

[expression,...]

列表显示

<<>>

移位

{key:datum,...}

字典显示

+-

加法与减法

'expression,...'

字符串转换

 

1.18.3 计算顺序

默认地,运算符优先级表决定了哪个运算符在别的运算符之前计算。

具有相同优先级的运算符按照从左向右的顺序计算。通常可以使用圆括号改变计算次序,例如,在表达式12 + 3 * 4中乘法先进行运算,而表达式(12 + 3) * 4中,加先进行运算。

 

1.19     常用函数

1.19.1 range函数

如果你要遍历一个数字序列,那么内置的range()函数就可以派上用场了。函数range()常用于for循环中,用于产生一个算术数列:

>>> range(10)  # 默认从0开始

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> range(1, 11) # 从1到11,前闭后开

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> range(0, 30, 5) # 5表示步长,每隔5取一个数

[0, 5, 10, 15, 20, 25]

示例代码如下:

for i in range(2, 11):

    print(i)

 

1.20     Python标准库

Python标准库是随Python附带安装的,它包含大量极其有用的模块。

os 模块提供了不少与操作系统相关联的函数。

glob 模块提供了一个函数用于从目录通配符搜索中生成文件列表。

re 模块为高级字符串处理提供了正则表达式工具。对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案。

math 模块为浮点运算提供了对底层C函数库的访问。

random 提供了生成随机数的工具。

有几个模块用于访问互联网以及处理网络通信协议。其中最简单的两个是用于处理从 urls 接收的数据的 urllib2 以及用于发送电子邮件的 smtplib

datetime 模块为日期和时间处理同时提供了简单和复杂的方法。支持日期和时间算法的同时,实现的重点放在更有效的处理和格式化输出。该模块还支持时区处理。

以下模块直接支持通用的数据打包和压缩格式:

zlib, gzip, bz2, zipfile以及 tarfile

 

 

 

1.21     windows下运行脚本

1.21.1 windows命令窗口

在cmd命令行中,输入 “python” + “空格”,即“python ”;

将已经写好的脚本文件拖拽到当前光标位置,然后敲回车运行即可

 

1.21.2 利用IDLE界面

你的python环境装好后,就有一个IDLE工具,你找一下安装目录,自带的编辑器,在任意目录新建一个  aa.py  文件,用记事本和IDLE工具都行,输入print("Hello World")

  1. 1.         如果你使用的是IDLE,直接按F5,就能查看结果
  2. 2.         如果用记事本,打开cmd,进入这个目录,输入命令python aa.py就出来结果了
  3. 3.         在IDLE命令行执行

>>> execfile('t1.py')

 

 

1.22     安装 科学计算包

http://blog.csdn.net/pfanaya/article/details/7451815

http://www.scipy.org/install.html

 

posted @ 2015-04-24 00:20  jiu~  阅读(1412)  评论(4编辑  收藏  举报