ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

基础学python(24)

2021-10-16 09:31:45  阅读:220  来源: 互联网

标签:24 last name get python 基础 formatted print first


关键字实参

为了不使我们闹出昨天名为hamster的Harry这样的笑话,我们可以直接在实参中将名称和值联系起来,这样你就可以不用考虑实参的顺序了。
例如:

def describe_pet(animal_type,pet_name):
	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')

函数还和之前一样但是在调用函数的时候,他像Python明确的指出了个个实参对应的形参,这样的输出准确无误。

在我们编写函数时,可以给形参赋予一个默认值,例如,当我们知道宠物的种类大多是狗的时候我们就可以直接给种类的形参赋予一个默认值。
例如:

def describe_pet(animal_type,pet_name='dog'):
	print(f"\ni have a {animal_type}.")
	print(f"my {animal_type}'s name is {pet_name.title()}.")

describe_pet(pet_name='harry')

我们没有在describe里面给定值,只是将形参的默认值进行了输出,但是我们要注意的是,形参的位置发生了改变,当我们赋给一个形参值时,另一个形参还需要继续寻找他的赋值,如果将已经赋值的形参放到前面,python将会继续按照循序进行赋值。

返回简单值

函数并非总是直接显示输出,他还可以处理一些数据,并且返回一个或者一组值,在函数中可以使用return将值返回到调用函数的代码行。
例如:

def get_formatter_name(first_name,last_name)
	full_name=f"{first_name}{last_name}"
	return full_name,title()
	musician=get_formatted_name('jimi','hendrix')
	print(musician)
	

函数get_formatter_name()的定义通过形参接受名和姓,在中间加上一个空格,并将结果赋给变量full_name,然后将full_name的值转换为首字母大写格式,并将结果返回到函数的调用行。

让实参变成可选的

我们有时需要将实参变为可选的,可以使用默认值来让实参变成可选的。
例如,当我们要扩展函数get_formatted_name(),使用他处理中间名。我们可以将函数修改为这样:

def get_formatted_name(first_name,middle_name,last_name)
	full_name=f"{first_name}{middle_name}{last_name}"
	return full_name,title()
	musician=get_formatted_name('jimi','da','hendrix')
	print(musician)

但是并不是所有人都有中间名,如果只提供了两个值,程序就不能正常运行,我么可以将函数改为:

def get_formatted_name(first_name,last_name)
	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)
返回字典

函数可以返回任何值包括数列和字典,,我们可以创建一个字典用来储存姓名
例如:

def build_person(first_name,last_name):
	person={'first':first_name,'last':last_name}
	return person

musician=build_person('jimi','hendrix')
print(musician)

函数build_person()接受名和姓,讲这些值储存到字典中,最后返回表示人的整个字典,打印这个返回的值输出结果是:

{'first':'jimi','last':'hendrix'}
结合函数使用while循环
def get_formatted_name(first_name,last_name)
	full_name=f"{first_name}{last_name}"
	while Ture:
		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("\nhello,{formatted_nmae}.")

当然我们会发现在while循环中这将是一个无线循环,现在我们可以把他加上break让他进行退出。

def get_formatted_name(first_name,last_name)
	full_name=f"{first_name}{last_name}"
	while Ture:
		print("\nplease tell me your name:")
		print("(enter'q'at any time to quit)")
		f_name=input("First name:")
		if f_name=='q':
			break
		l_name=input("Last name:")
		if l_name=='q'
			break
		formatted_name=get_formatter_name(f_name,l_name)
		print("\nhelllo,{formattted_name}")

我们在用户每次输出的时候都会提示,当输入q的时候就会退出。

标签:24,last,name,get,python,基础,formatted,print,first
来源: https://blog.csdn.net/m0_61344598/article/details/120793898

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有