【python】函数
#定义函数
def xx():
print("hellow word")
#执行函数
xx()
#形式参数
def qukuang(name):#name是形参 if name=="bobo": return True else: return False res=qukuang("bobo") print(res)#True
#形参,实参(默认是按照顺序),如果指定形参等于实参可以不按照顺序
def send(name,age,info): print("name:"+name) print("age:"+str(age)) print("info:"+info) send(age=19,name="feng",info="hellow word") # 结果如下: # name:feng # age:19 # info:hellow word
#默认参数
默认参数必须放在不是默认参数的后面,否则报错
默认参数的意思是如果没有传入参数的时候就会使用默认参数,有默认参数的可以不传参,没有默认参数的必须传参,否则报错
def moren(p,name="bobo"):#这样是正确的 print(name) def moren(name="bobo",p):#这样会报错,默认参数必须放在不是默认参数的后面 pass
#动态参数一
#动态参数一 # 普通参数一般是在定义函数的时候设置了多少个参数就能传多少个,不能传多. # 如果将参数设置成动态参数就可以无限传参数,函数会把所有的参数合成一个元祖类型 def f1(*a): print(a,type(a))#结果为:(('adf', 2, 23, 4, 3425, 34, 5), <type 'tuple'>)是一个元组类型 f1("adf",2,23,4,3425,34,5)
#动态参数二
#动态参数二 #动态参数二其实就是在参数的前面加两颗星 def f1(**a): print(a,type(a))#结果为:({'k2': '123', 'k1': 'asd'}, <type 'dict'>)#是字典类型 f1(k1="asd",k2="123")#传值的时候一定要按照这个形式传,k1="xx",k2="xx",它自动会转成键值的形式
#动态参数的小结:
*,元组,元组的元素
**,字典
两个结合:
def f1(*a,**b): print(a) print(b) f1(1,2,3,4,5,6,"23a",k1="adf",l2="123") # 上面输出结果如下: # (1, 2, 3, 4, 5, 6, '23a') # {'k1': 'adf', 'l2': '123'}
#动态参数三
#为动态参数传入字典,元组,列表 # def f1(*a): # print(a,type(a)) # li=[1,2,3,4,56,7,"adf"] # f1(li)#这是作为一个元素传入,结果为:(([1, 2, 3, 4, 56, 7, 'adf'],), <type 'tuple'>) # f1(*li)#这是作为一个整体传入,结果为:((1, 2, 3, 4, 56, 7, 'adf'), <type 'tuple'>) # def f1(**a): # print(a,type(a)) # dic={"k1":"123","k2":"adf"} # f1(k1=dic)#必须要k1=dic这样传,如果直接传dic直接报错,结果为:({'k1': {'k2': 'adf', 'k1': '123'}}, <type 'dict'>) # f1(**dic)#把dic直接传入,不需要k1=dic,不需要这个k1这个大键,结果为:({'k2': 'adf', 'k1': '123'}, <type 'dict'>)
#发送邮件实例
def sendmsg(): import smtplib from email.mime.text import MIMEText from email.utils import formataddr res=True try: msg = MIMEText('邮件内容', 'plain', 'utf-8') msg['From'] = formataddr(["武沛齐",'wptawy@126.com']) msg['To'] = formataddr(["走人",'424662508@qq.com']) msg['Subject'] = "主题" server = smtplib.SMTP("smtp.126.com", 25) server.login("wptawy@126.com", "邮箱密码") server.sendmail('wptawy@126.com', ['424662508@qq.com',], msg.as_string()) server.quit() except: res=False return res
#内置函数


浙公网安备 33010602011771号