# 函数:1、减少重复代码;
# 2、使程序变的可扩展
# 3、使程序变的易维护
# 永远只能且返回一个值
#def 定义内容
# a,b = 5,8
# c = a** b
# print(c)
#
# def calc (x,y):
# res = x**y
# return res #返回函数执行结果
# c = calc(x,y) # def sayhi():
# print("hello")
# print("my name is xiaoxiao")
# print(sayhi)
# sayhi() #加入参数
# def sayhi(name):
# print("hello",name)
# print("my name is ...")
# sayhi("xiaoxiao") #关键参数 必须放在位置参数之后
# def stu_register(name,age ,course,country="sh"):
# print("info....")
# print(name,age,course,country)
# stu_register('xiaoxiao',course= "python",age= 22) #报警,1个运维人员
# def send_alert(msg,user):
# pass
# send_alert("出事了","翠花") #报警,10个运维人员
#如果参数中出现*user,传递的参数就可以不再是固定个数,传过来的所有参数打包元祖
#方式一
# def send_alert(msg,*user):
# for line in user:
# print("报警发送给",line)
# send_alert("出事了","翠花","haha","yuyu") #方式二
# def send_alert(msg,*user):
# for line in user:
# print("报警发送给",line)
# send_alert("出事了",*["翠花","haha","yuyu"])
#
# # ** 未定义的关键字参数
# def func(name,*args,**kwargs):
# print(name,args,kwargs)
# func("haha",22,"yuyiyi",n="hskh",m="hkhkhk") #返回值 return 代表一个函数的终止
# def stu_register(name,age,course):
# print(name,age,course)
# if age > 22:
# return False
# else:
# return True
# s=stu_register("haha",27,"安保")
# print(s) #局部变量 定义在函数里面修改参数的变量,定义在函数外部的一级代码的变量叫全局变量
# 全局变量全局可用
# 如果局部有变量就调用局部变量,如果没有就调用全局的
#在函数内部可以引用全局变量
#如果全局和局部都有一个变量,函数查找的顺序,由内而外
# name = "yiyi"
# def chage_name():
# name = "一一"
# print("你的名字叫",name)
# chage_name()
# print(name) #globl 声明修改全局变量
name = "yiyi"
def chage_name():
global name
name = "一一"
print("你的名字叫",name)
chage_name()
print(name)
#返回值:
# 1、没有返回值:当没有返回值的情况下返回None
# 不写return;
# 只写return:代表结束一个函数的继续
# return None ---不常用
def yang():
l = [1,2,3,4,4,4,]
for i in l:
print(i)
if i == 1:
return
print(yang()) # 2、返回1个值;
# 可以返回返回任何数据类型;
# 只要返回就可以进行接受
# 如果遇到多个返回值时,只执行第一个
def func():
return {"f","j2"}
print(func()) # 3、返回多个值
# 多个返回值用多个变量接收,有多少返回值就用多少变量接收
def func2():
return 1,2,3
a1,a2,a3 = func2()
print(a1,a2,a3)
# 返回多个值用一个变量接收,输出是元祖
def func2():
return 1,2,3
a1 = func2()
print(a1) #参数:
s = "小护士"
def my_len(s):# 自定义函数只需要0个参数;接收参数;形式参数
i=0
for k in s:
i+= 1
return i #返回值 ret = my_len(s) #传递参数;实际参数
ret = my_len([1,2,3,4,5,2,1]) #传递参数
print(ret)

python—函数的更多相关文章

  1. python 函数之day3

    一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...

  2. Python函数作用域的查找顺序

    函数作用域的LEGB顺序 1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 2.它们 ...

  3. Python函数讲解

    Python函数

  4. Python函数信息

    Python函数func的信息可以通过func.func_*和func.func_code来获取 一.先看看它们的应用吧: 1.获取原函数名称: 1 >>> def yes():pa ...

  5. Python函数参数默认值的陷阱和原理深究"

    本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...

  6. Python开发【第四章】:Python函数剖析

    一.Python函数剖析 1.函数的调用顺序 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #函数错误的调用方式 def fun ...

  7. Python函数解析

    对于Python的函数,我们需要记住的是: 1. 函数的默认返回值是None. 2. python是一个自上而下逐行解释并执行的语言.因此,函数的定义必须在函数被调用之前.同名的函数,后定义的会覆盖前 ...

  8. Python入门笔记(18):Python函数(1):基础部分

    一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...

  9. Python函数1

    Python 函数命令的使用 想想我们之前数学中学到的函数,首先我们需要定义一个函数,例如f(x)=x, 当x输入任意数的时候,f(x)都能输出和x相等的数值. 那么在Python中是如何实现的呢? ...

  10. python函数传参是传值还是传引用?

    首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传 ...

随机推荐

  1. diango admin 添加成员报错

    [报错内容]: IntegrityError at /admin/users/userprofile/add/ (1452, 'Cannot add or update a child row: a ...

  2. 使用jsdelivr访问github资源

    一.新建github库并使用git上传 首先访问https://github.com 新建自己的库 之后使用 git 上传到github 下载git : https://git-for-windows ...

  3. @Component, @Repository, @Service的区别

    注解 含义 @Component 最普通的组件,可以被注入到spring容器进行管理 @Repository 作用于持久层 @Service 作用于业务逻辑层 @Controller 作用于表现层(s ...

  4. GuavaCache本地缓存学习总结

    https://my.oschina.net/u/2270476/blog/1805749 http://www.cnblogs.com/parryyang/p/5777019.html https: ...

  5. shell脚本学习之case用法及实例

    case语句和判断语句[if...elif...else]功能类似;当在逻辑判断比较简单的情况下,比后者的代码量要少许多.case用法,用变量来匹配某值,如果匹配成功则执行它下面的命令,直到 ;;为止 ...

  6. 手机端页面自适应解决方案—rem布局进阶版

    手机端页面自适应解决方案—rem布局进阶版   https://www.jianshu.com/p/985d26b40199 注:本文转载之处:https://www.cnblogs.com/anni ...

  7. 构建web应用之——SpringMVC实现CRUD

    配置好SpringMVC最基本的配置后,开始实现处理数据的CRUD(CREATE, READ, UPDATE, DELETE) 为实现模块上的松耦合,我们将与数据库的交互任务交给DAO(Data Ac ...

  8. 网页链接跳转qq聊天界面以及QQ群是什么实现的

    网页可以唤起QQ群,这我们都知道可以做到,那如何唤起呢?下面就做一个简单的介绍,希望可以帮助到有需要的朋友 1.官方提供的几种加群的链接 官方的加群代码的获取前提是我们具有权限(也就是群主或管理权限) ...

  9. axios 发送post请求的时候会发送两次

    第一次发送的时候会先发送OPTIONS, 第二次才发送POST, 解决方法: 引用qs模块 安装qs依赖 npm install qs --save 引入qs依赖 import qs from 'qs ...

  10. git命令提交新项目

    新建的项目没有与git关联过git initgit add .git commit -m "注释"git remote add origin 新SSH:URLgit push -f ...