Python函数基础学习(定义、函数参数、递归函数)
1、本程序是测试函数的基础、函数的参数、递归函数的测试。
函数的参数有:
必选参数、默认参数、可变参数、命名关键字参数和关键字参数
#!/usr/bin/python
# -*- coding: utf-8 -*-
#当程序存在中文时,注释表明使用utf-8编码解释 #函数学习
print('函数定义')
def result(x,n=2):
s = 1
while n>0:
n = n-1
s = s*x
return s
#使用def定义一个函数,def 函数名(参数):
print(result(2,1)) print('*'*40)
print('测试默认参数')
def school(name,gender,age=6,city='beijing'):
print('name=',name)
print('gender=',gender)
print('age=',age)
print('city=',city)
print(school('lingyunmu','man'))
#默认参数,如果使用中间的默认参数,那么后面的需要加上key,也就是city
#参数默认按顺序存取 print('*'*40)
print('列表追加元素')
def add_bye(L=None):
if L is None:
L = []
L.append('goodbye')
return L
a = [1,2,3]
print(add_bye(a))
#列表后面追加元素方法
del(a) print('*'*40)
print('可变参数测试')
def sum(*numbers):
sum = 0
for n in numbers:
sum = sum + n
return sum
print(sum(1,2,3,4,5,6,7))
print(sum(1,2,3))
#定义可变参数,计算和。使用*表示可变参数
print('list或tuple使用可变参数')
list1 = [1,2,3,4]
print(sum(*list1))
#list或tuple加*,即可使用可变参数函数
del(list1)
del(sum) print('*'*40)
print('关键字参数测试')
def persion(name,age,gender,**other):
print('name:',name,'age:',age,'gender:',gender,'other:',other) print(persion('lingyunmu',25,'man',city='beijing',interest='pingpang'))
print(persion('zhangsan',25,'man',ing='sleep'))
#使用**定义关键字参数,在必要参数写完后可根据需求添加其它的参数。
print('使用字典将关键字传进去')
dic = {'city':'beijing','ing':'sleep'}
print(persion('lisi',32,'man',**dic))
#在字典前加**即刻将字典作为关键字参数传进去
del(persion) print('*'*40)
print('命名关键字参数测试')
def persion(name,age,*,city,job):
print(name,age,city,job)
return 0
print(persion('lingyunmu',25,city='beijing',job='computer'))
#命名关键字参数,举例说明:就是注册账号时必填的选项。
del(persion) #说明:以上参数可任意组合,注意参数定义的顺序必须是:
#必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
print('*'*40)
print('递归函数测试')
def sum(n):
if n == 1:
return 1
print(n,'+','sum(',n,'-1)')
#查看递归执行的过程
return n + sum(n-1)
print(sum(5))
#计算前N项的和 del(sum)
读书和健身总有一个在路上
Python函数基础学习(定义、函数参数、递归函数)的更多相关文章
- 11、Python函数基础(定义函数、函数参数、匿名函数)
函数先定义函数,后调用 一.定义函数: 1.简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. 函 ...
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- Python入门基础学习 一
Python入门基础学习 一 Python下载及安装 下载地址:https://www.python.org/,选择最新的版本下载 稍等一会,安装完成. 简单语句 从idle启动Python:IDLE ...
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
- Python---7函数(调用&定义函数)
函数 Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs(),只有一个参数.可以直接从Python的官方网站查看文档: http: ...
- Python入门基础学习(函数)
Python基础学习笔记(三) 函数的概念: 所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用 函数的使用包含两个步骤: 1.定义函数 --封装独立的功能 2.调用函数 --享受 ...
- python函数基础学习
函数的定义与调用: def 函数名(参数1,参数2): ‘’’函数注释’’’ print(‘函数体’) return 返回值 定 义:def关键字开关,空格之后接函数名和圆括号,最后冒号结尾 def ...
- python函数基础:嵌套函数、作用域、匿名函数、高阶函数、递归函数
嵌套函数: 1. 函数内部可以再定义函数 2. 函数只有被调用之后才会执行 看如下代码: age = 18 def func1(): age = 22 print(age) def func2(): ...
- Python基础学习四 函数
1.内置函数 Python内置了很多有用的函数,是可以直接调用的. 参考链接:https://docs.python.org/3/library/functions.html 调用函数的时候,如果传入 ...
随机推荐
- Python正则表达式【转载】
原作者:LouieZhang 原文出处:https://www.cnblogs.com/LouieZhang/p/7399836.html 0x00 简介 正则表达式就是描述字符串排列的一套规则.利用 ...
- Java 8 新特性总结
一.Java 8 Lambda表达式 Lambda表达式,也称为闭包,它是推动Java 8发布的最重要新特性. Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法). 1.1 语法 使用 ...
- [转]Git 代码撤销、回滚到任意版本(当误提代码到本地或master分支时)
两种情况(场景) 情况一 代码还只在本地,未push到运程仓库,想把代码还原到上一次commit的代码,此时操作为代码撤销 解决方案: 1 git reset [--hard|soft|mi ...
- Object.keys()、Object.values()、Object.entries()的用法
一.Object.keys(obj) 参数:要返回其枚举自身属性的对象 返回值:一个表示给定对象的所有可枚举属性的字符串数组 处理对象,返回可枚举的属性数组 let person = {name:&q ...
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第三节SpringBoot热部署devtool和配置文件自动注入实战_14、SpringBoot2.x使用Dev-tool热部署
学习笔记 热部署 每次修改了代码都需要关闭应用重启 热部署就是有一个插件会监听我们应用的代码文件是否有变化,如果有变化就会有其他的类加载器加载 主要的依赖 复制到我们的pom.xml里面 安装完成ja ...
- [原][资料整理][osg]osgDB文件读取插件,工作机制,支持格式,自定义插件
参考: osgPlugins相关 osg读取文件的原理(插件工作机制) 当使用osgDB读取文件时,会自动根据文件的扩展名来到插件目录中寻找相应的插件,来实现. 比如: osgviewer cow.o ...
- shell编程系列17--文本处理三剑客之awk动作中的表达式用法
shell编程系列17--文本处理三剑客之awk动作中的表达式用法 awk动作表达式中的算数运算符 awk动作中的表达式用法总结: 运算符 含义 + 加 - 减 * 乘 / 除 % 模 ^或** 乘方 ...
- Fiddler抓包工具版面认识(一)
Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获.重发.编辑.转存等操作.也可以用来检测网络安全.反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能 ...
- Qt编写气体安全管理系统25-位置调整
一.前言 位置调整功能,以前是直接写在设备按钮这个自定义控件类中,核心就是安装事件过滤器,识别鼠标按下.鼠标移动.鼠标松开,这三个event,做出相应的处理即可,后面发现这个功能其实很多自定义控件或者 ...
- Qt编写气体安全管理系统2-界面框架
一.前言 整体框架包括两个部分,一部分是UI界面框架,比如一级二级导航菜单按钮整体布局等,一部分是项目框架,上一篇文章说的是项目框架,这一篇文章来说界面框架,Qt做界面非常快速和高效,尤其是提供了可视 ...