zoukankan      html  css  js  c++  java
  • 函数

    函数

    定义函数

    def greet_user():    #def告诉python你要定义一个函数
        """显示简单的问候语""" #函数注释
        print('Hello!')
    greet_user()
    

    实参和形参

    username=input('>>:')
    def greet_user(username):#此username为形参
    	"""显示简单的问候语"""
    	print('Hello, ' + username.title() + '!')
    greet_user(username) #此username为实参
    

    位置实参

    调用函数时,python必须将函数调用中的每个实参都关联到函数定义的一个形参。
    最简单的关联方式是基于实参的顺序。
    

    关键字实参

    关键字实参是传递给函数的名称-值对
    def describe_pet(animal_type,pet_name):
    	"""显示宠物的信息"""
    	print('
    I have a ' + animal_type +'.')
    	print('My ' + animal_type + "'s name is " + pet_name.title() + '.')
    describe_pet(animal_type='dog',pet_name='wang cai') #调用函数时,向python明确地指出了各个实参对应形参
    

    默认值

    def describe_pet(pet_name,animal_type='dog'):
    	"""显示宠物的信息"""
    	print('
    I have a ' + animal_type +'.')
    	print('My ' + animal_type + "'s name is " + pet_name.title() + '.')
    describe_pet(pet_name='wang cai')
    

    返回字典

    def build_person(first_name,last_name,age=''):
    	person={'first':first_name,'last':last_name}
    	if age:
    		person['age']=age
    	return person
    musician=build_person('jjc','wcx',age=27)
    print(musician)
    

    结合使用函数和while循环

    def name(first_name,last_name):
    	fullname=first_name + ' ' + last_name
    	return fullname.title()
    while True:
    	print('输入名字:')
    	f_name=input('firstname:')
    	if f_name=='q':
    		break
    	l_name=input('lastname:')
    	if l_name=='q':
    		break
    	get_name=name(f_name,l_name)
    	print(get_name)
    

    传递列表

    def users(names):
    	for name in names:
    		msg='Hello ' + name.title()
    		print(msg)
    usernames=['jjc','wcx']
    users(usernames)
    

    禁止函数修改列表

    unprinted_designs=['jjc','wcx','jjf','jjb',]
    completed_models=[]
    def print_models(unprinted_designs,completed_models):
    	while unprinted_designs:
    		current_design=unprinted_designs.pop()
    		#模拟根据设计制作3D打印模型的过程
    		print('current models:' + current_design)
    		completed_models.append(current_design)
    def show_completed_models(completed_models):
    	#显示打印好的所有模型
    	print('
    The following models have been printed:')
    	for completed_model in completed_models:
    		print(completed_model)
    #切片表示法[:]创建列表的副本,函数依然能完成任务,不影响列表本身
    print_models(unprinted_designs[:],completed_models)
    show_completed_models(completed_models)
    print(unprinted_designs)
    

    传递任意数量的实参

    def make_pizza(*toppings):
    	print(toppings)
    #形参名的星号让python创建一个名为toppings的元组,并将收到的所有值封装到这个元组
    

    使用任意数量的关键字实参

    #两个星号让python创建一个空字典
    def build_profile(first,last,**user_info):
    	
    	profile={}
    	profile['first_name']=first
    	profile['last_name']=last
    	for key,value in user_info.items():
    		profile[key]=value
    	return profile
    user_profile=build_profile('albert','einstein',
    							location='princeton',
    							field='physics')
    print(user_profile)
    

    将函数存储在模块中

    将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。
    import语句允许在当前运行的程序文件中使用模块中的代码。
    

    导入整个模块

    要让函数是可导入的,得先创建模块。模块是扩展名为.py的文件,包含要导入到程序中的代码
    创建一个包含函数make_pizza()的模块。为此我们将文件pizza.py中除函数make_pizza()之外的其他代码都删除:
    def make_pizza(size,*toppings):
    
    #pizza.py
    def make_pizza(size,*toppings):
    	'''概述要制作的披萨'''
    	print('
    Making a ' + str(size) + 
    			'-inch pizza with the following toppings:')
    	for topping in toppings:
    		print('- ' + topping)
    
    #making_pizzas.py
    import pizza
    pizza.make_pizza(16,'pepperoni')
    pizza.make_pizza(12,'mushrooms','green peppers','entra cheese',)
    

    导入特定的函数

    from module_name import function_name
    #通过逗号分隔函数名
    from module_name import function_0,function_1
    #对于之前的making_pizza.py示例
    from pizza import make_pizza
    
    make_pizza(16,'pepperoni')
    make_pizza(12,'mushrooms','green peppers','entra cheese',)
    

    使用as给函数指定别名

    from pizzza import make_pizza as mp
    
    mp(16,'pepperoni')
    mp(12,'mushrooms','green peppers','entra cheese',)
    #上面的import语句将函数make_pizza()重命名为mp()
    #指定别名的通用语法如下
    from module_name import function_name as fn
    

    使用as给模块指定别名

    import pizza as p
    p.make_pizza(16,'pepperoni')
    p.make_pizza(12,'mushrooms','green peppers','entra cheese',)
    

    导入模块中所有函数

    from pizza import *
    
  • 相关阅读:
    线段树专辑——hdu 1698 Just a Hook
    bool树的计算
    线段树专辑—— hdu 2795 Billboard
    数据库索引技术聚集索引和非聚集索引介绍(二)
    数据库索引技术—索引介绍 (一)
    AJAX核心对象 XMLHttpRequest 对象使用详解 (二)
    AJAX核心对象 XMLHttpRequest 对象使用详解 (一)
    输入框的提示信息(获得焦点和失去焦点时显示提示信息)
    不管你今天做了多少,加一点亮点总结今天的得分就是1.01。
    新情况——需要按照这个规定堆
  • 原文地址:https://www.cnblogs.com/rener0424/p/10111698.html
Copyright © 2011-2022 走看看