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的历史
Python的IDE搭建
服务端(编译,解释器)…
开发工具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")
查看所有的modules:help("modules")
单看所有的modules中包含指定字符串的modules: help("modules yourstr")
查看中常见的topics: help("topics")
help("topics")
例如想要查看CALLS主题的帮助,则:help("CALLS")
查看标准库中的module:import 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
0
>>>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
0
>>>1.0//2
0
>>>-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 |
|
注:在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表示重定向文件。如果要给sep、end、file指定值必须使用关键字参数。
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'。 |
** |
幂 |
返回x的y次幂 |
3 ** 4得到81(即3 * 3 * 3 * 3) |
/ |
除 |
x除以y |
4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333 |
// |
取整除 |
返回商的整数部分 |
4 // 3.0得到1.0 |
% |
取模 |
返回除法的余数 |
8%3得到2。-25.5%2.25得到1.5 |
<< |
左移 |
把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0和1) |
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表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 |
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返回True。x = 'str'; y = 'stR'; x == y返回False。x = 'str'; y = 'str'; x == y返回True。 |
!= |
不等于 |
比较两个对象是否不相等 |
x = 2; y = 3; x != y返回True。 |
not |
布尔“非” |
如果x为True,返回False。如果x为False,它返回True。 |
x = True; not y返回False。 |
and |
布尔“与” |
如果x为False,x and y返回False,否则它返回y的计算值。 |
x = False; y = True; x and y,由于x是False,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算。 |
or |
布尔“或” |
如果x是True,它返回True,否则它返回y的计算值。 |
x = True; y = False; x or y返回True。短路计算在这里也适用。 |
1.18.2 运算符优先级
下表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)。这意味着在一个表达式中,如果没有括号,Python会首先计算表中较下面的运算符,然后在再计算列在表上部的运算符。建议使用圆括号来对运算符和操作数进行分组,以便能够明确地指出运算的先后顺序,使程序尽可能地易读。
表.运算符优先级
运算符 |
描述 |
运算符 |
描述 |
lambda |
Lambda表达式 |
*,/,% |
乘法、除法与取余 |
or |
布尔“或” |
+x,-x |
正负号 |
and |
布尔“与” |
~x |
按位翻转 |
not x |
布尔“非” |
** |
指数 |
in,not in |
成员测试 |
x.attribute |
属性参考 |
is,is 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. 如果你使用的是IDLE,直接按F5,就能查看结果
- 2. 如果用记事本,打开cmd,进入这个目录,输入命令python aa.py就出来结果了
- 3. 在IDLE命令行执行
>>> execfile('t1.py')
1.22 安装 科学计算包
http://blog.csdn.net/pfanaya/article/details/7451815
http://www.scipy.org/install.html
Python_01-入门基础的更多相关文章
- mybatis入门基础(二)----原始dao的开发和mapper代理开发
承接上一篇 mybatis入门基础(一) 看过上一篇的朋友,肯定可以看出,里面的MybatisService中存在大量的重复代码,看起来不是很清楚,但第一次那样写,是为了解mybatis的执行步骤,先 ...
- 01shell入门基础
01shell入门基础 为什么学习和使用shell编程 shell是一种脚本语言,脚本语言是相对于编译语言而言的.脚本语言不需要编译,由解释器读取程序并且执行其中的语句,而编译语言需要编译成可执行代码 ...
- Markdown入门基础
// Markdown入门基础 最近准备开始强迫自己写博文,以治疗严重的拖延症,再不治疗就“病入骨髓,司命之所属,无奈何”了啊.正所谓“工欲善其事,必先利其器”,于是乎在写博文前,博主特地研究了下博文 ...
- JavaScript入门基础
JavaScript基本语法 1.运算符 运算符就是完成操作的一系列符号,它有七类: 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=).算术运 ...
- C++ STL编程轻松入门基础
C++ STL编程轻松入门基础 1 初识STL:解答一些疑问 1.1 一个最关心的问题:什么是STL 1.2 追根溯源:STL的历史 1.3 千丝万缕的联系 1.4 STL的不同实现版本 2 牛刀小试 ...
- HTML入门基础教程相关知识
HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文 ...
- Linux shell入门基础(六)
六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...
- Linux shell入门基础(一)
Linux shell入门基础(一): 01.增加删除用户: #useradd byf userdel byf(主目录未删除) userdel -r byf 该用户的属性:usermod 用 ...
- AngularJS入门基础PPT(附下载链接)
学习了Angularjs有段时间,自己写了一个PPT,个人认为总结的非常全面,对于入门基础够了. 大致模块有:Angularjs简单介绍,Angularjs特性,hello world,Control ...
- jQuery Mobile 入门基础教程
jQuery Mobile是jQuery在手机上和平板设备上的版本.jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架. jQue ...
随机推荐
- 在CMD中使用for命令对单行字符串做分割的方法
我们都知道CMD中的for命令是执行循环命令的,数据来源可以是一个文件,一个命令的结果或一个字符串,只有这3种来源 如果是一个文件则对这个文件的所有字符串进行循环处理 如果是一个命令结果,那么对这个命 ...
- 『转』G Data InternetSecurity 2014 – 免费3个月
G Data来自德国的顶级杀毒软件,采用BitDefender+CloseGap双引擎,屡获AV-TEST防護率100%.不多介绍,目前2014中文版没有上市.活动地址:点此进入官方网站:点此进入申请 ...
- sql语句学习(第二季
union操作符 -- 4.查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩 -- (包括有成绩的和无成绩的) 两个表联查的时候,有时候一个表在另一个表没有数据,即使使用了join,还是nu ...
- spark on es 多索引查询
核心接口 trait SparkOnEsService { val conf = new SparkConf // conf.setMaster("local[10]") val ...
- android adb端口被占用解决方法
1.输入adb devices命令 C:\Users\Nick>adb devices List of devices attached adb server version (31) does ...
- WinForm 每用户只允许创建一个实例
string mutexName = System.Environment.UserName + "nono"; bool runone; System.Threading.Mut ...
- java 面向对象 — 继承
继承中的构造方法,先执行父类中的构造方法,然后执行子类中的构造方法 继承中的属性,最后执行的属性 覆盖前面的属性 因为是开辟了 两个内存空间,所以相比较是不同的. 如果想比较两个对象的值是否相同的话, ...
- VC++常规错误之17:1>nafxcwd.lib(afxmem.obj) : error LNK2005
VC++常规错误之17:1>nafxcwd.lib(afxmem.obj) : error LNK2005 (1)错误案例:在写日志程序中出现,工程是MFC程序(注:win32控制台应用程序,不 ...
- springMvc上传文件、读取zip/rar文件
参考文章: http://www.cnblogs.com/interdrp/p/6734033.html 方法一: 1)没有配置org.springframework.web.multipart.co ...
- mac上 自己安装的python 和 自带python 的可执行文件位置