版权声明: https://blog.csdn.net/qq_38351824/article/details/84554965
声明:本篇文章只是个人知识盲区、知识弱点、重点部分的归纳总结,望各位大佬不喜勿喷。梳理顺序是按照书籍的实际顺序梳理,转载请注明出处。
作者:sumjess
一、函数的基本使用:
函数包括:函数的定义和函数的使用。
使用函数的目的:降低编程难度、增加代码复用、降低代码行数和代码维护难度。
1、函数的定义:
Python语言通过保留字def定义函数,语法形式如下:
def<函数名>(<参数列表>):
<函数体>
return <返回值列表>
函数名可以是任何有效的python标识符,参数列表是调用该函数时传递给它的值。如果需要返回值,使用保留字return和返回值列表。函数可以没有return语句。
def fact(n):
s=1
for i in range(1,n+1):
s *= i
return s
print(fact(4))
2、函数的使用:
调用函数的基本方法如下:
<函数名>(<实际赋值参数列表>)
例子同上。
3、函数的使用的四步骤:
1、函数定义:确定函数名、参数名、参数的个数;
2、函数调用:;
3、函数执行:;
4、函数返回:;
二、函数的参数传递:
1、可选参数传递:
函数定义时的语法形式如下:
def <函数名>(<非可选参数列表>,<可选参数> = <默认值>):
<函数体>
return <返回值列表>
需要注意,可选参数一般都放置在非可选参数的后面,即定义函数时,先给出所有非可选参数,然后再分别列出每个可选参数及对应的默认值。
2、参数名称传递:
python语言同时支持函数按照参数名称方式传递参数,语法形式如下:
<函数名>(<参数名> = <实际值>)
这种东西会显著增强程序的可读性。
3、函数的返回值:
return语句可以出现在函数中的任何部分,同时可以将0个、1个或多个函数运算的结果返回给函数被调用处的变量。
当return返回多个值时,这些值形成了一个元组数据类型,由小括号和逗号分隔,
例如(a,b,c)
def multiply(x,y=10):
return x*y,x+y
s=multiply(99,2)
print(s)
def multiply(x,y=10):
return x*y,x+y
a,b=multiply(99,2)
print(a)
print(b)
当函数使用return返回多个值时,可以使用一个变量或多个变量保存结果。
三、变量的作用域:
1、局部变量:
局部变量指在函数内部定义的变量,仅在函数内部有效,当函数退出时变量将不再存在。
内部的变量,当函数调用后,变量将不存在。
2、全局变量:
全局变量在函数内部使用时,需要提前使用保留字global声明:
n=2
def multiply(x,y=10):
global n
return x*y*n
s=multiply(99,2)
print(s)
使用global对全局变量声明时,该变量要与外部全局变量同名。
四、代码复用:
使用函数的优点有:可读性提高、实现代码复用、提高封装级别、增强代码可读性、使代码易于维护。
五、实例解析:软文的诗词风:
利用程序进行排版。
txt='''
人生得意须尽欢,莫使金樽空对月。
天生我材必有用,千金散尽还复来。
'''
linewidth = 30
def lineSplit(line):
plist = [',','!','?',',','。','!','?']
for p in plist:
line = line.replace(p,'\n')
return line.split('\n')
def linePrint(line):
global linewidth
print(line.center(linewidth,chr(12288)))
newlines = lineSplit(txt)
for newline in newlines:
linePrint(newline)