Python 函数及参数的使用
函数
- 带名字的代码块,用于完成具体的工作
- 关键字def定义一个函数,定义函数名,括号内是需要完成任务所需要的信息,最后定义冒号结尾
- 缩进构成函数体
- 函数调用,依次指定函数名以及冒号括起来的必要信息
def greet_user():
'''显示简单的问候语'''
print("Hello!")
great_user()
# 向函数传递信息
def great_user(username):
print("Hello, " +username.title() + "!")
great_user('yegeli')
Hello, Yegeli!
实参和形参
- 形参:函数完成其工作所需的一项信息。
- 实参:调用函数时传递给函数的信息。
传递实参
- 函数定义中可能包含多个形参,函数调用也可能包含多个实参,向函数传递实参的方式很多,可使用位置实参,要求实参的顺序与形参的顺序相同,关键字实参,每个实参都由变量名和值组成,还可以使用列表和字典。
位置实参
- 调用函数时,将每个实参都关联到函数定义中的一个形参,最简单的关联方式是基于实参的顺序
- 可根据需要使用任意数量的位置实参,按顺序将函数调用中的实参关联到函数定义中相应的形参
# 位置实参
def describe_pet(animal_type,pet_name):
"""显示宠物的信息"""
print("\nI have a " + animal_type + ".")
print("My " + animal_type + "'s name is " + pet_name.title() + ".")
describe_pet('hamster','harry')
I have a hamster.
My hamster's name is Harry.
# 调用函数多次
def describe_pet (animal_type,pet_name):
"""显示宠物的信息"""
print("\nI have a " + animal_type + ".")
print("My " + animal_type + "'s name is " + pet_name.title() + ".")
describe_pet('hamster','harry')
describe_pet('dog','willie')
I have a hamster.
My hamster's name is Harry.
I have a dog.
My dog's name is Willie.
关键字实参
- 关键字实参是传递给函数的名称—值对,直接在实参中将名称和值关联起来
- 使用关键字实参时,准确地指定函数定义中的形参名
def describe_pet(animal_type,pet_name)
print("\nI have a " + animal_type + ".")
print("My " + animal_type + "'s name is " + pet_name.title() + ".")
describe_pet(animal_type = 'hamster',pet_name = 'harry')
默认值
- 给每个形参指定默认值,可在函数调用中省略相应的实参,使用默认值可以简化函数调用
- 如果提供了实参,将忽略形参的默认值
def describe_pet(pet_name,animal_type = 'dog'):
print("\nI have a " + animal_type + ".")
print("My " + animal_type + "'s name is " + pet_name.title() + ".")
describe_pet('willie')
describe_pet(animal_type='hamster',pet_name='harry')
I have a dog.
My dog's name is Willie.
I have a hamster.
My hamster's name is Harry.
# 等效的函数调用
def describe_pet(pet_name,animal_type = 'dog'):
print("\nI have a " + animal_type + ".")
print("My " + animal_type + "'s name is " + pet_name.title() + ".")
describe_pet('willie')
describe_pet(pet_name='willie')
describe_pet('harry','hamster')
describe_pet(pet_name='harry',animal_type='hamster')
describe_pet(animal_type='hamster',pet_name='harry')
I have a dog.
My dog's name is Willie.
I have a dog.
My dog's name is Willie.
I have a hamster.
My hamster's name is Harry.
I have a hamster.
My hamster's name is Harry.
I have a hamster.
My hamster's name is Harry.
练习
# 1.T恤
# 编写一个名为 make_shirt() 的函数,它接受一个尺码以及要印到 T 恤上的字样。这个函数应打印一个句子,概要地说明 T 恤的尺码和字样。
# 使用位置实参调用这个函数来制作一件 T 恤;再使用关键字实参来调用这个函数。
def make_shirt(size,style):
print("衣服的尺码是: " + str(size) )
print("衣服的样式是: " + style.title())
make_shirt(20,'nike')
衣服的尺码是: 20
衣服的样式是: Nike
# 2.大号T恤
# 修改函数 make_shirt() ,使其在默认情况下制作一件印有字样
#“I love Python” 的大号 T 恤。调用这个函数来制作如下 T 恤:一件印有默认字样的大号
# T恤、一件印有默认字样的中号 T 恤和一件印有其他字样的 T 恤(尺码无关紧要)
def make_shirt(size,style='l love python'):
print("衣服的尺码是: " + size )
print("衣服的样式是: " + style.title())
make_shirt('大号')
make_shirt('小号')
make_shirt('中号')
衣服的尺码是: 大号
衣服的样式是: L Love Python
衣服的尺码是: 小号
衣服的样式是: L Love Python
衣服的尺码是: 中号
衣服的样式是: L Love Python
# 3.城市
# 编写一个名为 describe_city() 的函数,它接受一座城市的名字以及该城市
# 所属的国家。这个函数应打印一个简单的句子,如 Reykjavik is inIceland 。
# 给用于存储国家的形参指定默认值。为三座不同的城市调用这个函数,
# 且其中至少有一座城市不属于默认国家。
def describe_city(name,country='中国'):
print(name + " is in " + country)
describe_city(name = '上海')
describe_city('北京')
describe_city(name= '东京',country = '日本')
上海 is in 中国
北京 is in 中国
东京 is in 日本
Python 函数及参数的使用的更多相关文章
- Python函数可变参数*args及**kwargs详解
初学Python的同学们看到代码中类似func(*args, **kwargs)这样的函数参数定义时,经常感到一头雾水. 下面通过一个简单的例子来详细解释下Python函数可变参数*args及**kw ...
- 【转】Python函数默认参数陷阱
[转]Python函数默认参数陷阱 阅读目录 可变对象与不可变对象 函数默认参数陷阱 默认参数原理 避免 修饰器方法 扩展 参考 请看如下一段程序: def extend_list(v, li=[]) ...
- 详解python函数的参数
详解python函数的参数 一.参数的定义 1.函数的参数在哪里定义 在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号, 隔开 案列: ...
- 可变数据类型不能作为python函数的参数
可变数据类型:列表.字典 不可变数据类型:整型.浮点型.字符串.元组 为什么可变数据类型不能作为python函数的参数?请看以下例子: def foo(a=[]): a.append(1) retur ...
- python 函数传递参数的多种方法
python中函数根据是否有返回值可以分为四种:无参数无返回值,无参数有返回值,有参数无返回值,有参数有返回值. Python中函数传递参数的形式主要有以下五种,分别为位置传递,关键字传递,默认值传递 ...
- python函数动态参数详解
Python的动态参数: 1,参数前一个"*":在函数中会把传的参数转成一个元组. def func (*args): print(args) func(123,1,2,'a') ...
- Python 函数的参数知识汇总
函数搞不熟,后边就晕头转向了,在此重新归纳一下廖大神的函数教程,加深记忆 一.函数的参数分为: 位置参数 def power(x): # x 就是power(x)的一个位置参数,我们调用power(x ...
- Python学习笔记(四)Python函数的参数
Python的函数除了正常使用的必选参数外,还可以使用默认参数.可变参数和关键字参数. 默认参数 基本使用 默认参数就是可以给特定的参数设置一个默认值,调用函数时,有默认值得参数可以不进行赋值,如: ...
- 使用可变对象作为python函数默认参数引发的问题
写python的都知道,python函数或者方法可以使用默认参数,比如 1 def foo(arg=None): 2 print(arg) 3 4 foo() 5 6 foo("hello ...
- Python面试题目之Python函数默认参数陷阱
请看如下一段程序: def extend_list(v, li=[]): li.append(v) return li list1 = extend_list(10) list2 = extend_l ...
随机推荐
- Docker基本概念及命令
1.Docker三个重要概念:仓库(Repository).镜像(image)和容器(Container) Docker基本用法: docker 命令关键字(COMMAND) 一系列的参数 dock ...
- nios verify failed 问题解决。
nios 调试时碰到上图所示问题.根据下载地址可以判断下载flash.sdram都成功,这里说明电路设计和焊接都没有问题. 但是在flash地址verify failed between adress ...
- 日常笔记 - visual studio code快捷键
环境: Mac + visual studio code 需求: 用vs code 编辑一个txt文档, 一行放不下, 在单行和多行显示之间切换. 快捷键: alt+z [参考链接] https:// ...
- 飞桨AI 文本实体抽取 数据准备(excel 文本标注)
网纸: https://ai.baidu.com/easydl/app/deploy/tee/public #!/usr/bin/env python3 # -*- coding: utf-8 -*- ...
- LaravelORM 中的 withSum , withAvg, withMax,withMin 的实现
Orm::withCount(['relation as relation_sum' =>function($query){ $query->select(DB::raw("su ...
- vs2010 Windows程序打包成安装包方法
1. 在vs2010 选择"新建项目"--"其他项目类型"--"Visual Studio Installerà"安装项目": ...
- Spring简介-IOC
目录 1.Spring 1.1.简介 1.2.优点 1.3.组成 1.4.扩展 2.IOC理论推导 1.Spring 1.1.简介 Spring:春天----------->给软件行业带来了春天 ...
- Less-4 报错注入
补坑:报错注入 当我们 union 无法注入的时候,可以使用报错注入,这里我们有三种报错注入,xpth语法错误和count()+rand()+floor()+group by重复组建错误 extrac ...
- 【LeetCode回溯算法#08】递增子序列,巩固回溯算法中的去重问题
递增子序列 力扣题目链接(opens new window) 给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2. 示例 1: 输入:nums = [4,6,7,7] ...
- Javaweb学习笔记第十六弹--Vue、Element
Vue(一套前端框架,MVVM主要用于实现数据的双向绑定) Vue快速入门 //新建HTML页面,引入Vue.js文件 <script src="js.Vue.js"> ...