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. WebBug靶场介绍篇 — 01

    今天是星期天,干点啥,反正一天没事,我也不想继续去搞 msf 的那些什么浏览器提权啊,PDF 提权啊,快捷方式提取啊,或者木马免杀什么的,毕竟现在我也不是为了去找工作而去学那些工具了,,, 说开这个靶 ...

  2. Openstack组件实现原理 — Nova 体系结构

    目录 目录 前文列表 Nova体系结构 虚拟机实例化流程 前文列表 Openstack组件部署 - Overview和前期环境准备 Openstack组建部署 - Environment of Con ...

  3. msf反弹shell

    今天回顾了一下msf反弹shell的操作,在这里做一下记录和分享.( ̄︶ ̄)↗ 反弹shell的两种方法 第一种Msfvenom实例: 1.msfconsole #启动msf 2.msfvenom - ...

  4. 剑指offer——72圆圈中最后剩下的数字

    题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指 ...

  5. 总分 Score Inflation

    题目背景 学生在我们USACO的竞赛中的得分越多我们越高兴. 我们试着设计我们的竞赛以便人们能尽可能的多得分,这需要你的帮助 题目描述 我们可以从几个种类中选取竞赛的题目,这里的一个"种类& ...

  6. Vue之自建管理后台(三)登录页面

    在做登录页面之前,我们必须得完成路由的设定... 按照之前的设计我们路由的文件夹是src/router 官方默认的index.js,如下: import Vue from 'vue' import R ...

  7. How to enter special characters like “&” in oracle database? [duplicate]

    SQL> set define off; or use Try 'Java_22 '||'&'||' Oracle_14'

  8. 【学术篇】SPOJ FTOUR2 点分治

    淀粉质入门第一道 (现在个人认为spoj比bzoj要好_(:з」∠)_ 关于点分治的话推荐去看一看漆子超的论文>>>这里这里<<< 之前一直试图入点分治坑, 但是因 ...

  9. jdbc打印sql语句-p6spy配置

    @Configuration public class P6SpyConfig { /** * P6数据源包装, 打印SQL语句 */ @Bean public P6DataSourceBeanPos ...

  10. yum 安装pip

    centos7 没有python-pip包就执行命令 yum -y install epel-release 执行成功之后,再次执行yum install python-pip 对安装好的pip进行升 ...