python函数基本介绍
函数
1.函数结构
def 是函数的定义关键字,my_len是函数名。()传参用,冒号下面都是函数体。
执行函数方法:函数名加括号来执行函数。My_len()
举例:
# s = 'lkfjsjulkjdgjdsf'
# def my_len():
# count = 0
# for i in s:
# count += 1
#
# print(my_len())
2.函数的封装
一个函数就是为了实现一个功能
3.Return 在函数中的作用,是给函数的执行者返回值
return作用:
1.终止函数
2.给函数的执行者返回值
retun后接值说明:
Return后面不加任何东西,反悔结果是none
Return,对于单个值来说,后面加什么反回的就是什么,是字符串就反回字符串,是数字就反回数字。
Return 对于多个反回值时,会将多个值放到一个元组中,反回给函数的执行者。
举例:
#def func1():
# print(111)
# print(222)
# return
# print(333)
# print(func1()) ###终止函数反回默认值none
结果:
111
222
None
举例:
#def func1():
# print(111)
# print(222)
# return 666 ####反回666
# return 'alex' ####反回'alex'
# return 'alex', 666, [1, 2, 3] ###反回一个元组('alex', 666, [1, 2, 3])
4.函数的传参
函数传参分为两个方向:
1. 实参角度
——实参就是在执行函数过程中向函数内传入的参数。(函数执行里面放的参数)
2. 行参角度
——行参就是准备被赋值的名字,即在运行函数时准备接收行参的字符。(在函数定义的时里面放的参数)
注意:行参是不可以被改变得,而实参是可以改变的。
举例:
# def my_len(argv): # argv是形式参数 ,形参
#
# count = 0
# for i in argv:
# count += 1
# return count
# s = 'lkfjsjulkjdgjdsf'
# l1 = [1, 2, 3, 4, 5]
# print(my_len(l1)) #l1是实际参数, 实参
结果:
5
实参的类型:
1.位置参数
2.关键字参数
3.混合参数
(1)位置参数
行参的参数要与实参位置按顺序一一对应,也就是说在改行参传参数的值,要与预先定义的行参位置一一对应,行参会第一个字符会对应接收实参的第一个字符, 依次类推。
(2)关键词参数
关键字参数不关心传入参数放的顺序位置,传入参数要与行参关键字一致即可。
(3)混合参数
位置参数和关键字参数同时存在
注:关键字参数,必须要在位置参数的后面
举例:
# 位置参数 按照顺序一一对应
# def func1(a, b, c):
# print(a, b, c)
# func1(1, 2, 'alex') ###1,2,'alex'分别对应a,b,c
# def max(a, b): return a if a > b else b
# ret = 1 if 2 > 1 else 6
# print(ret)
# print(max(10, 2)) ###10,2,分别对应a,b
# 关键字传参 一一对应。
# def func2(a, b):
# print(a, b)
# func2(b=2, a=3) ###关键字a=3 对应行参里面的a,b=2对应行参里面的b
混合参数。(位置参数,关键字参数) 关键字参数必须在位置参数后面。
# def func3(a, b, c, d):
# print(a, b, c, d)
# func3(1,2,d=3,c=5) ###关键字必须在位置参数后
行参的类型:
1.位置参数
2.默认参数
3.动态参数 (*args 、 **kwargs )
(1)位置参数
位置参数就是保证要与实参的位置参数保持一致
(2)默认参数
默认参数用的比较多,默认就是在不传入参数的时候使用的参数即为默认参数,即在实参不输入参数时,程序运行会使用预先定义好的默认参数,但手动输入 后悔替换默认参数输入。
注意,默认参数要在位置参数的后面添加
(3)动态参数(万能参数)
对参数的个数不固定的时候使用动态参数(万能参数),即在执行函数时,实参传入多少参数接收多少参数。
(*args 、 **kwargs )动态参数有两种:
动态参数分为两种(万能参数)
*args 接收所有的位置参数,所有的位置参数都放在一个元祖中。
**kwargs 接收所有关键字参数,所有接收到的关键字都放在一个字典中。
举例:
#默认参数:
# def login(name,sex='男'): ###默认参数要在位置参数后面
# # with open('register', encoding='utf-8', mode='a') as f1:
# # f1.write('{},{}\n'.format(name,sex))
# #
# #
# # while True:
# # name = input('请输入姓名:').strip()
# # if '1' in name:
# # login(name)
# # else:
# # sex = input('请输入性别:').strip()
# # login(name,sex)
#万能参数:
# def func3(*args, **kwargs): #函数的定义的时候 * 代表聚合。
# print(args)
# print(kwargs)
# # func3(1, 2, 3, 'alex', c=6, name='wusir', age='21') ###结果:(1, 2, 3, 'alex') {'c': 6, 'name': 'wusir', 'age': '21'}
形参的排列顺序:
位置参数--> *args-->默认参数-->**kwargs
举例:
# def func5(a,b,*args,sex='男',**kwargs):
# print(a,b,)
# print(args)
# print(sex)
# print(kwargs)
5.函数中星号的定义:
(1)在函数定义的时候,*代表聚合
(2)函数的执行时候,*代表打散 注意:字典打散时用**两个星号
举例:
# def func3(*args, **kwargs): #函数的定义的时候 * 代表聚合。
# print(args)
# print(kwargs)
# func3(*[1, 2, 3],*(22, 33)) #函数的执行的时候 * 代表打散。 ###结果:(1, 2, 3, 22, 33) {}
# func3(**{'name':"alex"},**{'age':23}) #函数的执行的时候 * 代表打散。 ###结果:() {'name': 'alex', 'age': 23}
# func3(1, 2, 3, 22, 33) #函数的执行的时候 * 代表打散。 ###结果:(1, 2, 3, 22, 33) {}
6.函数的嵌套:(记住两个关键点)
代码顺序执行,当见到函数名加括号,就是执行函数。
函数在没有执行完是不会执行下面的内容的。
注:
执行一个函数就会开辟一个临时空间进行存储,即每个函数都会单独开辟一个临时空间使用存放函数体内容。
举例:
# def func1():
# print(666)
#
# def func2():
# func1()
# print(333)
#
# def func3():
# func2()
# print(222)
# print(111)
# func3()
# print(555)
# def func1():
# name = 'susi'
# print(name)
# def func2():
# name1 = 'git'
# print(333)
# print(444)
# func2()
# func1()
python函数基本介绍的更多相关文章
- python 函数参数介绍
python 函数参数介绍 python 使用过程总,总会遇到 *args,**kw形式的参数,总是一头雾水,而且网上介绍的或是叫法不一,为此专门深入实践进而了解了函数参数的使用 具体请看代码 #-* ...
- python 函数基础介绍
函数是对程序逻辑进行结构化或过程化的一种编程方法.能将整块代码巧妙地隔离成易于管理的小块,把重复代码放在函数中而不是进行大量的拷贝. 一.函数创建 def 函数创建格式如下: def function ...
- python——函数
python--函数 1.介绍: 在过去的十年间,大家广为熟知的编程方法无非两种:面向对象和面向过程,其实,无论哪种,都是一种编程的规范或者是如何编程的方法论.而如今,一种更为古老的编程方式:函数式编 ...
- python内置函数详细介绍
知识内容: 1.python内置函数简介 2.python内置函数详细介绍 一.python内置函数简介 python中有很多内置函数,实现了一些基本功能,内置函数的官方介绍文档: https: ...
- Python入门之函数的介绍/定义/定义类型/函数调用/Return
本篇目录: 一. 函数的介绍 二. 函数的定义 三. 定义函数的三种类型 四. 函数调用的阶段 五. Return返回值 ======================================= ...
- python 函数“四剑客”的使用和介绍
python函数四剑客:lambda.map.filter和reduce. 一.lambda(匿名函数) 1. 学习lambda要注意一下几点: lambda语句被用来创建新的函数对象,并且在运行的时 ...
- Python函数作用域的查找顺序
函数作用域的LEGB顺序 1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 2.它们 ...
- Python函数参数默认值的陷阱和原理深究"
本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...
- Day03 - Python 函数
1. 函数简介 函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print():也可以自己创建函数,这 ...
随机推荐
- Perl学习笔记(2)----正则表达式数字匹配的一个疏忽
<Perl语言入门>第15章习题第2题如下: 用 given-when 结构写一个程序,根据输入的数字,如果它能被3整除,就打印“Fizz”:如果它能被5整除,就打印“Bin”:如果它能被 ...
- 如何优雅地使用Markdown (Sublime 3 + MarkdownEditing+OmniMarkupPreviewer)
最近开始上手Sublime 3 作为Markdown 的重度使用者自然关于Markdown的插件是必不可少的 . 在这里记录分享一下我常用的两款Markdown插件. MarkdownEditing ...
- 排序算法积累(2)----sort排序
转载:http://blog.csdn.net/sunshangjin/article/details/40296357 想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数so ...
- 创建第一个windows服务
windows服务应用程序是一种长期运行在操作系统后台的程序,它对于服务器环境特别适合,它没有用户界面,不会产生任何可视输出,任何用户输出都回被写进windows事件日志. 计算机启动时,服务会自动开 ...
- CSS media query应用中的层叠特性使用最佳实践
media query是css3规范中引入的,它提供了一种responsive design的基础机制:浏览器在不同size的设备中将以不同样式展现网页,这就给一个网页能够适应不同device一种可能 ...
- MongoDB学习笔记——概述
概述 MongoDB是一个跨平台,面向文档的数据库.MongoDB创建的数据库可以实现高可用性,高性能,并且能够轻松拓展. MongodbDB的运行方式主要给予两个概念:集合(collection)和 ...
- case选择语句
#!/bin/bash PS3="please select menu:" select i in "Apache" "Mysql&quo ...
- Python学习---递归函数的学习
定义:在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 递归特性: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 ...
- Jquery学习---Easy UI 框架
Jquery的easyui 1.1. easyui的目录分析 以 jquery Easy UI 1.3.2 版本学习 demo 实例 locale 国际化信息 plugins 框架一些插件 src 源 ...
- February 17 2017 Week 7 Friday
The very essence of romance is uncertainty. 浪漫的精髓就在于它充满种种可能. If you want a happy life with enduring ...