Python函数:1、函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

       2、函数能提高应用的模块性,和代码的重复利用率。

Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

定义函数:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()
  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。(定义时使用的参数,是形参)
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。

例:

 def quadratic_func(length,breadth ):
'''
这是一个计算面积的函数
:param length: 长度
:param breadth: 宽度
:return: 面积
'''
ret = length * breadth
return ret

函数的调用:

义一个函数:给了函数一个名称,指定了函数里包含的参数,和代码块结构。

这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从 Python 命令提示符执行。

如下实例调用了quadratic_func()函数:

return :返回值的关键字是return

return的作用:

  1、结束整个函数

  2、能够返回相应的值

如果不写return ,默认返回None!

return也可以返回多个值,(以元组的方式返回,逗号隔开)

1、练一练:写函数,检查获取传入列表或者元组对象的所有奇数位索引对应的元素,并将其新的列表返回给调用者

 #方法1:
def odd_num(lis):
new_lis = []
for i in range(len(lis)):
if i % 2 == 1:
new_lis.append(lis[i])
return new_lis
print(odd_num([0,1,2,3,4,5,6,7]))
#方法2:切片
def odd_num(lis):
new_lis = lis[1::2]
return new_lis
print(odd_num([0,1,2,3,4,5,6,7]))

2、写函数,计算字符串中【数字】、【字母】、【空格】以及其他的个数

 #isdigit:检测字符串是否为数字。
#isalpha:检测字符串是否为字母。
#isspace:检测字符串是否为空格
def examine_str(str_type):
digeit_num = 0
alpha_num = 0
space_num = 0
other_num = 0
for i in str_type:
if i.isalpha():
alpha_num += 1
elif i.isdigit():
digeit_num += 1
elif i.isspace():
space_num += 1
else:
other_num += 1
return {'digeit_num':digeit_num,
'alpha_num':alpha_num,
'space_num':space_num,
'other_num':other_num
}
ret = examine_str('23414 16as dfjk$*((*$$')
print(ret)

备注:解耦在写一个函数时候,把 一个大功能尽量分成多个小功能,并且功能与功能之间影响减到最小,不宜把一个很复杂的功能写一个函数里

 函数的参数

默认参数:1、如果函数调用时,没有传递默认参数,则使用函数调用时默认的值,如果传参,则使用传递的参数

位置参数:位置参数必须在前。

动态参数:*args,**kwargs.

[*] 是动态参数的标识符,args,相当于一个变量,也可以写别的,但是推荐使用args,kwargs

参数不固定时,就用动态参数

*args:代表一个数组,在python中显示为元组

**kwargs:相当于关键字参数,在Python中显示为字典模式,也可以传入字典

如果在定义函数时同时使用*args,**kwargs,作为参数,则可以接受所有参数

 def my_test(*args,**kwargs):
print(args)
print(kwargs)
my_test(,,,*[,,],a = ,b =)
my_test(,,,,,,a = ,b =)
#2个的输出结果相同
'''
(, , , , , )
{'a': , 'b': }
(, , , , , )
{'a': , 'b': }
'''

 练一练: 

1、写函数,传入N个数,返回字典{‘max’:最大值,‘min’:最小值}

 #例lis  = [31,42,65,8,33,68]
dic = {}
min_num = lis[0]#假设 lis 0 是小值
max_num = lis[0]#假设 lis0 是最大值
for i in lis:
if i < min_num:
min_num = i
dic['min'] = min_num
elif i > max_num:
# 第一次和31比较,条件不成立,第二次和42比较,条件成立,则max_num = 42,添加至字典,第三次,再次循环条件再次成立,
# 因为key相同,再次更新字典,一次类推,找出最大值
max_num = i
dic['max'] = max_num
print(dic)
#函数写法
def max_min(*args):
min_num = args[0]
max_num = args[0]
for i in args:
if i < min_num:
min_num = i
elif i > max_num:
max_num = i
return {'max':max_num,'min':min_num}
print(max_min(123,4,2342,5,346,7))

 2、写函数,计算图形面积计算圆的面积,正方形的面积,长方形的面积

调用函数(‘圆形’,圆半径) 返回圆的面积 π*半径的平方

调用函数(‘正方形’,边长) 返回正方形的面积 长的平方

调用函数(‘长方形’,长,宽) 返回长方形的面积 长*宽

 def figure_area(name,*args):
def rectangle(x,y):
return '长方形面积是',x*y
def square(x):
return '正方形面积是',x*x
def circle(r):
return '圆形面积是',3.14*r*r
if name == '长方形':
return rectangle(*args)
elif name == '正方形':
return square(*args)
elif name == '圆形':
return circle(*args)
else:
return '无法计算'
print(figure_area('长方形',5,20.1))

3、写函数,传入一个参数N,返回N的阶乘

 例 cal(5),计算5*4*3*2*1

def my_cal(num):
ret = 1
for i in range(1,num+1):
ret *= i
return ret
print(my_cal(5))

4

Day 9 :初识函数的更多相关文章

  1. python之路——初识函数

    阅读目录 为什么要用函数 函数的定义与调用 函数的返回值 函数的参数 本章小结 返回顶部 为什么要用函数 现在python届发生了一个大事件,len方法突然不能直接用了... 然后现在有一个需求,让你 ...

  2. python基础 (初识函数&函数进阶)

    函数基础部分 .什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率. 2.定义函数 定义:def 关键词开头,空格之后接函数名 ...

  3. Day06 (黑客成长日记) 初识函数和返回值的作用

    定义函数: 1.初识函数: 我们在学习字符串时,有这样的操作: li = 'tsy be ba bvake ' print(len(li)) 这样可以打印出li的长度,我们利用了python中的len ...

  4. python基础之 初识函数&函数进阶

    函数基础部分 1.什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 2.定义函数 定义:def 关键词开头,空格之后接函数名 ...

  5. Python基础之文件的初识函数

    初识函数函数定义:定义一个事情或者功能. 等到需要的时候直接去用就好了了. 那么这里定义的东西就是一个函数即函数: 对代码块和功能的封装和定义1.1常用形式: def 函数名(): 函数体1.2 函数 ...

  6. Python_初识函数

    为什么要用函数 现在python届发生了一个大事件,len方法突然不能直接用了... 然后现在有一个需求,让你计算'hello world'的长度,你怎么计算? 这个需求对于现在的你其实不难,我们一起 ...

  7. 08-Python之路---初识函数

    Python之路---初识函数️ 程序员三大美德: 懒惰 因为一直致力于减少工作的总工作量. 缺乏耐性 因为一旦让你去做本该计算机完成的事,你将会怒不可遏. 傲慢 因为被荣誉感冲晕头的你会把程序写得让 ...

  8. Python初识函数

    Python初识函数 函数理论篇 什么是函数 在编程语言中的函数不同于数学中的函数.不管是数学上的函数还是编程语言中的函数都是为了完成特定的某一功能而诞生的,他们的区别在于: 1.数学中的函数当输入的 ...

  9. Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数

    Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数 内容大纲 1.函数的初识 2.函数的定义 3.函数的调用 4.函数的返回值 5.函数的参数 1.函数初识 # def ...

  10. C++ 初识函数模板

    1. 前言 什么是函数模板? 理解什么是函数模板,须先搞清楚为什么需要函数模板. 如果现在有一个需求,要求编写一个求 2 个数字中最小数字的函数,这 2 个数字可以是 int类型,可以是 float ...

随机推荐

  1. 记一次面经pm

    记一次面经 介绍下你自己的这个项目. 浅谈一下数据结构.    参考网站    在我的记忆中,数据结构包括链表.线性表.栈与队列.数组.一些排序,比如冒泡排序.快速排序.希尔排序.堆排序等,还有一些树 ...

  2. Java异常关闭资源的两种方式

    try-catch-finally 常用,在异常关闭时应判断流是否为空 public class CloseableUtils { public static void closeable(Close ...

  3. Perl 换行打印

    #!/usr/bin/perl$, = "\t";$\ = "\n"; for($i=0;$i<3;$i++){ print("i: " ...

  4. CSS 案例学习

    1.样式 display:inline-block;可改变a标签,合其可定义宽高 2.a:hover表示鼠标经过 3.background:url(110.png) bottom 表示:给链接一个图片 ...

  5. python全栈开放实践第三版第一章的练习题完成情况

    练习题: 1.简述编译型与解释型语言的区别,且分别列出你知道哪些语言属于编译型,哪些数以解释型.1 编译型:只须编译一次就可以把源代码编译成机器语言,后面的执行无须重新编译,直接使用之前的编译结果就可 ...

  6. 2018湘潭大学程序设计竞赛【A】

    题目链接:https://www.nowcoder.com/acm/contest/105/A 题意:给你起始和结束的天时分,让你算总秒数. 题解:输入格式.注意long long.签到题. #inc ...

  7. 什么是URI、URL、URN、URC和Data URI?

    前言 不知道大家有没有电话拨号通过'猫'上网的经历,那时测试网络是否连接,最好的方式就是打开浏览器输入: www.baidu.com 那会管这一连串字母叫' 网址 '.之后上大学(计算机专业),知道了 ...

  8. 案例-html5新标签-input和video

    <form action=""> <fieldset> <!--fieldset标签:可将表单内的元素分组 ,常与legend搭配使用--> & ...

  9. Spark Streaming设计

  10. Python全栈开发:Javascript

    JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 1.J ...