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)

读书和健身总有一个在路上

最新文章

  1. perl学习之路3
  2. ACM: CodeForces 140A New Year Table-数学几何
  3. [stm32][ucos] 1、基于ucos操作系统的LED闪烁、串口通信简单例程
  4. js控制固定div和随屏滚动div兼容多浏览器和纯css控制(来自网络)
  5. Windows7下 配置 Apache + PHP + MySQL + Zend Studio配置
  6. java yum安装的环境变量设置
  7. Counting Rectangles
  8. jmeter笔记7
  9. Maven学习:Eclipse使用maven构建web项目(转)
  10. Debian耳机声音问题
  11. hdu1238--Substrings
  12. python 元组 字符串 字典 列表嵌套练习题1
  13. # 泰语字符串字符分割 --- UTF-8编码格式
  14. js 删除字符串中所有空格
  15. Linux下提权常用小命令
  16. 1.3 SQL循环
  17. 数据库新增“自动添加”类字段 auto_now_add 如何不影响之前数据
  18. laravel的路由设置,路由参数和路由命名(三)
  19. hdoj:2028
  20. Delphi XE5 for Android (九)

热门文章

  1. LDA算法 (主题模型算法) 学习笔记
  2. markdown 插入链接
  3. Spark(五十一):Spark On YARN(Yarn-Cluster模式)启动流程源码分析(二)
  4. 正则表达式检测IP地址与端口号是否合法
  5. PostgreSQL 登录时在命令行中输入密码
  6. setInterval调用ajax回调函数不执行的问题
  7. Dart 中常用的数组操作方法总结
  8. C++接口的概念
  9. Qt5.10使用了qml后打包发布应用遇到的问题
  10. Qt编写自定义控件72-提示进度条