函数

  • 带名字的代码块,用于完成具体的工作
  • 关键字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 函数及参数的使用的更多相关文章

  1. Python函数可变参数*args及**kwargs详解

    初学Python的同学们看到代码中类似func(*args, **kwargs)这样的函数参数定义时,经常感到一头雾水. 下面通过一个简单的例子来详细解释下Python函数可变参数*args及**kw ...

  2. 【转】Python函数默认参数陷阱

    [转]Python函数默认参数陷阱 阅读目录 可变对象与不可变对象 函数默认参数陷阱 默认参数原理 避免 修饰器方法 扩展 参考 请看如下一段程序: def extend_list(v, li=[]) ...

  3. 详解python函数的参数

    详解python函数的参数 一.参数的定义 1.函数的参数在哪里定义 在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号, 隔开 案列: ...

  4. 可变数据类型不能作为python函数的参数

    可变数据类型:列表.字典 不可变数据类型:整型.浮点型.字符串.元组 为什么可变数据类型不能作为python函数的参数?请看以下例子: def foo(a=[]): a.append(1) retur ...

  5. python 函数传递参数的多种方法

    python中函数根据是否有返回值可以分为四种:无参数无返回值,无参数有返回值,有参数无返回值,有参数有返回值. Python中函数传递参数的形式主要有以下五种,分别为位置传递,关键字传递,默认值传递 ...

  6. python函数动态参数详解

    Python的动态参数: 1,参数前一个"*":在函数中会把传的参数转成一个元组. def func (*args): print(args) func(123,1,2,'a') ...

  7. Python 函数的参数知识汇总

    函数搞不熟,后边就晕头转向了,在此重新归纳一下廖大神的函数教程,加深记忆 一.函数的参数分为: 位置参数 def power(x): # x 就是power(x)的一个位置参数,我们调用power(x ...

  8. Python学习笔记(四)Python函数的参数

    Python的函数除了正常使用的必选参数外,还可以使用默认参数.可变参数和关键字参数. 默认参数 基本使用 默认参数就是可以给特定的参数设置一个默认值,调用函数时,有默认值得参数可以不进行赋值,如: ...

  9. 使用可变对象作为python函数默认参数引发的问题

    写python的都知道,python函数或者方法可以使用默认参数,比如 1 def foo(arg=None): 2 print(arg) 3 4 foo() 5 6 foo("hello ...

  10. Python面试题目之Python函数默认参数陷阱

    请看如下一段程序: def extend_list(v, li=[]): li.append(v) return li list1 = extend_list(10) list2 = extend_l ...

随机推荐

  1. LVS负载均衡 2022年4月

    1. 负载均衡技术简介 2 1.1 负载均衡类型3 1.2 LVS简介4 1.3 Keepalived简介5 2. 负载均衡搭建主要步骤 6 2.1 LVS+Keepalived的负载均衡系统搭建6 ...

  2. win10修复系统

    DISM.exe /Online /Cleanup-image /Restorehealth sfc /scannow

  3. 服务器中VirtualBox子网访问

    本人常用的虚拟机软件是VirtualBox,由于笔记本性能,磁盘存储大下限制,以及VirtualBox客户机无法在多个设备间直接方便的使用等原因,我把几个虚拟的系统全部移动到便携式服务器中. 移动之后 ...

  4. pushd 和 popd:对目录栈进行操作

    介绍 目录栈是保存目录的栈结构,当前目录处于该栈结构的顶端,可使用dirs查看目录栈的目录.pushd命令可添加一个目录到目录栈,popd命令会清除目录栈中的一个目录. dirs dirs有三个参数: ...

  5. Linux系统下祼机安装mysql8.0和docker mysql 8.0 性能差异对比~

    环境准备 准备两台服务器环境,配置相同,分别安装Centos7,mysql8.0,docker mysql 8.0 准备测试代码 public class Chat { public static l ...

  6. Django笔记二之连接数据库、执行migrate数据结构更改操作

    本篇笔记目录索引如下: Django 连接mysql,执行数据库表结构迁移步骤介绍 操作数据库,对数据进行简单操作 接下来几篇笔记都会介绍和数据库相关,包括数据库的连接.操作(包括增删改查).对应的字 ...

  7. StyleGAN 调整面部表情,让虚拟人脸更生动

    目录 人脸表情 调整步骤 调整结果 人脸表情 通过上一篇文章 StyleGAN 生成的人脸:https://www.cnblogs.com/tinygeeker/p/17236264.html 人脸图 ...

  8. Android LineChart 折线图Demo

    1 首先在 build.gradle 里导入包 implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' 2.新建 启动Activity Li ...

  9. GPT接入企微应用 - 让工作快乐起来

    引子 最近最火的莫过于ChatGPT了,在自己体验后就想着如何其他同事也能方便的起起来,毕竟独乐乐不如众乐乐,自己注册又是V-P-N,又是国外手机验证,对于大部分同事来说门槛还是高的.现在也有不少小程 ...

  10. 第三章3.1HTML技术与CSS技术

    web中的html以及css: html(超文本标记语言:Hyper Text Markup Language):用于描述网页的一种语言: 通常其根标签使用html标签:使用尖括号表示:<htm ...