一、定义函数

形参:函数完成一项工作所需要的信息,在函数定义时完成

实参:调用函数时传递给函数的信息

二、传递实参

1.位置实参:每个实参都关联到函数定义中的一个形参

示例: def describe_pet(animal_type,pet_name):

print("My"+ animal_type+"'s is"+pet_name.title()+".")

describe_pet('hamster','harry')

2.关键字实参是传递给函数的名称-值对 (直接在实参中将名称和值关联起来,这样无需考虑函数调用中的实参顺序)

def describe_pet(animal_type,pet_name):

print("My"+ animal_type+"'s is"+pet_name.title()+".")

describe_pet(animal_type='hamster',pet_name='harry')

3.默认值:编写函数时,可给每个形参指定默认值。在调用函数时给形参指定了实参值时,python将使用指定实参值;否则,将使用形参的默认值。

def describe_pet(pet_name,animal_type='dog'):

print("My"+ animal_type+"'s is"+pet_name.title()+".")

调用式1: describe_pet('hamster') 使用形参默认值

调用式2: describe_pet(pet_name='harry',animal_type='hamster')

显示的给animal_type提供了实参,因此python忽略了形参的默认值

注意:使用默认值时,在形参列表中必须先列出没有默认值的形参,在列出有默认值得形参,这让python能正确解读位置实参

4.等效的函数调用:指定实参时可以使用位置方式,也可以使用关键字方式

def describe_pet(pet_name,animal_type='dog'):

print("My"+ animal_type+"'s is"+pet_name.title()+".")

#一条命为willie的小狗

describe_pet('willie')

describe_pet(pet_name='willie')

#一只名为Harry的仓鼠

describe_pet('harry','hamster') --位置实参

describe_pet(pet_name='harry',animal_type='hamster')--关键字实参

describe_pet(animal_type='hamster',pet_name='harry')

三、返回值: return语句将值返回到调用函数的代码行

1.返回简单的值

2.让实参变成可选的

def get_formatted_name(first_name,last_name,middle_name=''):ifmiddle_name:

full_name=first_name+' '+middle_name+' '+last_nameelse:

full_name=first_name+' '+last_name

reutn full_name

musician=get_formatted_name('zilong','zhou')

print(musician)

musician=get_formatted_name('xifeng','wang','lee')

print(musician)

为让中间名变成可选,可给形参middle_name一个默认值-空字符串,并在用户没有提供中间名时不使用这个实参

3.返回字典:函数可返回任何类型的值,包括列表和字典等较为复杂的数据结构

def build_person(first_name,last_name,age='')

person={'first_name':first_name,'last_name':last_name}

if age:

age=32

retun person

musician=build_person('yufang','ke',20)

print(musician)

4.将函数与while循环结合使用

def get_formatted_name(first_name,last_name)

full_name=first_name+' '+last_name

retun full_namewhile true:

print("please tell me your name|enter q to quit")

first_name=input("first name: ")if first_name == 'q':break;

last_name=input("last name: ")if last_name == 'q':break;

formatted_named=get_formatted_name(first_name,last_name)

print(formatted_named)

四、传递列表

1.在函数中修改列表:3D打印模型公司需要打印的设计存储在一个列表中,打印后移到另一个列表中

def print_models(unprinted_designs,completed_models):whileunprinted_designs:

current_design=unprinted_designs.pop()

completed_models.append(current_design)

def show_completed_models(completed_models):

print("the following models have been printed:")for completed_model incompleted_models:

print(completed_model)

unprinted_designs=['iphone case','robot pendant','dodecahedron']

completed_models=[]

print_models(unprinted_designs,completed_models)

show_completed_models(completed_models)

2.禁止函数列表修改(源代码参--在函数中修改列表)

print_models(unprinted_designs[:],completed_models)

unprinted_designs[:]获得列表unprinted_designs的副本,而不是列表unprinted_designs的本身,列表completed_models也将打印包含打印好的列表名称,但函数所做的修改不会影响到列表unprinted_designs

五、传递任意数量的实参

1.简单示例

制作比萨时需要接受很多配料,但无法预先确定顾客要多少配料,下面形参toppings能够接受任意多个实参

def make_pizza(*toppings):

print(toppings)

make_pizza('peper')

make_pizza('peper','extra cheese')

2.结合使用位置实参和任意数量实参

def make_pizza(size,*toppings):

print("making a"+str(size)+"-inch pizza with the following toppings:")for topping intoppings:

print("-"+topping)

make_pizza(16,'peper')

make_pizza(15,'peper','extra cheese')

3.使用任意数量的关键字实参:将函数编写能够接受任意数量的键-值对--调用语句提供多少就接受多少

build_profile()函数接受名和姓,同事还接受任意数量的关键字实参

def build_profile(first,last,**user_infos):

profile={}

profile['first_name']=first

profile['last_name']=lastfor key,value inuser_infos:

profile[key]=value

retun profile

user_profile=build_profile('albert','eisnst',location='princeton',field='physics')

print(user_profile)

六、将函数存储在模块中

函数的优点之一是使用它们可以和主程序分离;通过给函数指定描述性名称,可让主程序容易理解得多;你还可以将函数存储在称为模块的独立文件中,再将模块导入到主程序中。

import语句允许在当前运行的程序文件中使用模块中的代码

6.1导入整个模块

def make_pizza(size,*toppings):

print("making a"+str(size)+"-inch pizza with the following toppings: ")

for topping in toppings:

print("-"+topping)

接下来,我们在pizza.py文件所在目录创建另一个名为making_pizzas.py文件,这个文件导入刚创建的模块,再调用mkae_pizza()函数两次

import pizza

make_pizza(16,'peper')

make_pizza(15,'peper','extra cheese')

代码行import pizza让Python打开文件pizza.py,并将pizza.py文件中所有函数都复制到这个程序中

6.2 导入特定的函数

导入任意数量函数方法:from module import function_name;

对于前面making_pizzas.py示例,如果你只想导入使用的函数,代码将类似下面这样:

from pizza import make_pizza

make_pizza(16,'peper')

make_pizza(15,'peper','extra cheese')

6.3使用as给函数重命名

指定别名通用语法如下:

from module_name import function_name as fn

对于前面making_pizzas.py示例:

from pizza import make_pizza as mp

make_pizza(16,'peper')

make_pizza(15,'peper','extra cheese')

6.4使用as给模块指定别名

import pizza as p

make_pizza(16,'peper')

make_pizza(15,'peper','extra cheese')

给模块指定别名的通用方法如下:

import module_name as mn

6.5 导入模块中所有函数

使用*运算符可让python导入模块中的所有函数:

from pizza import *

make_pizza(16,'peper')

make_pizza(15,'peper','extra cheese')

6.6 函数编写指南

每个函数首先给函数指定描述性名称,且只在其中使用小写字母和下划线,并简要地阐述其功能注释,该注释应紧跟函数定义的后面

python title函数用法_python函数用法相关推荐

  1. python所有函数用法_python函数用法总结

    空函数 如果想定义一个什么事也不做的空函数,可以用pass语句: def nop(): pass pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码 ...

  2. python所有函数用法_Python函数使用方法(高级用法)

    前面章节,已经介绍了 Python 函数的所有基本用法和使用注意事项.但是,Python 函数的用法还远不止此,Python 函数还支持赋值.作为其他函数的参数以及作为其他函数的返回值. 首先,Pyt ...

  3. python函数形参_python函数形参用法实例分析

    本文实例讲述了python函数形参用法.分享给大家供大家参考.具体如下: 函数形参: 函数取得的参数是你提供给函数的值,这样函数就可以利用这些值 做 一些事情.这些参数就像变量一样,只不过它们的值是在 ...

  4. python中mod函数用法_Python 函数的介绍和用法

    最近要回学校开始做毕设了,准备做个有关算法的,听说python运算好一些,特地来学一学. 先从基础开始啊---------- 函数 可以直接从Python的官方网站查看文档: http://docs. ...

  5. python命名空间和闭包_Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】...

    本文实例讲述了Python函数基础用法.分享给大家供大家参考,具体如下: 一.什么是命名关键字参数? 格式: 在*后面参数都是命名关键字参数. 特点: 1.约束函数的调用者必须按照Kye=value的 ...

  6. python查看函数参数_python函数参数

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 最简单的无参数def functionname(): pass function ...

  7. python中函数参数_Python函数的参数

    本章将介绍函数中参数的用法,更多内容请参考:Python学习指南 定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道传递正确的参数,以及函数就返回 ...

  8. python end用法_python end用法

    原博文 2020-01-15 16:57 − python中"end="用法:例如print("#",end=" \n"),默认换行,pri ...

  9. python函数知识点总结_函数总结_python函数总结_高中函数知识点总结 - 云+社区 - 腾讯云...

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! postgresql窗口函数总结postgresql窗口函数总结 1窗口函数说明 ...

最新文章

  1. 对比 MySQL 的 Binlog 日志处理工具
  2. linux mysql 统一字符编码
  3. 不仅仅是虚拟化--Windows 7 SP1 Windows 2008R2 SP1解析
  4. 简历中的项目如何体现实战能力? 如何有技巧地描述你做过的 project?
  5. promise封装ajax
  6. 【word2vec】篇一:理解词向量、CBOW与Skip-Gram等知识
  7. bootstrap后台模板_免费bootstrap后台管理系统模板源码 网站后台模板_后台管理界面...
  8. centos移动文件到指定目录_Dynamo批量分离中心文件并另存到指定目录
  9. 35款安卓App被通报窃取个人隐私!快看看你的手机里有没有
  10. Vue.js 源码分析(九) 基础篇 生命周期详解
  11. MybatisPlus:使用SQL保留字(关键字)的操作
  12. cisco交换机端口“假死”现象
  13. 自己动手一步步安装Linux系统
  14. uniapp的云购商城源码/java电商系统APP源码
  15. java下载m3u8视频,解密并合并ts(一)
  16. 无线网首选dns服务器怎么设置,首选dns服务器地址如何设置
  17. Redis-使用和原理
  18. 面向过程、面向对象 的模型和方法
  19. c++ 十六进制打印
  20. 游戏企业通关秘籍:华为云游戏全场景能力,开发+部署+运营“关关难过关关过”...

热门文章

  1. 中国制造又一产业追上韩国,甚至有望取得全球第一
  2. 京东JData算法大赛决赛圆满完成 30万冠军巨奖花落“鲁班七号”
  3. SENSIRION SCD30 二氧化碳传感器 I2C 通信参数及相关命令
  4. linux下perror函数,Linux学习 之 perror函数,strerror函数,errno
  5. 你难道还不会三维动画软件blender安装吗?来!建模大神教你
  6. 2021年高压电工考试资料及高压电工复审考试
  7. 细数STM32F103的那些坑
  8. python-筛选文件匹配模块glob
  9. jumpserver 使用教程_开源堡垒机 Jumpserver 入门教程
  10. PLC技能引领自动化控制系统的设计与开发