1、函数代码格式:  

        def 函数名():
      函数内容
        执行函数:函数名()    

2、代码举例:

#!/usr/bin/env python
#coding=utf-8

#定义函数
def Func1():
    a = 1
    b = 2
    print(a+b)
#执行函数
Func1()
执行结果:3

3、函数返回值:

#!/usr/bin/env python
#coding=utf-8
#导入邮件模块
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

#定义发邮件函数
def SendMail():
    #定义默认发送结果参数为True
    SendResult = True
    #异常处理
    try:
        #邮件头设置
        SendMailMsg = MIMEText('这是一个邮件','plain','utf-8')
        SendMailMsg['From'] = formataddr(['Dukuan','邮箱账号'])
        SendMailMsg['To'] = formataddr(['DK','接收账号'])
        SendMailMsg['Subject'] = '发送主题'
        #邮件服务器设置
        MailServer = smtplib.SMTP(')
        MailServer.login('邮箱账号','邮箱密码')
        MailServer.sendmail('邮箱账号',['接收账号',],SendMailMsg.as_string())
        MailServer.quit()
    except Exception:
        #代码执行错误赋值False给SendResult
        SendResult = False
    #返回SendResule值
    return SendResult
#执行函数,接收函数返回值
SendResult = SendMail()
if SendResult:
    print("发送成功")
else:
    print("发送失败")

代码示例

注意:return后面如果有代码不执行,return终结函数。

4、函数参数:

  4.1  普通参数    

#!/usr/bin/env python
#coding=utf-8
#导入邮件模块
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

#定义发邮件函数,且定义ReciverMail参数
def SendMail(ReciverMail):
    #定义默认发送结果参数为True
    SendResult = True
    #异常处理
    try:
        #邮件头设置
        SendMailMsg = MIMEText('这是一个邮件','plain','utf-8')
        SendMailMsg['From'] = formataddr(['Dukuan','发件邮箱'])
        SendMailMsg['To'] = formataddr(['DK',ReciverMail])
        SendMailMsg['Subject'] = '发送主题'
        #邮件服务器设置
        MailServer = smtplib.SMTP(')
        MailServer.login('发件邮箱','密码')
        MailServer.sendmail('发件邮箱',[ReciverMail,],SendMailMsg.as_string())
        MailServer.quit()
    except Exception:
        #代码执行错误赋值False给SendResult
        SendResult = False
    #返回SendResule值
    return SendResult
#执行函数,将SendMail里面的内容赋值给ReciverMail
SendResult = SendMail('参数')
if SendResult:
    print("发送成功")
else:
    print("发送失败")

  4.2  默认参数

    默认参数就是在定义函数参数时加一个默认值,执行函数时可不赋值,赋值时就会覆盖默认值。

#!/usr/bin/env python
#coding=utf-8
def FuncOne(arg1,arg2=666):
    return arg1,arg2

Result = FuncOne(123,789)
print(Result)

  4.3  指定参数

    执行函数赋值时加上参数名直接给对应的参数赋值。

#!/usr/bin/env python
#coding=utf-8
def FuncOne(arg1,arg2=666):
    return arg1,arg2

Result = FuncOne(arg2=123,arg1=789)
print(Result)

  4.4  动态参数

    一个*号是元组,两个参数字典,函数动态参数赋值时顺序保持一致。

#!/usr/bin/env python
#coding=utf-8
def FuncOne(*arg1,**arg2):
    return arg1,arg2

Result = FuncOne(1,2,3,4,5,6,7,a=1,b=2,c='dd')
print(Result)

   也可直接将列表、元组和字典赋值给动态参数,但是赋值时要加*或**,否则会全部赋值给元组参数

#!/usr/bin/env python
#coding=utf-8
def FuncOne(*arg1,**arg2):
    return arg1,arg2

#l = (1,2,3,4,5,6,7,)
l = [1,2,3,4,5,6,7,]
d = {'a':'a','b':'b',}
Result = FuncOne(*l,**d)
#Result = FuncOne(1,2,3,4,5,6,7,a=1,b=2,c='dd')
print(Result)

#注意:如果赋值给元组参数时,赋值前面不加*号,会将列表l当做一个值赋值给元组参数

  4.5  使用动态参数实现字符串格式化

#!/usr/bin/env python
#coding=utf-8

StrOne = "{} 在 {}"
l = ['dk','BJ']
Res = StrOne.format(*l)
#上述方法等同于Res = StrOne.format('dk','BJ')
print(Res)
#打印结果为"dk 在 BJ"

StrTwo = "{name} 在 {city}"
d = {'name':'dk','city':'BJ'}
Res = StrTwo.format(**d)
#上述方法等同于Res = StrTwo.format(name='dk',city='BJ')
print(Res)
#打印结果为"dk 在 BJ"

5、lambda表达式:

#!/usr/bin/env python
#coding=utf-8

LamOne = lambda a:a+1
Res = LamOne(7)
print(Res)

  相当于创建一个函数,a是形式参数,a+1是函数内容,执行时将7赋值给a,然后返回a+1的值

6、内置函数:

内置函数:
    help()        查看帮助
    dir()                列出所有的支持key
    vars()        列出所有的支持key和值
    type()        查看类型
    import temp    导入模块
    reload(temp)
    id()                查看id
    abs()        取绝对值
    bool()        布尔值
    divmod(7,10)   得到的结果是0 7
    divmod             是7除以10等于0.7 0代表结果的整数,7代表余数
    sum()        统计结果
    pow(2,10)    2的十次方
    all()                所有为真返回真
    any()        有一个为真返回真
    print all([1,2,3,4])  -- True
    print any([1,0,0,0])  -- False
    chr()                查看acsll码对应的字符串
    ord()                    查看字符串对应的ascll码
    hex()            16进制
    oct()                    8进制
    bin()                    2进制
    round()            四舍五入
    floor()            取整,需要import math
    sqrt()            开根号                        
map表达式:
    map(函数,序列)
    map是将值赋值给函数
    例如:
    li = [10,20,30]
    print(map(lambda arg:arg+100,li))
    分别将li的10 20 30 赋值给函数,也就是lambda arg:arg+100
    最后输出结果是110 120 130

filter表达式:过滤
    li = [10,21,31]
    def foo(arg):
        if arg < 22:
            return True
        else:
            return False
    print(list(filter(foo,li)))
    结果是10 21,将li序列的值赋值给foo函数,如果返回真则打印。    

zip表达式:
    a = [1,2,3,4]
    b = ['d','a','v','d']
    c = [1,2,3,54]
    print zip(a,b,c)

    结果[(1, 'd', 1), (2, 'a', 2), (3, 'v', 3), (4, 'd', 54)]
    将他们同位都合并成组,如果有一个集合的值少于其他集合,那么以集合少的为准
random.random()        产生随机数
random.randint(1,2)    产生1和2其中一个
random.randrange(1,10)产生1-9其中一个

其他函数

Python学习(二):函数入门的更多相关文章

  1. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  2. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  3. Python进阶(二)----函数参数,作用域

    Python进阶(二)----函数参数,作用域 一丶形参角度:*args,动态位置传参,**kwargs,动态关键字传参 *args: ​ 动态位置参数. 在函数定义时, * 将实参角度的位置参数聚合 ...

  4. python学习8—函数之高阶函数与内置函数

    python学习8—函数之高阶函数与内置函数 1. 高阶函数 a. map()函数 对第二个输入的参数进行第一个输入的参数指定的操作.map()函数的返回值是一个迭代器,只可以迭代一次,迭代过后会被释 ...

  5. python学习7—函数定义、参数、递归、作用域、匿名函数以及函数式编程

    python学习7—函数定义.参数.递归.作用域.匿名函数以及函数式编程 1. 函数定义 def test(x) # discription y = 2 * x return y 返回一个值,则返回原 ...

  6. Python学习笔记 - 函数参数

    >>> def power(x): ... return x * x ... >>> power(5) 25 >>> def power(x, n ...

  7. 从0开始的Python学习007函数&函数柯里化

    简介 函数是可以重用的程序段.首先这段代码有一个名字,然后你可以在你的程序的任何地方使用这个名称来调用这个程序段.这个就是函数调用,在之前的学习中我们已经使用了很多的内置函数像type().range ...

  8. python学习Day10 函数的介绍(定义、组成、使用)

    今日学习内容: 1.什么是函数 :函数就是一个含有特定功能的变量,一个解决某问题的工具 函数的定义:通过关键字def + 功能名字():代码体(根据需求撰写代码逻辑) 2.为什么要用函数:可以复用:函 ...

  9. Python学习之函数参数

    上一节,我们学习了Python中是如何定义和调用函数且如何得到返回值的.在调用函数时,有的函数需要参数来启动函数,有的则无需参数.这一节我们来介绍Python中有哪些参数类型. 位置参数 在调用函数时 ...

  10. Python学习笔记—函数

    函数 我们知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = 73 ...

随机推荐

  1. C语言之找零钱

    #include<stdio.h>int main(){ int one,tow,five,num=1; for (one = 1; one < num*10; one++) { f ...

  2. python爬虫实战 获取豆瓣排名前250的电影信息--基于正则表达式

    一.项目目标 爬取豆瓣TOP250电影的评分.评价人数.短评等信息,并在其保存在txt文件中,html解析方式基于正则表达式 二.确定页面内容 爬虫地址:https://movie.douban.co ...

  3. Swift Runtime ?

    你肯定也想过 在OC中相信每一个iOS开发都知道Runtime, 现在Swift也更新到4.0版本了,要是你也学习过Swift的话你可能也会想过这样一个问题,OC大家都是到是有动态性的,你能通过run ...

  4. nginx使用ssl模块配置支持HTTPS访问【解决ssl错误】

    默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定–with-http_ssl_module参数. 需求:做一个网站域名为 www.localhost.cn 要求通过http ...

  5. 【JDK1.8】JDK1.8集合源码阅读——IdentityHashMap

    一.前言 今天我们来看一下本次集合源码阅读里的最后一个Map--IdentityHashMap.这个Map之所以放在最后是因为它用到的情况最少,也相较于其他的map来说比较特殊.就笔者来说,到目前为止 ...

  6. Nginx的反向代理与负载均衡

    1.1 集群是什么 简单地说,集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服器.这些服务器之间可 ...

  7. 《RabbitMQ Tutorial》译文 第 4 章 路由

    原文来自 RabbitMQ 英文官网的教程(4.Routing),其示例代码采用了 .NET C# 语言. In the previous tutorial we built a simple log ...

  8. 采用Opserver来监控你的ASP.NET项目系列(二、监控SQL Server与Asp.Net项目)

    前言 之前有过2篇关于如何监控ASP.NET core项目的文章,有兴趣的也可以看看. 今天我们主要来介绍一下,如何使用Opserver监控我们的SQL Server 和ASP.NET项目的异常监控 ...

  9. 探索版 webstorm快捷方式

    ctrl + alt + s            打开配置面板 Settings   国内的资料比较少,大概很多人已经放弃了原生快捷方式,不过我打算通关原生快捷方式.   在配置面板中  IDE S ...

  10. ExtJs 带参数的MVC

    题记:研究使用ext两个星期了,从痛苦中逐渐走向明朗. 展示列表的子列表的数据时需要将当前的数据传给下一个mvc. 比如用户列表,点击一个用户查看该用户的日志列表. 首先是controller,放一个 ...