python count函数用法 comm_Python函数的定义与使用

一.函数定义与基本应用#!/usr/bin/env python3

'''

#函数的定义、最基本的应用

def MyFirstFunction():

a = 1+2

print(a)

MyFirstFunction() #函数的执行

First = MyFirstFunction #函数可以指向一个对象

First()

'''

'''

#函数的返回值(return)、我们可以根据返回值来判断程序是否执行成功;如何函数中没有用retrun、返回值为None

#邮件发送实例

#函数中遇到retrun值后,后面的代码就不在执行了

#retrun的作用:1.返回值,2.终端程序

import smtplib

from email.mime.text import MIMEText

from email.utils import formataddr

def SendMails():

ret = True

try:

msg = MIMEText('邮件内容', 'plain', 'utf-8')

msg['From'] = formataddr(["杜俊朋",'hnnxdjp@163.com'])

msg['To'] = formataddr(["ooxx",'694484533@qq.com'])

msg['Subject'] = "主题"

server = smtplib.SMTP("smtp.163.com", 25)

server.login("hnnxdjp@163.com", "Mabudai198")

server.sendmail('hnnxdjp@163.com', ['694484533@qq.com',], msg.as_string())

server.quit()

except Exception:

ret = False

return ret

result = SendMails()

#print(result)

if result:

print('邮件发送成功')

else:

print('邮件发送失败')

'''

'''

#函数中遇到retrun值后,后面的代码就不在执行了

def show():

print('a')

if 1==1:

return [1,2,3]

print('b')

ret = show()

'''

import smtplib

from email.mime.text import MIMEText

from email.utils import formataddr

#user是形式参数、简称形参

#SendMails('694484533@qq.com') 中传入的参数是实际参数、简称实参

def SendMails(user):

ret = True

try:

msg = MIMEText('邮件内容', 'plain', 'utf-8')

msg['From'] = formataddr(["name",'hello@163.com'])

msg['To'] = formataddr(["ooxx",'asb@qq.com'])

msg['Subject'] = "主题"

server = smtplib.SMTP("smtp.163.com", 25)

server.login("hello@163.com", "password")

server.sendmail('hnnxdjp@163.com', [user,], msg.as_string())

server.quit()

except Exception:

ret = False

return ret

result = SendMails('694484533@qq.com')

#print(result)

if result:

print('邮件发送成功')

else:

print('邮件发送失败')

二.函数的参数

#!/usr/bin/env python3

#函数中定义几个形参、就要传入几个实参,否则会报错

#无参数

def Myfun():

a = 'hello baby'

print(a)

Myfun()

#一个参数

def Myfun2(comm):

a = comm

print(a)

Myfun2('hello baby')

#两个参数

def Myfun3(s1,s2):

a = s1

b = s2

print(a+b)

Myfun3(10,20)

#默认参数,就是给形参设置一个默认值,如果在调用的时候不传参数,就调用默认参数

#注意,默认参数必须放在形参的最后

def Myfun4(a,b=10):

c = a + b

print(c)

Myfun4(10)

Myfun4(10,20)

#指定参数,实参可以不按顺序传入

def Myfun5(a,b):

print(a,b)

Myfun5(b=10,a=20)

#动态参数

#一个 * 号表示 把传入的所有参数转为元组

def Myfun6(*arg):

print(arg,type(arg))

Myfun6(1,2,3)

#两个 * 号表示 把传入的所有参数转为字典

#一个*的参数放在前面,两个*的放在后面,传入实参的时候也要遵循这个规则

def Myfun7(**arg):

print(arg,type(arg))

Myfun7(a=1,b=2,c=3)

#三个 * 号表示可以接受所有类型的元素

def Myfun8(*args,**kwargs):

print(args,type(args))

print(kwargs,type(kwargs))

#传值方法一:

Myfun8(1,2,4,a=1,b=2,c=3)

#传值方法二:当给“*args”传值的元素是列表对象时、必须在对象前面加一个*号;当给“**kwargs”传值的元素值字典对象时、必须在字典对象前加两个*号、

flist = [11,22,33,44]

dics = {'a':'hello','b':'andy','c':'rain','d':'jack'}

Myfun8(*flist,**dics)

#如果不在对应的对象前面加*号,则把传入的两个对象当作“*args”的值、即元组的元素,而“**kwargs”的值则为空、即字典

Myfun8(flist,dics)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值