python基础学习7---函数及模块

函数是可以用来反复调用的代码块,往往是具有某一特定功能。

通常的函数形式

def myUpper(mystr):       #  定义  def 函数名(形参):
	""" 这是函数的文档注释  """
	tempstr=mystr.upper()   #偷个懒没有自己实现变大写函数
	return tempstr

print( myUpper('great') )          #函数调用,'great'是参数,实参
#  result:   GREAT     

#多个参数时  有1)位置实参,即按位置对应
def xxxxxfx(x1,x2):
	xxxxxxxx
xxxxxfx(1,2)    #  调用函数,此时1传给x1, 2传给x2
#    2)关键字实参  使用参数名称-值 配对的形式,可任意顺序
def xxxxxfx(x1,x2):
	xxxxxxxx
xxxxxfx(x2=2,x1=1)      #指定参数名的形式调用函数
#    3)默认值       给参数设定一个默认值,调用时没有给这个参数值时使用默认值
def xxxxxfx(x1,x2=10):
	xxxxxxxx    
xxxxxfx(x1=1)	  #调用,此时函数内x2的值为默认值10

#函数返回值也包括大多数类型,列表及字典都可以

#此外,传给函数的参数如果是简单类型,如数字,字符串等,在函数中修改不影响原来的实参
#然而 如果实参是列表或者字典类型,在函数中修改则原来作为实参的字典或列表也被同步修改
#当然,也可以使函数运行不改变实参的列表或者字典,即将列表的副本作为实参即可
def xxxxfx(stulist):
	xxxxxx
stus=['s1','s2','s3']
xxxxfx(stus[:])     # 讲列表以副本的形式(stus[:])作为参数

#任意数量参数  (一个形参,将多个实参转化为一个元组,注意符号*)
def xxxxfx(*something):
	xxxxx
xxxxfx('mm')
xxxxfx('aa','ww','mm')

#位置实参与任意数量实参
def xxxxfx(num,*something):
	xxxxx
xxxxfx(60,'cat','dog','pig')

模块
及类似于c的函数库
首先可以在同目录下创建一个名为myfunction.py的文件,其中里面是自己写好的函数,例如包含下面这个函数:

def printtext():
	print("Hi!")
	print(" I'm your module function .")

那么在你的主文件中可以调用这个函数,只需要在文件开头引入这个模块
然后就可以使用了

import myfunction     #注意没有.py
myfunction.printtext()           #调用函数,注意形式是  模块名.函数名() 

#当然也可以只引用这一个函数
from myfunction import printtext       #注意这里函数名不加括号
printtext()          #现在只用函数名就可以调用函数

#模块名太长可以起别名
import myfunction as mf
mf.printtext()       #调用函数
#同理也可以给函数起别名
from myfunction import printtext as pt

你可能感兴趣的:(python基础学习)