- 浏览: 253978 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
B/S结构下套打票据实现 - Lodop打印组件 -
iTarget:
原原文::http://blog.csdn.net/steve ...
加减乘除的问题 - BigDecimal -
iTarget:
原文:http://blog.csdn.net/gqm1982 ...
加减乘除的问题 - BigDecimal -
iTarget:
在Java中,要想实现精确计算,解决方案是使用BigDecim ...
加减乘除的问题 - BigDecimal -
叶寒_:
...
JSP简单标签
第1章 Python语言入门
1.1 HelloWorld
print 'helloworld'
1.2 Python数学计算
print 'helloworld' print 3 + 5 x = 2 ** 2.5 #次方 y = 0 print x, y from math import * #引入math包 print sqrt(3.0) print log10(2) print sin(pi / 3)
1.3 斐波那契数列
a, b = 0, 1 while b < 1000: print b, a, b = b, a + b
第2章 数据类型
2.1 数字
1、 Python支持的数字类型包括:浮点数、整数、长整数等。
2、 算数运算符包括:+、-、*、/、%等。
3、 负号运算符 –。
4、 位运算符 <<、>>、&、^等。
2.2 字符串
1、 单引号
print 'this is a "single-quoted" string,\n don\'t you like it?'
2、 双引号
print "this is a 'double-quoted' string"
3、 三引号
print '''this is a triply-quoted string 字串中可以換行, 也可以用單引號和雙引號'''
注:使用三引号字符可以换行,并可以添加单引号和双引号
2.2.1 字符处理
s1 = 'Hello' s2 = 'World' print s1 + ',' + s2 #重复打印10个* print '*' * 10 #重复打印10个* print 'Hello,World!'[3] #取char for c in 'hello,world!':print c #循环查询char print 'world' in 'hello,world!' #判断字符串是否包含子串,返回true/false print 'Hello,World!'[0:5] #类似java的substring() print len('Hello,World!') #字符串长度 n = 10 print '学生人数为%d' % n #格式化字符串
2.3 List
m = [1, 5, 7, -3, -1, 0] m.append(3) #添加一个元素 m.extend([1, 0, -1, -2]) #添加一批元素 del m[1:3] #删除元素 m[1] = -1 #换掉一个元素 m.insert(-1, 3.5) #插入元素参数1:位置,参数2为元素 m[2:4] = [3, 4, 5] #换掉一批元素 m.sort() #排序 m.reverse() #翻转 m.len() #长度 listone = [2, 3, 4] listtwo = [2 * i for i in listone if i > 2] print listtwo #输出结果为6,8 #为满足条件(if i > 2)的数指定了一个操作(2*i)
2.4 字典Directory
prices = { 'apple': 7.5, 'orange': 4.5, 'banana': 2} prices['orange'] # 根据键获值 prices.has_key('tomato') prices.keys() # 获取键集合 prices['guava'] = 6.7 # 添加元素
第3章 流程控制
3.1 流程控制
a = 'wangtong' if a == 'wang': print '[%s]' % a elif not a == 'tong': #没有或者有多个 print '[%s]' % a else: print '[%s]' % a
3.2 逻辑表达式
a, b = 5, 1 def func(x): print 'x=%s in func' % x return 1 print a == 5 or func(a) #先判断a=5、再判断func(a)、最后是or print a > b and func(b) #判断a>b、func(b)、最后and
? 逻辑非 not、和 and 、或 or
? 在 in 、 不在 not in
? 比较运算符: 相等 == 不相等 != 大於 > 小於 < 不小於 >= 不大於 <=
可串接: 如 a < b < c != d > g 即等同于 a < b and b < c and c != d and d > g
? 优先順序: 在、不在 > 比较 > 非 > 和 > 或
3.3 循环
3.3.1 For循环
array = ['apple', 'tangerine', 'banana'] print array for fruit in array: #for循环 print fruit, len(fruit) if fruit[0] > 'p': break 3.3.2 For分叉 for n in range(2, 10): for x in range(2, n): if n % x == 0: print n, 'equals', x, '*', n / x break else:# not for "if", but for end-of-for-loop print n, 'is a prime number'
? break: 跳出循环
? continue: 略过区块的以下部分、从循环的下一次继续
? else: 在循环走到底时执行
3.3.3 For小技巧
3.3.3.1 遍历字典
prices = { 'apple': 7.5, 'orange': 4.5, 'banana': 2} for stuff, price in prices.items(): print stuff, '价格是', price
3.3.3.2 列出序列索引
prices = { 'apple': 7.5, 'orange': 4.5, 'banana': 2} m = prices.keys() m.sort() for i, v in enumerate(m): print i, v
输出结果:
0 apple
1 banana
2 orange
3.3.3.3 同时循环2个序列
questions = [ 'name' , 'quest' , 'favorite color' ] answers = [ 'lancelot' , 'the holy grail' , 'blue'] for q, a in zip(questions, answers): print 'What is your %s? It is %s.' % (q, a)
3.3.4 While循环
i = 7 while i > 0: print i i = i -1
3.3.5 Range范围函数
print range(10) #0 - 10 循环10次 print range(3, 6) # 包括 3, 不包括 6 print range(2, 8, 2) # 每步加 2 m = [x * x for x in range(4)] # (list comprehension) print m for i in range(len(m)): print i, m[i]
第4章 函数
4.1 函数基础
def distance(v0,a,t): return v0*t + a/2.0 * t*t print distance(1, 2, 3)
4.2 预设参数值
def eat(maxprice, lunch='chickenrice', soup='no'): print 'will eat', lunch, 'for lunch with', soup, 'soup for less than', maxprice eat(150, '天丼', '味噌') eat(130, '天丼') eat(130, soup='羅宋') eat(150, soup='羅宋', lunch='pasta')
在定义函数时: 有预设的参数必须在位置参数的后面
4.3 DocString
def printMax(x, y): '''Prints the maximum of two numbers. The two values must be integers.''' x = int(x) # convert to integers, if possible y = int(y) if x > y: print x, 'is maximum' else: print y, 'is maximum' printMax(3, 5) print printMax.__doc__ #使用__doc__实现docString 实现打印文档字符串
输出结果:
5 is maximum
Prints the maximum of two numbers.
The two values must be integers.
第5章 模块
5.1 使用SYS模块
import sys #引入sys模块,sys模块包含了与Python解释器和它的环境有关的函数 print 'The command line arguments are:' for i in sys.argv: print i print '\n\nThe PYTHONPATH is', sys.path, '\n'
5.2 From …import
from math import * #引入math包
注:从代码可读性考虑,尽量避免使用from…import方式导入模块,推荐使用import方式
5.3 模块的__name__
if __name__ == '__main__': print 'This program is being run by itself' else: print 'I am being imported from another module'
5.4 创建模块
def sayhi(): print 'Hi, this is mymodule speaking.' version = '0.1'
import module #导入模块 module.sayhi() #调用模块的方法 print 'Version', module.version
5.5 Dir函数
可以使用内建的dir()来列出模块定义的标识符。标识符有函数、类和变量。
当你为dir()提供一个模块名的时候,它返回模块定义的名称列表。如果不提供参数,它返回当前模块中定义的名称列表。
import sys print dir(sys) # get list of attributes for sys module
第6章 面向对象编程
6.1 Self
在Python的Self相当于Java的this指针。
6.2 Class
class Person: pass # An empty block p = Person() print p # 返回结果为<__main__.Person instance at 1>
6.3 __Init__方法
注:__Init__方法就是Python的构造器,用于初始化值和对象
class Person: def __init__(self, name): #初始化方法 self.name = name def sayHi(self): print 'Hello, my name is', self.name p = Person('Swaroop') #实例化 p.sayHi()
6.4 类与对象方法
类的变量:由一个类的所有对象(实例)共享使用。只有一个类变量的拷贝,所以
class Person: '''Represents a person.''' population = 0 #类变量 def __init__(self, name): '''Initializes the person's data.''' self.name = name print '(Initializing %s)' % self.name #When this person is created, he/she adds to the population Person.population += 1 def __del__(self): '''I am dying.''' print '%s says bye.' % self.name Person.population -= 1 if Person.population == 0: print 'I am the last one.' else: print 'There are still %d people left.' % Person.population def sayHi(self): '''Greeting by the person. Really, that's all it does.''' print 'Hi, my name is %s.' % self.name def howMany(self): '''Prints the current population.''' if Person.population == 1: print 'I am the only person here.' else: print 'We have %d persons here.' % Person.population swaroop = Person('Swaroop') swaroop.sayHi() swaroop.howMany() kalam = Person('Abdul Kalam') kalam.sayHi() kalam.howMany() swaroop.sayHi() swaroop.howMany()
当某个对象对类的变量做了改动的时候,这个改动会反映到所有其他的实例上。
对象的变量:由类的每个对象/实例拥有。因此每个对象有自己对这个域的一份拷贝,即它们不是共享的,在同一个类的不同实例中,虽然对象的变量有相同的名称,但是是互不相关的。
注:Python中所有的类成员(包括数据成员)都是 公共的 ,所有的方法都是有效的 。
6.5 继承
class SchoolMember: '''Represents any school member.''' def __init__(self, name, age): self.name = name self.age = age print '(Initialized SchoolMember: %s)' % self.name def tell(self): '''Tell my details.''' print 'Name:"%s" Age:"%s"' % (self.name, self.age), class Teacher(SchoolMember): #继承自SchoolMember类 '''Represents a teacher.''' def __init__(self, name, age, salary): SchoolMember.__init__(self, name, age) self.salary = salary print '(Initialized Teacher: %s)' % self.name def tell(self): SchoolMember.tell(self) print 'Salary: "%d"' % self.salary class Student(SchoolMember): '''Represents a student.''' def __init__(self, name, age, marks): SchoolMember.__init__(self, name, age) self.marks = marks print '(Initialized Student: %s)' % self.name def tell(self): SchoolMember.tell(self) print 'Marks: "%d"' % self.marks t = Teacher('Mrs. Shrividya', 40, 30000) s = Student('Swaroop', 22, 75) print # prints a blank line members = [t, s] for member in members: member.tell() # works for both Teachers and Students
第7章 输入与输出
7.1 文件
poem = '''\ Programming is fun When the work is done if you wanna make your work also fun: use Python! ''' f = file('poem.txt', 'w') # open for writing f.write(poem) # write text to file f.close() # close the file f = file('poem.txt') # if no mode is specified,read mode is assumed by default while True: line = f.readline() if len(line) == 0: # Zero length indicates EOF break print line, # Notice comma to avoid automatic newline added by Python f.close() # close the file
7.2 存储器
Python提供一个标准的模块,称为pickle。使用它你可以在一个文件中储存任何Python对象,之后你又可以把它完整无缺地取出来。这被称为持久地储存对象。
另一个模块称为cPickle,它的功能和pickle模块完全相同,只不过它是用C语言编写的,因此要快得多(比pickle快1000倍)。你可以使用它们中的任一个,而我们在这里将使用cPickle模块。
注:类似于Java的串行化和反串行化
import cPickle as p #import pickle as p shoplistfile = 'shoplist.data' # the name of the file where we will store the object shoplist = ['apple', 'mango', 'carrot'] # Write to the file f = file(shoplistfile, 'w') p.dump(shoplist, f) # dump the object to a file f.close() del shoplist # remove the shoplist # Read back from the storage f = file(shoplistfile) storedlist = p.load(f) print storedlist
第8章 异常
8.1 Try/Exception
import sys try: s = raw_input('Enter something --> ') except EOFError: print '\nWhy did you do an EOF on me?' sys.exit() # exit the program except: print '\nSome error/exception occurred.' print 'Done'
8.2 引发异常 Raise
class ShortInputException(Exception): '''A user-defined exception class.''' def __init__(self, length, atleast): Exception.__init__(self) self.length = length self.atleast = atleast try: s = raw_input('Enter something --> ') if len(s) < 3: raise ShortInputException(len(s), 3) #抛出异常 # Other work can continue as usual here except EOFError: print '\nWhy did you do an EOF on me?' except ShortInputException, x: print 'ShortInputException: The input was of length %d, \ was expecting at least %d' % (x.length, x.atleast) else: print 'No exception was raised.'
注:类似于Java的throw抛出异常
8.3 Try/Exception/Finally
import time try: f = file('poem.txt') while True: # our usual file-reading idiom line = f.readline() if len(line) == 0: break time.sleep(2) print line, finally: f.close() print 'Cleaning up...closed the file'
第9章 Python标准库
9.1 Sys模块
Sys模块包含系统对应的功能。
import sys def readfile(filename): '''Print a file to the standard output.''' f = file(filename) while True: line = f.readline() if len(line) == 0: break print line, # notice comma f.close() # Script starts from here if len(sys.argv) < 2: print 'No action specified.' sys.exit() if sys.argv[1].startswith('--'): option = sys.argv[1][2:] # fetch sys.argv[1] but without the first two characters if option == 'version': print 'Version 1.2' elif option == 'help': print '''\ This program prints files to the standard output. Any number of files can be specified. Options include: --version : Prints the version number --help : Display this help''' else: print 'Unknown option.' sys.exit() else: for filename in sys.argv[1:]: readfile(filename)
9.2 OS模块
这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。
常用的函数如下:
os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。
os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
os.getenv()和os.putenv()函数分别用来读取和设置环境变量。
os.listdir()返回指定目录下的所有文件和目录名。
os.remove()函数用来删除一个文件。
os.system()函数用来运行shell命令。
os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
os.path.split()函数返回一个路径的目录名和文件名。
第10章 Python常用技巧
10.1 特殊方法
__init__(self,...) 这个方法在新建对象恰好要被返回使用之前被调用。
__del__(self) 恰好在对象要被删除之前调用。
__str__(self) 在我们对对象使用print语句或是使用str()的时候调用。
__lt__(self,other) 当使用 小于 运算符(<)的时候调用。类似地,对于所有的运算符(+,>等等)都有特殊的方法。
__getitem__(self,key) 使用x[key]索引操作符的时候调用。
__len__(self) 对序列对象使用内建的len()函数的时候调用。
10.2 Lambda形式
lambda语句被用来创建新的函数对象,并且在运行时返回它们。个人感觉lambda有点像函数指针。
def make_repeater(n): return lambda s: s * n twice = make_repeater(2) #将make_repeater赋值给变量twice print twice('word') #调用make_reoeater函数 print twice(5)
10.3 Exec/Eval
exec语句用来执行储存在字符串或文件中的Python语句。
eval语句用来计算存储在字符串中的有效Python表达式。
exec 'print "Hello World"' eval ('2*3')
发表评论
-
Email - 邮件接收
2009-05-05 10:21 1470#-*- coding: utf-8 -*- #!/user ... -
Email - 发送邮件
2009-05-04 13:24 1028import sys import socket impo ... -
Python类的特性方法
2009-04-28 11:33 2292Python 类可以定义的专用方法。专用方法是在特殊情况下或当 ... -
Python 提交表单数据
2009-04-24 09:49 61576.3 提交表单数据 6.3.1 GET方法 ... -
DNS域名解析
2009-04-23 09:53 1764DNS域名系统 DNS是一个分布式的数据库,主要用于吧主机名 ... -
Python 客户端Socket编程
2009-04-22 08:51 3125第2章 网络客户端 网络客户端开发步骤:1、 建 ... -
Python的getattr()
2009-04-20 15:24 9409getattr()函数是Python自省的核心函数,具体使用大 ... -
运算符重载
2009-04-17 11:37 1614运算符重载 在Python语言中提供了类似于C++的运算符重 ...
相关推荐
内容概要:收集了Python语言入门经典必背一百个程序。这些程序从最基础的数据类型、关键字、到程序语法和结构、等等,由浅入深,全面覆盖,同时兼顾了趣味性。 适合人群:适合中小学生和初学python语言者。 能学到...
通过上述内容,我们可以看出Python语言入门(上)所包含的知识点相当丰富,它不仅介绍了Python的概况、特点和标准库,还涉及了Python在不同领域的应用,并对学习者提供了入门阶段的具体指导。对于那些想要踏入编程...
Python语言入门是计算机编程领域的一本基础教材,旨在帮助读者从零开始学习Python这门广泛使用的编程语言。Python以其简洁明了的语法和强大的功能,在Web开发、数据分析、人工智能、科学计算等多个领域中都占据着...
本书是Python语言的经典入门读本,由两名顶尖的Python技术专家兼培训专家联手撰写,涵盖了该语言的所有核心内容。书中的每一章都包含了众多范例,并附有精心编制的习题。由于Python可以像Basic那样交互地运行,读者...
人生苦短,我学Python
《Python语言入门向导》是一本专为Python编程初学者设计的教程,旨在帮助读者轻松地踏入编程的世界。这本书深入浅出,通过清晰易懂的语言和丰富的实例,让学习者能够快速掌握Python的基础知识和核心概念。 在Python...
《Python语言入门》这本书是为初学者设计的,旨在引导读者快速掌握Python编程基础。Python是一种高级编程语言,因其简洁明了的语法和强大的功能而备受青睐,广泛应用于数据分析、机器学习、网络开发等多个领域。 ...
Python语言入门 pdf
本资源“Python语言入门”将引导你逐步踏入Python的世界。 首先,Python的语法特性是其易学性的核心。它采用缩进来表示代码块,使得代码看起来更加整洁,易于理解。比如,使用`if`、`for`、`while`等控制流语句时,...
本资料包是为那些想要踏入Python编程世界的初学者设计的,包含了一份详尽的电子教材——"美河提供.Python语言入门.pdf"。 该教材将带你逐步了解Python的基础知识,从安装Python环境开始,包括解释器的选择(如...
**Python语言入门** Python是一种高级、通用的编程语言,以其简洁、易读的语法而闻名,是初学者学习编程的理想选择。"美河提供.Python语言入门" 是一个专为新手设计的学习资源,旨在帮助初学者快速掌握Python的基础...
书中描述了Python程序的基本构件:类型、操作符、语句、函数、模块、类以及异常,此外还介绍了更多高级主题,包括复杂的实例,最后讲述了如何使用Python定制库来创建大型程序。
Python语言入门到精通教程.pdfPython语言入门到精通教程.pdf