其他书籍都是如何一步步从基础到构建完整可运行的程序的,但我们跳过这个部分!
一个完整的、可执行的Python程序
#-------------------------------------------------------------------------------
# Name: odbchelper
# Purpose:
# odbc帮助类
# Author: zdk
#
# Created: 02/11/2012
# Copyright: (c) zdk 2012
# Licence: <your licence>
#-------------------------------------------------------------------------------
def buildConnectionString(params):
"""build a connection string from dictionary of parameters.
return string."""
return ";".join(["%s=%s" %(k,v) for k,v in params.items()])
if __name__ == "__main__":
myParams = {"server":"mpilgrim",\
"database":"master",\
"uid":"sa",\
"pwd":"secret"\
}
print (buildConnectionString(myParams))
odbchelper.py输出的结果为:pwd=secret;database=master;uid=sa;server=mpilgrim
1. 函数声明
和大多数语言一样python有函数,在需要时,像下面这样声明即可:
def buildConnectionString(params):
首先,函数声明以关键字 def 开始,接着为函数名,再往后是放在小括号里的参数。如果是多个参数可以用逗号隔开。
其次函数没有定义返回类型,Python不需要指定返回类型,实际上每一个函数都有返回值,默认为None(python的空值)
2. 文档化函数
可以通过给出一个doc string(文档字符串)来文档化一个python函数。
def buildConnectionString(params):
"""build a connection string from dictionary of parameters.
return string."""
三重引号表示一个多行字符串,你可以在任何地方使用它们,但你会发现,它们经常被用于定义doc string。
在三重引号中的任何东西都是这个函数的doc string,它们用来说明函数可以做什么,如果存在doc string,它必须是一个函数定义的第一个内容(也就是说,在冒号后面的第一个内容)。在技术上不要求给出函数的doc string,但是你应该这样做,不光是为了解释,python还会有一些额外的动机:doc string在运行时可以作为函数的属性。
3.万物皆对象
上面说doc string可以作为函数的属性,并且运行时可用,在python中函数同其他东西一样也是对象。
#-------------------------------------------------------------------------------
# Name: testOdbchelper
# Purpose:
#
# Author: zdk
#
# Created: 02/11/2012
# Copyright: (c) zdk 2012
# Licence: <your licence>
#-------------------------------------------------------------------------------
import odbchelper
if __name__ == '__main__':
myParams = {"server":"mpilgrim1",\
"database":"master1",\
"uid":"sa1",\
"pwd":"secret1"\
}
print (odbchelper.buildConnectionString(myParams))
print (odbchelper.buildConnectionString.__doc__)
结果为:
pwd=secret1;database=master1;uid=sa1;server=mpilgrim1
build a connection string from dictionary of parameters.
return string.
- 第11行将odbchelper程序作为模块导入,这样就可以使用它的公开的函数、类和属性。
- 使用导入模块的函数、类和属性时必须加上模块名,即odbchelper.buildConnectionString。
- __doc__是属性,不是函数。
3.1 模块导入的搜索路径
当导入一个模块时,Python在几个地方进行搜索,明确地,它会对定义在sys.path中的目录逐个进行搜索。
sys.path是一个list(列表),你可以很容易的查看它或通过标准的list方法来修改它。
import sys
if __name__ == '__main__':
print(sys.path)
结果为:['E:\\daokun\\python\\python之旅', 'D:\\Program Files (x86)\\PyScripter\\Lib\\rpyc.zip', 'C:\\Windows\\system32\\python32.zip', 'D:\\Python32\\DLLs', 'D:\\Python32\\lib', 'D:\\Python32', 'D:\\Python32\\lib\\site-packages']
默认的会把当前模块的路径加入到了sys.path中
3.2 何为对象
在python中万物皆对象从感性上可以解释为:一切都可以赋值给变量或作为参数传递给函数。
4.代码缩进
#-------------------------------------------------------------------------------
# Name: fib
# Purpose:
#
# Author: zdk
#
# Created: 02/11/2012
# Copyright: (c) zdk 2012
# Licence: <your licence>
#-------------------------------------------------------------------------------
def fib(n):
print ('n =', n)
if n > 1:
return n * fib(n - 1)
else:
print ('end of the line')
return 1
if __name__ == '__main__':
print(fib(5))
Note: Python vs. Java: 语句和块分割
Python 使用硬回车来分割语句,冒号和缩进来分割代码块。 C++ 和 Java 使分号来分割语句,花括来分割代码块。
5.测试模块
if __name__ == '__main__':
模块是对象,并且所有的模块都有一个内置属性__name__。一个模块的__name__的值取决于您如何使用模块。如果是import模块,那么__name__的通常为模块的文件名;如果像标准程序一样直接运行模块,那么__name__的值为__main__。只要了解到这一点,你就可以在模块内部设计一个测试套件,在其中加入这个if语句。当直接运行模块时,__name__的值是__main__,所以测试套件执行。当你导入模块时,__name__是别的东西,所以测试套件被忽略。
分享到:
相关推荐
整理总结了Python语言函数的定义,类与对象的定义与使用,Python数据类型转换函数,random函数,判断输入是否为数字判断相关函数,Python取整的方式,常见的Python的数学函数,时间日期相关函数,以及Python的一种...
Python实验一 面向对象程序设计实验
本文实例讲述了Python面向对象实现一个对象调用另一个对象操作。分享给大家供大家参考,具体如下: 我先总结一下python中的类的特点: 1.类中所有的方法的参数中都必须加self,并且是第一个参数 2.__init__方法用来...
方法是一个个函数; #类的属性 就是 类变量 #实例变量:定义在方法中的变量,只作用于当前实例的类。 例子: class Turtle:#python 中类名约定以大写字母开头 '''关于类的简单例子。。。''' #属性 == 类变量 ...
Python从入门到精通 第10章 面向对象程序设计.ppt Python从入门到精通 第11章 模块.ppt Python从入门到精通 第12章 异常处理及程序调试.ppt Python从入门到精通 第13章 文件及目录操作.ppt Python从入门到精通 第14...
filter(function, iterable) Python3.x 返回的结果是迭代器对象,可以使⽤list()函数把迭代器对转转换为列表对象,例如, ''' 遇到问题没⼈解答?⼩编创建了⼀个Python学习交流QQ群:531509025 寻找有志同道合的⼩...
python绘制函数图像代码,NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它...
完整图文版教程 优质的Python基础入门教程 09、Python函数 (共96页).pptx 完整图文版教程 优质的Python基础入门教程 10、Python函数练习 (共64页).pptx 完整图文版教程 优质的Python基础入门教程 11、Python函数...
python学习笔记,包含一般函数-向量化函数-二元运算-ufunc对象
匿名函数:一行代码实现一个函数功能。 递归函数 自定义函数:根据自己的需求,来进行定义函数。 (2)方法的分类: 普通方法:直接用self调用的方法。 私有方法:__函数名,只能在类中被调用的方法。 属性方法:@...
关于python变量的介绍,包括一些数学函数的使用。
>>> a="123" >>> print callable(a) 0 >>> print callable(chr) 1 cmp(x,y) cmp()函数比较 x 和 y 两个对象,并根据比较结果返回一个整数,如果 x,则返回-1;如果 x>y,则返回 1,如果 x==y 则返回 0。 >>>a=1 >>>b...
第6章 Python函数.pptx 第7章 Python模块.pptx 第8章 Python类和对象.pptx 第9章 Python异常.pptx 第10章 Python文件操作.pptx 第11章 Python项目实战:爬虫程序.pptx 第12章 Python项目实战:数据可视化.pptx 第13...
Python 是一个有条理的和强大的面向对象的程序设计语言,类似于Perl, Ruby, Scheme, Java。资源详细介绍了Python所有内建函数的使用。
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和...
我们也会向你介绍 Python 中另外两种表⽰裸字节数据的对象:bytes 和 bytearray。 【字符串操作】 下边,我们将着重介绍⽤于字符串操作的运算符、类⽅法和函数。 1,字符串运算符 在《Python 运算符和表达式》⼀⽂...
例如,下面是一个简单的Python函数,它接受两个参数并返回它们的和: ``` def add(x, y): return x + y ``` 在这个函数中,参数x和y是函数的输入,函数体是return语句,它返回x和y的和。 python开发技术—函数设计1...
主要介绍了Python函数基础,结合实例形式详细分析了函数嵌套,命名空间,函数对象,闭包函数等相关概念、原理、用法及操作注意事项,需要的朋友可以参考下
Python基础教程 Python是什么意思 Python是什么 Python是干什么的 Python能做什么 Python安装教程 Python开源框架 Python函数与调用函数 我们为您解答 Python基础教程全案全文共349页,当前为第2页。 第1章 感受...
Python面向对象class的魔术函数.py