首页 > 代码库 > Python 学习日记第七篇 -- 函数

Python 学习日记第七篇 -- 函数

一、函数

 1、函数的使用场景及定义

    在使用函数编程之前,我们一直是面向过程式编程,语句的堆积造成大量的代码重复,由此,函数应运而生,函数式编程是将反复使用的代码封装到函数中,使用时只需调用即可。函数的学习会让我们更快理解面向对象这一抽象的概念,面向对象即是对函数进行分类和封装。

#函数的定义
def first_func():
    print("This is my first function!")


first_func()

def:定义函数的关键字

first_func:函数名(自定义),通过函数名来调用函数

() : 可向函数传递的参数

print... : 函数体,包含函数所有的功能语句

first_func() :  调用函数


函数的调用结果如下

C:\python36\python36.exe D:/cto3jym/day3/def_1.py
This is my first function!

返回值:函数执行完毕后,返回给调用者的数据


 2、函数的返回值

   函数的返回值默认为None,在函数体中有return等有返回值的语句时,才有返回值,那么我们要知道函数具体的执行结果时可以如以下发送邮件的示例

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
def mail():
    ret = True
    try:
        msg = MIMEText(‘邮件内容‘,‘plain‘,‘utf-8‘)
        msg[‘From‘] = formataddr(["jym",‘jym520125@126.com‘])
        msg[‘To‘] = formataddr(["gg",‘614949750@qq.com‘])
        msg[‘Subject‘] = "主题"

        server = smtplib.SMTP("smtp.126.com",25)
        server.login("jym520125@126.com","*********")
        server.sendmail(‘jym520125@126.com‘,[‘614949750@qq.com‘,],msg.as_string())
        server.quit()
    except Exception:
        ret = False
    return ret

ret = mail()
print(ret)

    如示例中所示,返回值为True说明函数执行成功,邮件发送


3、参数

    1、无参数:形如上文发送邮件的例子,mail(): 无参数,那么在调用时()中也不填入参数

    2、有参数

    1.普通参数:定义函数时指定几个参数,调用时就要传入几个参数

#一个参数
def show(arg):
    print(arg)
show("one parameter")

#两个参数
def show(a1,a2):
    print(a1,a2)
show("two parameter")

   2.默认参数:在定义函数时指定参数的默认值,调用时不传参数即返回默认值,传入参数返回传入的参数

def show(a1,a2=1):
    print(a1,a2)
show("default",)

返回值:
C:\Users\JYM\untitled\Scripts\python.exe D:/cto3jym/day3/func_parameter.py
default 1

def show(a1,a2=1):
    print(a1,a2)
show("default",2)

返回值:
C:\Users\JYM\untitled\Scripts\python.exe D:/cto3jym/day3/func_parameter.py
default 2

 Ps:默认参数必须在位置参数的后面

         

   3.指定参数:调用时根据变量名指定参数

def show(a1,a2):
    print(a1,a2)
show(a2=2,a1=1)

返回值:
C:\Users\JYM\untitled\Scripts\python.exe D:/cto3jym/day3/func_parameter.py
1 2

   4、动态参数:

               

本文出自 “linux启航” 博客,请务必保留此出处http://jiayimeng.blog.51cto.com/10604001/1932431

Python 学习日记第七篇 -- 函数