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. GridContrl 通用类

    using DevExpress.Data; using DevExpress.Utils; using DevExpress.XtraGrid.Views.Grid; using System; u ...

  2. 【集合框架】JDK1.8源码分析之ArrayList详解(一)

    [集合框架]JDK1.8源码分析之ArrayList详解(一) 一. 从ArrayList字表面推测 ArrayList类的命名是由Array和List单词组合而成,Array的中文意思是数组,Lis ...

  3. SQLServer 日期函数及日期转换数据类型

    一.统计语句 1.--统计当前[>当天00点以后的数据] SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT( ...

  4. Delphi中常用字符串处理函数

    .copy(str,pos,num) 从str字符串的pos处开始,截取num个字符的串返回. 假设str为,)=,)='def' .concat(str1,str2{,strn}) 把各自变量连接起 ...

  5. 用jenkins创建节点

    原料:(1)jre下载链接:https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html ( ...

  6. windows PHP 安装 redis 外加扩展

    前置条件:为php7.2搭建redis扩展的前提是在本机上已经成功搭建好php的运行环境,我的电脑的运行环境时 apache2.4+mysql5.5+php7.2. 操作系统为64位,编译环境为Mic ...

  7. ERROR:"org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /config/topics/test" when creating or deleting Kafka operations authorized through the Ranger policies

    PROBLEM DESCRIPTION When creating or deleting topics in Kafka, they cannot be authorized through the ...

  8. Exception in thread "main" org.I0Itec.zkclient.exception.ZkAuthFailedException: Authentication failure is thrown while creating kafka topic

    Exception in thread "main" org.I0Itec.zkclient.exception.ZkAuthFailedException: Authentica ...

  9. Java jar包启动脚本

    #!/bin/bash APP_HOME=/wdcloud/app/rps/rps-module-admin APP_JAR=rps-module-admin-*.jar APP_PIDS=$(ps ...

  10. AppCan移动开发技巧:3步走,获取移动APP签名信息

    大家知道,在移动APP开发里,与应用包名一样,应用的签名信息需是唯一的,否则将会出现应用冒领.重复安装等问题.之前分享过安卓应用的签名如何获取(点击查看),这里将继续以AppCan平台为例,分享如何获 ...