当前位置: 首页 > news >正文

南宫企业做网站百度关键词推广公司

南宫企业做网站,百度关键词推广公司,晋城北京网站建设,外网npv加速器函数的作用 1 定义函数 在 Python 中,可以使用 def 语句来定义函数。 定义函数的基本语法: def 函数名(参数列表):函数体return 返回值def 关键字:用于声明一个函数的开始。 函数名:是你给这个函数起的名字,遵循 Py…

函数的作用

1 定义函数

在 Python 中,可以使用 def 语句来定义函数。
定义函数的基本语法:

def 函数名(参数列表):函数体return 返回值

def 关键字:用于声明一个函数的开始。
函数名:是你给这个函数起的名字,遵循 Python 的命名规则,如不能以数字开头,不能包含空格等。
参数列表:是函数的输入参数,可以有多个,用逗号分隔。也可以没有参数。在函数调用时,会将对应的值传递给这些参数。
冒号:不能少
函数体:是函数的具体实现代码,也就是函数要执行的操作。函数体需要缩进(通常是 4 个空格),以表示它们属于这个函数。
return 语句:用于从函数中返回值。如果函数没有返回值,可以省略 return 语句,或者使用 return 不带值,此时函数会返回 None

2 函数参数

形参与实参

  • 形参:形参是在函数定义时函数名后面括号中的变量名。它们是函数的 “占位符”,用于表示函数需要接收的参数。例如,在函数定义 def add(a, b): 中,a 和 b 就是形参。它们在函数内部代表了调用时传入的值,用于函数的具体操作。
    形参的个数和顺序在函数定义时就已经确定,函数的调用者需要按照这个定义来提供对应的实参。

  • 实参:实参是在函数调用时传递给函数的具体值。当调用一个函数时,需要将实参传递给函数,实参的值会被赋给对应的形参,然后函数使用这些形参的值来执行相应的操作。例如,在函数调用 add(3, 5) 中,3 和 5 就是实参。它们的值分别被赋给形参 a 和 b,函数会根据这些实参的值进行加法运算。

def multiply(a, b):  # a 和 b 是形参result = a * breturn resultx = 4
y = 7
product = multiply(x, y)  # x 和 y 是实参,它们的值 4 和 7 被传递给形参 a 和 b
print(product)  # 输出 28

函数 multiply 定义了两个形参 a 和 b。当调用函数时,x 和 y 的值作为实参传递给函数。函数内部使用形参 a 和 b
来进行乘法运算,并返回结果。

def get_formatted_name(first_name, last_name):"""Return a full name, neatly formatted."""full_name = f"{first_name} {last_name}"return full_name.title()musician = get_formatted_name('jimi', 'hendrix')
print(musician)

实参传递方式1:位置参数传递

位置参数传递 :这是最常用的传递方式,实参按照函数定义时形参的顺序依次传递。例如上面的例子中,x 对应 a,y 对应 b。下面例子中'hamster' 对应 animal_type'harry' 对应 pet_name

def describe_pet(animal_type, pet_name):"""Display information about a pet."""print(f"\nI have a {animal_type}.")print(f"My {animal_type}'s name is {pet_name.title()}.")describe_pet('hamster', 'harry') # 位置实参

位置参数对应形式参数,位置错误,可能导致输出错误。

def describe_pet(animal_type, pet_name):"""Display information about a pet."""print(f"\nI have a {animal_type}.")print(f"My {animal_type}'s name is {pet_name.title()}.")describe_pet('dog', 'willie')
describe_pet('willie', 'dog')

输出:

I have a dog.
My dog’s name is Willie.
I have a willie.
My willie’s name is Dog.

实参传递方式2:关键字参数传递

关键字实参可以无需考虑函数调用中实参的顺序,关键字实参=两边无空格

def describe_pet(animal_type, pet_name):"""Display information about a pet."""print(f"\nI have a {animal_type}.")print(f"My {animal_type}'s name is {pet_name.title()}.")describe_pet(animal_type='hamster', pet_name='harry')
describe_pet(pet_name='harry',animal_type='hamster',)

I have a hamster.
My hamster’s name is Harry.
I have a hamster. My
hamster’s name is Harry.

实参传递方式3:默认参数值

给每个参数指定默认值,在调用函数中,给形参提供了实参时,python 使用指定的实参值,否则使用形参的默认值。因此在形参制定默认值时,可以在函数调用中省略相应的实参。

def describe_pet(pet_name, animal_type='dog'):"""Display information about a pet."""print(f"\nI have a {animal_type}.")print(f"My {animal_type}'s name is {pet_name.title()}.")describe_pet(pet_name='willie')

上面例子中,如任何情况下都要给pet_name提供实参,指定该实参时可使用位置方式,也可使用关键字方式。

如果要描述的动物不是小狗,还必须给animal_type提供参数,可以使用位置方式,也可使用关键字方式。

实参传递方式4:可变参数

通过默认参数实现可变参数

def get_formatted_name(first_name, last_name, middle_name=''):"""Return a full name, neatly formatted."""if middle_name:full_name = f"{first_name} {middle_name} {last_name}"else:full_name = f"{first_name} {last_name}"return full_name.title()musician = get_formatted_name('jimi', 'hendrix')
print(musician)musician = get_formatted_name('john', 'hooker', 'lee')
print(musician)

Jimi Hendrix
John Lee Hooker

*variable :传递任意数量的实参

形参*toppings让python创建一个名为topping的空元祖,并将收到的所有值都封装到这个元组中。

def make_pizza(*toppings):"""Print the list of toppings that have been requested."""print(toppings)make_pizza('pepperoni')
make_pizza('mushrooms', 'green peppers', 'extra cheese')

输出元组

(‘pepperoni’,)
(‘mushrooms’, ‘green peppers’, ‘extra cheese’)

def make_pizza(*toppings):"""Summarize the pizza we are about to make."""print("\nMaking a pizza with the following toppings:")for topping in toppings:print(f"- {topping}")make_pizza('pepperoni')
make_pizza('mushrooms', 'green peppers', 'extra cheese')

Making a pizza with the following toppings:
- pepperoni
Making a pizza with the following toppings:
- mushrooms
- green peppers
- extra cheese

混合使用位置参数和任意数量实参

def make_pizza(size, *toppings):"""Summarize the pizza we are about to make."""print(f"\nMaking a {size}-inch pizza with the following toppings:")for topping in toppings:print(f"- {topping}")make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

Making a 16-inch pizza with the following toppings:
- pepperoni
Making a 12-inch pizza with the following toppings:
- mushrooms
- green peppers
- extra cheese

**variable:传递任意数量的实参

def build_profile(first, last, **user_info):"""Build a dictionary containing everything we know about a user."""user_info['first_name'] = firstuser_info['last_name'] = lastreturn user_infouser_profile = build_profile('albert', 'einstein',location='princeton',field='physics')
print(user_profile)

混合*variable和**variable

def print_args(*args, **kwargs):print("Positional arguments:", args)print("Keyword arguments:", kwargs)print_args(1, 2, 3, name = "Alice", age = 25)
# 输出:
# Positional arguments: (1, 2, 3)
# Keyword arguments: {'name': 'Alice', 'age': 25}

3 参数为列表

允许函数修改列表

将列表传递给参数后,函数就可对齐进行修改,这种修改时永久性的。
不使用函数修改列表

# Start with some designs that need to be printed.
unprinted_designs = ['phone case', 'robot pendant', 'dodecahedron']
completed_models = []# Simulate printing each design, until none are left.
#  Move each design to completed_models after printing.
while unprinted_designs:current_design = unprinted_designs.pop()print(f"Printing model: {current_design}")completed_models.append(current_design)# Display all completed models.
print("\nThe following models have been printed:")
for completed_model in completed_models:print(completed_model)

使用函数修改列表

def print_models(unprinted_designs, completed_models):"""Simulate printing each design, until none are left.Move each design to completed_models after printing."""while unprinted_designs:current_design = unprinted_designs.pop()print(f"Printing model: {current_design}")completed_models.append(current_design)def show_completed_models(completed_models):"""Show all the models that were printed."""print("\nThe following models have been printed:")for completed_model in completed_models:print(completed_model)unprinted_designs = ['phone case', 'robot pendant', 'dodecahedron']
completed_models = []print_models(unprinted_designs, completed_models)
show_completed_models(completed_models)

禁止函数修改列表

切片表示将列表副本传递给函数,向函数传递列表的副本而不是原件

function_name(List_name[:])

4 返回值

返回简单值

def get_formatted_name(first_name, middle_name, last_name):"""Return a full name, neatly formatted."""full_name = f"{first_name} {middle_name} {last_name}"return full_name.title()musician = get_formatted_name('john', 'lee', 'hooker')
print(musician)

返回字典

def build_person(first_name, last_name, age=None):"""Return a dictionary of information about a person."""person = {'first': first_name, 'last': last_name}if age:person['age'] = agereturn personmusician = build_person('jimi', 'hendrix', age=27)
print(musician)

5 函数结合while

无限循环

def get_formatted_name(first_name, last_name):"""Return a full name, neatly formatted."""full_name = f"{first_name} {last_name}"return full_name.title()# This is an infinite loop!
while True:print("\nPlease tell me your name:")f_name = input("First name: ")l_name = input("Last name: ")formatted_name = get_formatted_name(f_name, l_name)print(f"\nHello, {formatted_name}!")

定义推出条件

def get_formatted_name(first_name, last_name):"""Return a full name, neatly formatted."""full_name = f"{first_name} {last_name}"return full_name.title()# This is an infinite loop!
while True:print("\nPlease tell me your name:")print("(enter 'q' at any time to quit)")f_name = input("First name: ")if f_name == 'q':breakl_name = input("Last name: ")if l_name == 'q':breakformatted_name = get_formatted_name(f_name, l_name)print(f"\nHello, {formatted_name}!")

6 将函数存储在模块中

def make_pizza(size, *toppings):"""Summarize the pizza we are about to make."""print(f"\nMaking a {size}-inch pizza with the following toppings:")for topping in toppings:print(f"- {topping}")

import pizza

import pizza
pizza.make_pizza(16, 'pepperoni')
pizza.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

from pizza import make_pizza

from pizza import make_pizzamake_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

from pizza import make_pizza as mp

import pizza as p

from pizza import *

http://www.dtcms.com/a/426432.html

相关文章:

  • 海外医疗兼职网站建设网站规划与设计论文
  • vue.js合作做网站么广元市利州区建设局网站
  • 好看的商城网站设计美食网站建设页面要求
  • 怎么自己建立一个网站后台wordpress漫画模板下载
  • 个人网站备案申请搜索引擎营销简称为
  • 阳谷网站建设公司网站开发公司怎么能接到单子
  • 个人建站除了wordpress室内设计联盟网
  • 西安手机网站制作网站打开速度太慢
  • 做网站建设的好处网站设计注意因素
  • 做仿牌网站被封视频拍摄收费标准
  • 外国的贸易网站建设银行镇海支行网站
  • 注册免费网站区域名成都建站模板网站制作
  • 玉树市公司网站建设北京网站开发招聘
  • 常州微信网站建设信息互联网定制开发
  • 删除wordpress版权兰州网站排名优化公司
  • 用flex做的网站新能源电动汽车哪个牌子的质量好
  • 蓬莱住房和规划建设管理局网站广西医院的网站建设
  • 陶瓷网站建设平面设计师用的网站
  • 旅游网站开发工具盐城做企业网站多少钱
  • 如何做网站主页附近做app的公司
  • 源码商城网站源码wordpress 时区问题
  • 企业网站的建设一般要素有网站建设业务好做吗
  • 济南手机网站建设公司报价99到家网站怎么做
  • 交流稿 网站建设家庭网络组建方案
  • 玉环网站制作做电子相册的大网站
  • 质量好网站建设公司基于站点的网络营销方法
  • 电子信息工程系部网站建设方案自驾游黄山风景区旅游攻略
  • 国外做储物柜的网站商城网站建设推荐
  • 做整体衣柜宣传海报的网站简单网站页面设计
  • 威海建设信息网站网站建设方面的书籍推荐