Python 编程技术5doc.docx
《Python 编程技术5doc.docx》由会员分享,可在线阅读,更多相关《Python 编程技术5doc.docx(8页珍藏版)》请在冰豆网上搜索。
Python编程技术5doc
Python编程技术5
Python函数定义函数参数函数文档字符串函数变量作用域lambda函数通用内置函数函数高级主题Python函数定义函数语法定义函数是可以完成特定函数的代码块。
它可以在程序中重用,以减少程序中的代码量,提高程序的执行效率。
在Python中,函数定义的语法如下:
deffunctionname(arg,arg),:
Statementreturnvalue函数参数和返回值不是必需的。
如果没有返回语句,Python函数的默认返回值是无。
Python函数名称命名规则函数名称必须以下划线或字母开头,并且可以包含任何字母、数字或下划线组合。
函数名区分大小写。
函数名不能是保留字或关键字。
Python用三个重要数字定义函数:
函数名参数返回值函数可以嵌套。
Python使用名称空间的概念来存储对象。
这个命名空间是对象活动的区域。
不同的对象存在于不同的范围内。
Python函数的每个模块都有自己的全局范围。
函数定义的对象属于局部范围,并且仅在函数内有效。
全局范围内的对象将不受影响。
除非使用globallocal关键字声明,否则分配给该函数的对象属于本地范围。
示例:
练习创建函数(单个)。
Deftestfunc(a,b):
return(a*b)testfunc(,)testfunc(,)python函数示例:
练习创建函数(嵌套)。
deffunc():
deffunc(n):
print(n)returnnfuncf=func()f()f()python函数参数分类形式参数:
deffunction(arg,arg,)关键字参数:
deffunction(arg=value,)元组参数:
deffunction(*arg)字典参数:
deffunction(**arg)参数用法规则:
关键字参数必须后跟形式参数。
在单个函数定义中只能使用一个元组参数(*arg)和一个字典参数(**arg)元组参数。
形式参数和关键字参数连接后,字典参数必须定义在所有其他参数的末尾。
函数参数Python函数参数特性在函数中指定参数名称不会影响调用方。
更改函数中的变量对象参数将影响调用方,如列表字典数组。
参数是对象指针不需要定义来传递的对象类型。
Defest(a,b):
return(ab)print(test(,)print(test(,)print(test(,)python函数如果函数有return语句,则返回一个元组;如果给定了给定值,则返回一个相应的元组;如果没有给定值,则返回一个空元组。
如果该函数没有返回语句,则该函数返回的默认值为“无”。
摘要:
该函数返回一个元组值或空元组或无。
Python函数示例:
练习使用函数参数。
()formparameter()keywordparameter()tupleparameter()dictionaryparameterdefstory(**kwds):
returnsqoonceuponatime,therewasalsquolsquo(job)congoled(name)srsquokwdsdefpower(x,y,*others:
ifothers:
print(lsquoreceivedredundantparameters:
rsu;其他)returnpower(x,y)python函数文档字符串紧接在函数定义之后的字符串将被视为函数的描述文档,也称为docstring(文档字符串),可以使用help(functionname)显示。
帮助(添加)目录(添加)adddoccallable(添加)defadd(a,B):
addtwooitemtogherreturn(ab)ifname==main:
printadd(,)printadd(,)python函数defadd(a,B):
###addtwooitemcolgether###return(ab)目录(添加)#annotations###call##class##closure##code##defaults##delattr##dict##doc##eq##format##subclasshook#help(添加)Helponfunctionaddnmodlemain:
add(添加)
如果要更改局部范围中对象或变量的全局范围,必须使用全局关键字。
全局声明将分配的名称映射到包含它的模块的范围。
函数中的变量范围在函数对象的范围内。
模块中的变量范围在模块的范围内。
函数中Python函数的局部变量和全局变量定义的变量只能在函数内部使用。
这些只能在程序特定部分使用的变量称为局部变量。
文件或模块顶部定义的变量可以由文件中的任何函数调用。
这些可以被整个程序使用的变量被称为全局变量。
如果要更改局部范围中对象的全局范围,必须使用全局关键字来标识它们。
Python函数globalInt=#定义一个函数DefMyAdd():
LocaInt=#定义一个局部变量globagi#在函数中定义一个全局变量gi=returnnglobalintlatelint#以测试变量的局部性和全局int(MyAdd())打印(globalInt)打印(gi)打印(LocaInt)示例:
练习函数局部变量和全局变量。
Python函数print(myadd())print(globalint)print(gi)print(localint)traceback(mostrencetcalllast):
filepyshell#,line,INMODULEEPRINT(localint)NAMEERROR:
NAME#localint#ISNOdefINEDPHONFUNCTIONLambdaFUNCTIONPython允许使用Lambda关键字创建匿名函数,因为不需要以标准方式声明,例如使用DEF语句(诸如局部变量之类的对象不会在任何命名空间中创建名称,除非分配给它)。
但是,它们也可以将参数作为函数。
完整的lambda语句表示一个表达式,其定义体必须与声明放在同一行。
语法lambda(参数):
表达式lambda函数可以被看作是一个只有参数的特殊函数,后面必须跟有表达式或调用另一个函数。
G=lambdax:
x*g()g(abcd)Python函数示例:
定义两个函数,分别将小写字母转换为大写字母,并将大写字母转换为小写字母。
提示:
order()函数返回一个字母的unicode代码。
函数的作用是:
返回一个unicode码对应的大写字母和小写字母的差值。
upper=lambdax:
chr(ord(x))upper(lsquoarsqueo)lsquoarsqueor=lambdax:
chr(ord(x))lower(lsquoarsqueo)lsquoarsqueythonfunctiondir(buildings)#arithmeticerror##AssessionError##AttributeError##ABS##all##any##ascii##dict##dir##enumerate##eval#,HelpBuildInShelpOnBuildInModuleBuildIns:
NameBuildInSBuildInFunctions,exceptions,AnDotheObjectIon如果给定一个复数,返回值是该复数的模。
可调用(对象):
可调用()函数用于测试对象是否可调用。
如果是,则返回“真”。
否则,它返回False。
可调用(对象):
可调用函数、方法、代码对象、定义了调用方法的类和类实例。
isinstance(对象,类或字符串):
测试对象类型如果为真则返回真,如果为假则返回假,如isinstance(lsquoarsko,字符串)。
Help()helpbuild函数divmod(x,y):
divmod(x,y)函数返回商和除法后的余数。
Pow(x,y,z):
pow()函数返回一个以x为基数,y为索引的幂。
如果给定z,则该函数计算x的y次幂的值,该值由z模化。
Len(对象):
Len()函数返回字符串和序列的长度。
Min(x,y,z):
返回序列或参数的最小值。
Max(x,y,z):
返回序列或参数的最大值。
Range(降低、停止、步进):
range()函数通过参数生成连续有序的整数列表。
Python函数round(x,n):
round()函数返回浮点数x的舍入值,如果给定n,它表示舍入到小数点的位数。
type(obj):
type()函数返回对象的数据类型。
Print(value,sep=##,end=#n#,file=sysstdout)help()helpbuildinhelp(print)help(map)help(len)help(ABS)python函数类型转换函数数字浮点(x):
将数字或字符串转换为浮点数。
十六进制(x):
将整数转换为十六进制数。
Oct(x):
将整数转换为八进制数。
Int(x,base):
将数字和字符串转换为整数基数,作为可选基数。
复数(实数、虚数):
复数()函数将字符串或数字转换为复数。
函数类型转换函数字符串序列:
函数返回对应于ASCII码的字符串。
ORD(X):
ORD()函数返回字符串参数的ASCII或Unicode值。
函数的作用是:
将一个对象转换成一个可打印的字符串。
list(x):
list()函数将序列对象转换为列表。
元组(x):
元组()函数将序列对象转换成元组。
Python函数序列操作函数len()、max()和min()也可用于序列。
过滤器(函数,列表):
当调用过滤器()时,它将一个函数应用于序列中的每个项目,并在函数返回真值时返回所有项目,从而过滤掉所有返回假值的项目。
Map(函数、列表、列表):
map()函数将一个函数应用于序列中的所有项目,并返回一个列表。
Zip(seq,seq.):
zip()函数合并两个或更多序列中的相应项,并以元组格式返回它们。
在最短序列中的所有项目都被处理之后,它停止。
Python函数defnobad:
returnsfind(bad)=S=bad,good,bad,welist(filter(nobad,s))#good#,we#importstrings=python,zope,linux列表(map(stringecapwords,S))#Python#,Zope#,Linux#List(map(str大写,s))#Python#,Zope#,Linux##Map()也可以同时应用于多个列表。
importoperators=,,t=,,list(map(operatormul,s,t)),,Help(map)Help(filter)Python函数高级主题deffunc(n):
deffunc(m):
print(n*m)returnn**mreturnuncfunc()()func()()f=func()f()f()f()函数嵌套Python函数可以嵌套,也就是说,一个函数可以放在另一个函数中。
Python函数函数递归)Python函数是递归的,这意味着一个函数可以调用自己或自己。
deffactorial(n):
IFN==:
returnelse:
returnn*factorial(n)factorial()factorial()defpower(x,n):
IFN==:
returnelse:
returnx*power(x,n)power(,)power(,)经典阶乘运算经典幂运算Python函数生成器(生成器)生成器是Python引入的新概念,是由公共函数定义的迭代器。
defflatten(嵌套):
try:
forpublistinnested:
forelementinfluten(子列表):
YeelDelementExceptTypeError:
YeelDelensteds=,,,,,,,,,,,,list(展平),,,,,,,,,Foriinnetten(s):
print(#d#I,end=#)这是一个扩展嵌套列表的函数。
HelpyieldPython函数装饰器(decoratorr)装饰器是一个函数,其主要目的是用透明的修改或增强来打包另一个函数或类别。
deftrace(func):
defcallf(*args,***KWARGS):
print(#*s#(len(funcname),(len(funcname))*#*#))print(#s#(funcnamecenter(len(funcname))))print(*s#(len(funcname),(len(funcname))*#*#))r=func(*args,**KWARGS)RETURNRUNCALFRATECEDESQUARE(X):
RETURNX**SQuaRE()*******************************Python函数测试(X)她是一个很好的起点。
让我们一起体验她的魔力吧!
#squapydefsquare(x):
squarenamperandreturntheresultsquare()square()returnx*ximportdoctestimportsquadoctesttestmod(squa)TestResults(failed=,experted=)************************************************************itemhadfailures:
ofsquare***TestFailed***FaileureStesTestResults(failed=,Experted=)Python函数练习:
根据不同的输入参数(行数)输出以下图形:
******************************提示:
使用函数打印指定的行字符串
Python函数练习:
写一个函数来计算N!
~的阶乘依次输出。
方法:
循环法:
递归法:
其他方法。
注意:
该方法总共大约是字节。
自己编写的递归函数方法可以使用运算符方法等。
Python函数练习:
编写一个嵌套函数,练习它的函数调用方法和参数输入方法。
defmultiplier(factor):
defmultiplyByFactor(number):
returnnumber*FactorreturnmultiplyyFactorDouble=multiplier()double()multiplier()()PYTHONFunction全体当选学生:
本课程的课程培训内容(A)和工程设计内容(B)均为主题、内容、代码,要求已发布并经抽签确认。
请尽快认真准备。
以下是一些需要你注意的要点。
本项目的完成时间为当月前后,相关材料不予受理。
这个项目由两个人共同完成。
如果一个或多个人员完成了项目,它将被视为无效。
该项目的内容是抽签过程中决定的类比。
如果抽签结果是AB,这意味着两人完成的任务是课程培训内容a和工程设计内容b
项目完成后,将电子文档(课程培训内容、工程设计内容)和源代码打包成文件名:
中文名称(合作伙伴名称)和项目名称。
例如:
陈建文(王小明)虚拟茶话会。
项目打包后,将发送到电子邮件:
chenjwhusteducn。
目前,项目演示时间定在东部9楼晚上8:
00。
请为项目演示做好准备。
-Python编程技术课程培训和工程设计通知Python函数课程培训内容(A)函数定义函数参数函数范围规则lambda函数嵌套函数递归练习类A和面向对象类定义类实例类属性和方法类继承面向对象设计练习类A模块和包模块定义模块使用包通用模块介绍练习异常处理异常定义异常导致异常捕获断言调试练习Python函数文件处理文件对象文件处理方法文件迭代器文件处理模块介绍练习图形界面编程图形用户界面工具包介绍图形用户界面编程步骤TKIT模块使用Thinter创建示例wxPython介绍练习数据库编程Python数据库API介绍数据库SQLite使用数据库MySQL使用数据库使用示例学习主题网络编程Python网络编程基础套接字模块套接字服务器模块扭曲网络框架介绍练习Python函数程序测试步骤回溯测试工具文档测试和单元测试源代码检测Pycheck和PyLite练习程序发布Distutils基础程序发布使用pyexe创建可执行程序练习Python功能工程设计内容(B)即时标记(B)图片(B)良好绘图(B)通用圣诞节新闻采集(B)虚拟茶叶(B)远程编辑使用CGI(B)定制公告牌系统(B)文件共享(B)文件共享(B)图形用户界面(GUI)版本(B)街机游戏Python功能