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. Saslauthd服务实现SMTP发信认证

    一.SMTP发信认证 通过sasl库中的saslauthd服务实现SMTP认证 二.部署 1.先安装postifx 略 2.生成sasl配置文件,实现使用sasl认证 vim /usr/lib64/s ...

  2. 《全栈营销之如何制作个人博客》之二:php环境安装及个人博客后台搭建 让你的博客跑起来

    上一节我们讲了个人博客用什么开发语言,用什么CMS系统,从这一节我们就开始真正的干货,这一节我们讨论一下PHP环境的安装,及个人博客后台的搭建,让你的博客在正常的PHP环境中运行起来,你就可以进行后台 ...

  3. H5与C3权威指南笔记--box-shadow

    box-shadow 用于给盒子添加阴影效果.IE9+ 举个栗子:box-shadow: inset 5px 5px 5px red; inset可选,该值会让阴影出现在盒子内部. 第一个5px是阴影 ...

  4. iis读取不到本地证书问题

    导入证书时,通过mmc命令打开控制台->添加管理单元或删除单元->选择本地计算机账号->然后导入证书,解决 ssl证书无法与www.xxx通信. 证书导入后,不能正常读取.有两个问题 ...

  5. 亿级流量场景下,大型架构设计实现【全文检索高级搜索---ElasticSearch篇】-- 中

    1.Elasticsearch的基础分布式架构: 1.Elasticsearch对复杂分布式机制的透明隐藏特性2.Elasticsearch的垂直扩容与水平扩容3.增减或减少节点时的数据rebalan ...

  6. Oracl 一条sql语句 批量添加、修改数据

    最近一直在用,也一直在学oralc,项目上也用到了批量的添加(读取上传CSV文件信息,把符合条件的信息写入到数据库中),在写的时候想到了可能是数据量大就想该怎么快,(由于本人在.NET开发期间没有做过 ...

  7. asp.net的Request.ServerVariables参数说明

    Request.ServerVariables["SERVER_NAME"] '获取服务器IPRequest.ServerVariables["HTTP_REFERER& ...

  8. vim编辑器操作

    vim被称为编辑器之神,另外一个是sublime.vim较vi比较高级,vi适用于文本编辑,vim更加适合于coding.凡是vim里面的命令在vi都是适用的. vim的大众版的三种模式(其实不止三种 ...

  9. Nginx作为HTTP服务器--Nginx配置图片服务器

      首先安装nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. --> gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖 ...

  10. QPushButton class

    Help on class QPushButton in module PyQt5.QtWidgets: class QPushButton(QAbstractButton) |  QPushButt ...