python之路day09--函数
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--函数的更多相关文章
- Python之路 day3 函数定义 *args及**kwargs
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa import time # def logger(): # time_format ...
- 小白的Python之路 day3 函数
1.函数基本语法及特性 背景提要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏空了所有的知识量,写出了以下代码 1 2 ...
- python之路——初识函数
阅读目录 为什么要用函数 函数的定义与调用 函数的返回值 函数的参数 本章小结 返回顶部 为什么要用函数 现在python届发生了一个大事件,len方法突然不能直接用了... 然后现在有一个需求,让你 ...
- python之路(九)-函数装饰器
装饰器 某公司的基础业务平台如下: def f1(): print('这是f1业务平台') def f2(): print('这是f2业务平台') def f3(): print('这是f3业务平台' ...
- python之路之函数03
一 首先我们学到函数的嵌套调用与定义:1 函数嵌套 # def f1(): # print(f1)#我们这里如果输入f1那么输出的则是f1这个变量(函数)所在的地址.如果输入一个字符的话那么就直接输出 ...
- python 之路之函数01
一 函数 1 那么要想学习函数,我们首先应该知道函数是什么? 我们这里所说的函数与数学中的函数是不同的概念,在这里我们可以把函数看成我们写代码过程中需要用到的工具. 2 那么这个‘工具’有什么 ...
- python之路--初识函数
一 . 函数 什么是函数 f(x) = x + 1 y = x + 1 # 函数是对功能或者动作的封装 函数的语法 def 函数名(): 函数体 调用: 函数名() def play(): print ...
- python之路_函数实例及装饰器介绍
一.习题讲解 1.写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组.例如:[(‘红心’,2), (‘草花’,2), …(‘黑桃,‘A’)] def cards(): num=[] for v ...
- python之路之函数02
一 函数的参数: 我们把函数的参数分为形式参数和实际参数,简称形参和实参. 形参:在定义函数时,函数名括号内定义的参数. 实参:在调用函数时,函数名括号内需要用户传入的值. 注意: 实参值(相当于变 ...
- Python之路Day09
函数 将某个功能封装到一个空间中就是一个函数 减少重复代码 函数体中存放的时代码 定义函数 def len(): def 关键字 len 函数名 -- 变量名 ()格式规定 :语句结束 调用函数 函数 ...
随机推荐
- 代码托管-gerrit-介绍与环境搭建
什么是gerrit? 转载自 https://blog.csdn.net/tanshizhen119/article/details/79874127 gerrit是谷歌开源的一个git服务端. 主要 ...
- 【土旦】在vue filters中 优雅的使用对象的key、value来替换 if switch多重判断简化流程
前言 之前写过滤器的时候都是 用 if switch 来进行值的判断 返回对应的值, 在没去百度搜索之前都是都是这样写的 ) { return "支付成功"; } ) { retu ...
- Spring boot入门(三):SpringBoot集成结合AdminLTE(Freemarker),利用generate自动生成代码,利用DataTable和PageHelper进行分页显示
关于SpringBoot和PageHelper,前篇博客已经介绍过Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件,前篇博客大致讲述了S ...
- (五) Keras Adam优化器以及CNN应用于手写识别
视频学习来源 https://www.bilibili.com/video/av40787141?from=search&seid=17003307842787199553 笔记 Adam,常 ...
- Android Studio打包SDK后,为什么没有bundles文件夹?
在Android Studio中,将项目打包成jar包,按照网上说的方法打包完成后,在intermediates文件夹下没有bundles,AS版本3.1.2,后来发现,原来是intermediate ...
- 2019年3月29日至30日深圳共创力《成功的产品经理DNA》在深圳公开课成功举办
2019年3月29至30日,在深圳南山区中南海滨大酒店10楼行政厅,由深圳市共创力企业管理咨询有限公司举办的<成功的产品经理DNA>公开课成功举办,此次公开课由深圳市共创力咨询资深讲师冯老 ...
- matplotlib正弦和余弦图
代码: # -*- coding: utf-8 -*- """ Created on Thu Jul 12 16:37:47 2018 @author: zhen &qu ...
- Dell服务器U盘安装Windows Server时识别不到硬盘
Dell服务器U盘安装Windows Server时识别不到硬盘 1.下载驱动http://downloads.dell.com/FOLDER03688531M/1/SAS-RAID_Driver_T ...
- 【spring源码分析】IOC容器初始化(三)
前言:在[spring源码分析]IOC容器初始化(二)中已经得到了XML配置文件的Document实例,下面分析bean的注册过程. XmlBeanDefinitionReader#registerB ...
- centos6.5搭建hadoop完整教程
https://blog.csdn.net/hanzl1/article/details/79040380 博客地址http://blog.csdn.net/pucao_cug/article/det ...