s='金老板啊'
print(len(s)) #内置函数 s='金老板啊'
# def my_len():
# i=0
# for k in s:
# i+=1
# # print(i)
# print(my_len()) #None
#
#
# s='金老板啊'
# def my_len(): #自定义函数
# i=0
# for k in s:
# i+=1
# # print(i)
# return i #返回值
# length=my_len()
# print(length) #4 #函数
# 定义了之后可以在任意需要他的时候调用
# 没有返回长度,只是单纯的打印 为NONE #返回的重要性(便于后续计算,使用) #返回值的3种情况
#没有返回值
# 不写return
# 只写return,也是none (return代表结束,跳出循环,也结束这个函数)
# return None -不常用,和不写一样
#返回一个值
#可以返回任何数据类型
#只要返回就可以接受到
#如果在一个程序中有多个return,那么只执行第一个。(在控制语句中可以使用多个return) # def func():
# return [1,2,3,]
# return 1
#
# print(func()) #[1, 2, 3] #返回多个值
# #有多少返回值,就用多少变量来接收
# def func2():
# return 1,2
#
# r1,r2 = func2() #接收
# print(r1,r2) #1 2
#
# def func2():
# return (1,2)
# # ps:元组是可以解包的
# r1,r2 = func2() #接收
# print(r1,r2) #1 2
#用一个变量来接收,返回的是一个元组 # def func2():
# return 1,2
# r3 = func2() #接收
# print(r3) #(1,2) # 什么是参数?
# def my_length(s): #s:自定义函数只需要0个参数,接收参数,形式参数,简称形参
# i=0
# for k in s: #形式参数s 必须和这里的函数体中的s一致
# i+=1
# return i
#
# ret = my_length('asdfg') #传递参数:传参,实际参数,实参
# print(ret) #5 #参数
#没有参数 #有一个参数
#传很什么就是什么
#有多个参数
#位置参数 #站在实参(传递参数)的角度上:
#按照位置传参
#按照关键字传参
#可以混着用:但是必须先按照位置传参,再按照关键字传参
#不能给同一个变量传多个值 # 站在形参的角度上
#位置参数:必须传,且有几个就传几个
#默认参数:可以不传,若果不传就是用默认的参数,传了就用传的参数 #只有调用函数的时候
#按照位置传:直接写参数的值
#按照关键字:关键字 = 值 #定义函数的时候
#位置参数:直接定义参数
# 默认参数,关键字参数:参数名=‘默认的值’
# 动态参数:可以接收任意多个参数
#*args:只能接收按位置传参的值,组织成一个元组,参数名之前加*,习惯参数名为args。
#**kwargs:接收的是按关键字传参的值,组织成一个字典 #顺序: 位置参数 *args 关键字参数 **kwargs

# def sum(*args):
# n=0
# for i in args:
# n+=1
# return n
#
# print(sum(1,2,3,4,5,6,8)) #7
#顺序:必须先定义位置参数,在定义默认参数 # ps:
# 动态参数的另一种传参方式
def func(*args): #站在形参的角度上,给变量加上*,就是组合所有传来的值
print(args) func(1,2,3,4,5) #(1, 2, 3, 4, 5) l=[1,2,3,4,5]
func(*l) #(1, 2, 3, 4, 5) #站在实参的角度上,给序列加上*,就是将这个序列(元组,列表)按照顺序打散。 def func(**kwargs): #站在形参的角度上,给变量加上*,就是组合所有传来的值
print(kwargs) func(a=1,b=2)
d={'a':1,'b':2} #定义一个字典d
func(**d) #函数的注释
def func():
'''
这个函数实现了什么功能
参数1:
参数2: :return:是字符串或者列表的长度
'''
pass
    
#默认参数的陷阱问题
# 如果默认参数的值是一个可变数据类型,
# 那么每一次调用函数的时候,
# 如果不传值就公用这个数据类型的资源

# 函数:
# 1、函数的定义
# 2、函数的调用
# 3、函数的返回值 return

python之路day09--函数的更多相关文章

  1. Python之路 day3 函数定义 *args及**kwargs

    #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa import time # def logger(): # time_format ...

  2. 小白的Python之路 day3 函数

    1.函数基本语法及特性 背景提要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏空了所有的知识量,写出了以下代码 1 2 ...

  3. python之路——初识函数

    阅读目录 为什么要用函数 函数的定义与调用 函数的返回值 函数的参数 本章小结 返回顶部 为什么要用函数 现在python届发生了一个大事件,len方法突然不能直接用了... 然后现在有一个需求,让你 ...

  4. python之路(九)-函数装饰器

    装饰器 某公司的基础业务平台如下: def f1(): print('这是f1业务平台') def f2(): print('这是f2业务平台') def f3(): print('这是f3业务平台' ...

  5. python之路之函数03

    一 首先我们学到函数的嵌套调用与定义:1 函数嵌套 # def f1(): # print(f1)#我们这里如果输入f1那么输出的则是f1这个变量(函数)所在的地址.如果输入一个字符的话那么就直接输出 ...

  6. python 之路之函数01

    一   函数 1  那么要想学习函数,我们首先应该知道函数是什么? 我们这里所说的函数与数学中的函数是不同的概念,在这里我们可以把函数看成我们写代码过程中需要用到的工具. 2  那么这个‘工具’有什么 ...

  7. python之路--初识函数

    一 . 函数 什么是函数 f(x) = x + 1 y = x + 1 # 函数是对功能或者动作的封装 函数的语法 def 函数名(): 函数体 调用: 函数名() def play(): print ...

  8. python之路_函数实例及装饰器介绍

    一.习题讲解 1.写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组.例如:[(‘红心’,2), (‘草花’,2), …(‘黑桃,‘A’)] def cards(): num=[] for v ...

  9. python之路之函数02

    一  函数的参数: 我们把函数的参数分为形式参数和实际参数,简称形参和实参. 形参:在定义函数时,函数名括号内定义的参数. 实参:在调用函数时,函数名括号内需要用户传入的值. 注意: 实参值(相当于变 ...

  10. Python之路Day09

    函数 将某个功能封装到一个空间中就是一个函数 减少重复代码 函数体中存放的时代码 定义函数 def len(): def 关键字 len 函数名 -- 变量名 ()格式规定 :语句结束 调用函数 函数 ...

随机推荐

  1. windows系统 docker + swoole 操作

    之前文章讲过在windows系统安装 cgywin 从而安装swoole扩展的操作,但是安装cgywin的时候会出现这样那样的问题.所以今天记录下另一种方式使用docker 安装 swoole 环境! ...

  2. 折腾Java设计模式之模板方法模式

    博客原文地址:折腾Java设计模式之模板方法模式 模板方法模式 Define the skeleton of an algorithm in an operation, deferring some ...

  3. 学习day03

    1.结构标记  *****   做布局    1.<header>元素    <header></header>    ==> <div id=&quo ...

  4. Odoo 强大的开源微信模块 oejia_wx

    详见:http://oejia.net/blog/2018/10/24/oejia_wx_v054.html oejia_wx Odoo 的微信模块,提供了对微信公众号.企业号(企业微信)及小程序的接 ...

  5. 简单的shell命令

    grep echo 重定向与管道 tr 特殊文件:/dev/null,/dev/tty 基本命令查找 访问shell脚本的参数 简单的执行跟踪: set -x set +x

  6. Python数据处理与计算——概述

    Python是一种面向对象的,动态的程序设计语言,具有非常简洁而清晰的语法,适合于完成各种高层任务.它既可以用来快速开发程序脚本,也可以用来开发大规模的软件. 随着NumPy.SciPy.Matplo ...

  7. Eclipse 新建jsp文件报错问题

    今天在web工程中新建一个index.jsp文件时,发现会报错,记录一下解决办法. 原因:缺少servlet-api.jar包 所以我们先去下载一个jar包,将它引入我们的工程中,即可. 工程右键-& ...

  8. go语言框架gin之集成swagger

    1.安装swag 在goLand中直接使用go get -u github.com/swaggo/swag/cmd/swag命令安装会报错 翻了很多博客,都没找到太合适的办法,根据博客中所写的操作还是 ...

  9. C# Dictionary 函数解析及使用方法

    要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib)  Dictionary的描述 1.从一组键(Key)到一组值 ...

  10. lua_local变量在new时不会被清空

    前言 我的运行环境 Lua5.3 按照我们以往的Java或C#编程经验,如果一个class被new,那么这个class中所有成员变量的值都是默值或是构造函数中赋的值,但在Lua中的local变量却并不 ...