##关键字def自定义函数
def greet_user(username): #username 为形参
print('Hello,'+username.title()+'!')
greet_user('Curry') #'curry'为实参
##传递实参##----函数的调用:位置实参,关键字实参和默认值
#位置实参(可根据需要调用函数任意次)
def describe_pets(animal_type,pet_name):
"""显示宠物的信息""" #描述函数做什么的
print('The '+animal_type.title()+"'s name is "+pet_name.title())
describe_pets('dog','harry')#注意实参顺序
#
def describe_pets(animal_type,pet_name):
"""显示宠物的信息""" #描述函数做什么的
print('The '+animal_type.title()+"'s name is "+pet_name.title())
message={}
while True:
animal=input("Enter the animal's type:")
name=input("Enter the pet's name:")
prompt=input("You can enter 'end' to end the program,or enter any key to continue:")
message[animal]=name
if prompt=='end':
break
for animal,name in message.items():
describe_pets(animal,name)
#---------
#关键字实参(无需注意实参的顺序)
def describe_pets(animal_type,pet_name):
print('The '+animal_type.title()+"'s name is "+pet_name.title())
describe_pets(pet_name='harry',animal_type='dog')
#默认值
def describe_pets(pet_name,animal_type='dog'):#设置默认值的实参在后
print('The '+animal_type.title()+"'s name is "+pet_name.title())
describe_pets('harry')
def describe_pets(pet_name,animal_type='dog'):
print('The '+animal_type.title()+"'s name is "+pet_name.title())
describe_pets('Tom','cat') #提供实参将忽略默认值
##返回值 return语句
#返回简单值
def user_name(first_name,last_name):
full_name=first_name+' '+last_name
return full_name.title()
user=user_name('Tom','curry')
print(user)
#实参变成可选的
def user_name(first_name,last_name,middle_name=''):
if middle_name:
full_name=(first_name+' '+middle_name+" "+last_name)
return full_name.title()
else:
full_name=first_name+last_name
return full_name.title()
user=user_name('Tom','curry')
print(user)
user=user_name('Tom','curry','tee')
print(user)
#返回字典
def personal_imformation(name,age):
person={'name':name,'age':age}
return person
user=personal_imformation('chen','20')
print(user)
##结合使用函数和while循环
def personal_imformation(name,age):
person={'name':name,'age':age}
return person
while True:
message_name=input('Enter your name:')
message_age=input('Enter your age:')
user=personal_imformation(message_name,message_age)
print(user)
prompt=input("Enter 'end' to end the program,or enter any key to continue:")
if prompt=='end':
break
##传递列表
def greet_user(names):
"""向列表中的每位用户都发出简单的问候"""
for name in names:
print('Hello,'+name.title()+'!')
usernames=['curry','chen','hu','harry','tom']
greet_user(usernames)
#
def greet_user(names):
"""向列表中的每位用户都发出简单的问候"""
for name in names:
print('Hello,'+name.title()+'!')
usernames=[]
while True:
name_message=input('Enter your name:')
usernames.append(name_message)
prompt=input("Enter 'end' to end the program:")
if prompt=='end':
break
greet_user(usernames)
#在函数中修改列表(定义两个函数)
def print_models(unprinted_designs,completed_models):
"""打印每个设计,并将其移到列表completedd_models中"""
while unprinted_designs:
current_design=unprinted_designs.pop()
print("printing model: "+current_design.title())
completed_models.append(current_design)
def show_completedd_models(completed_models):
"""显示所有打印完的模型"""
print('\nThe following models have been printed:')
for completed_model in completed_models:
print(completed_model)
unprinted_designs=['case','robot','derbo','range']
completed_models=[]
print_models(unprinted_designs,completed_models)
show_completedd_models(completed_models)
#禁止函数修改列表 (切片表示法[:])传递副本
def print_models(unprinted_designs,completed_models):
"""打印每个设计,并将其移到列表completedd_models中"""
while unprinted_designs:
current_design=unprinted_designs.pop()
print("printing model: "+current_design.title())
completed_models.append(current_design)
def show_completedd_models(completed_models):
"""显示所有打印完的模型"""
print('\nThe following models have been printed:')
for completed_model in completed_models:
print(completed_model)
unprinted_designs=['case','robot','derbo','range']
completed_models=[]
print_models(unprinted_designs[:],completed_models)####将列表副本传递给函数
show_completedd_models(completed_models)
print(unprinted_designs)##打印原列表确定没变
##传递任意数量的实参
def make_pizza(*toppings):
"""打印顾客点的所有配料"""
print("\nMaking a pizza with the following toppings:")
for topping in toppings:
print(topping)
make_pizza('pepperoni')
make_pizza('mushroom','green peppers','extra cheese')
#结合使用位置实参和任意数量的实参
def make_pizza(size,*toppings):
"""打印顾客点的所有配料"""
print("\nMaking "+str(size)+" pizza with the following toppings:")
for topping in toppings:
print(topping)
make_pizza(12,'pepperoni')
make_pizza(16,'mushroom','green peppers','extra cheese')
##使用任意数量的关键字实参
def build_profile(first,last,**user_info):#**user_info 让python创建一个名为user_info的空字典
"""创建一个字典,其中包含有关用户的一切"""
profile={}
profile["first_name"]=first
profile["last_name"]=last
for key,value in user_info.items():
profile[key]=value
return profile ##将profile字典返回给函数调用
user_profile=build_profile('albert','dsafg',
location='princeton',
field='physics')
print(user_profile)
####将函数存储在模块中
##导入整个模块
"""def make_pizza(*toppings):
print("\nMaking a pizza with the following toppings:")
for topping in toppings:
print(topping)""" #一个名为pizza.py的文件
import pizza #让python打开pizza.py,并将其所有函数复制到这个程序中
pizza.make_pizza(16,"pepperoni")
pizza.make_pizza(12,"pepperoni",'green pepper','extra cheese')
##导入特定的函数
#from 文件名 import 函数名 (导入特定函数)
#from 文件名 import 函数1,函数2,函数3 (根据需要导入任意数量的函数)
##使用 as 给函数指定别名
from pizza import make_pizza as mp
mp(16,"pepperoni")
mp(12,"pepperoni",'green pepper','extra cheese')
##使用 as 给模块指定别名
import pizza as p
p.make_pizza(16,"pepperoni")
p.make_pizza(12,"pepperoni",'green pepper','extra cheese')
##导入模块中的所有函数 (无需使用句点表示法) 【尽量不用这种方法】
from pizza import *
make_pizza(16,"pepperoni")
make_pizza(12,"pepperoni",'green pepper','extra cheese')
分享到:
相关推荐
Python 高阶函数心得笔记 1. 递归函数 递归函数是一种特殊的函数,它可以调用自己本身。递归函数的作用是将复杂的问题分解成更小的子问题,然后通过解决这些子问题来解决原始的问题。例如,计算阶乘 n! = 1 * 2 * ...
本篇Python笔记将从多个方面对Python进行介绍,包括其安装过程、基本编程概念、数据类型、基本语句、控制结构、函数使用等,旨在帮助初学者快速入门并掌握Python的基本知识。 一、安装Python 要使用Python,首先...
这份“Python笔记全,Python源码”的压缩包很可能是为了帮助初学者或有经验的开发者深入理解Python语言的核心概念和实践技巧。以下是根据标题和描述可能包含的一些关键知识点: 1. **基础语法**:Python的基础包括...
廖雪峰Python笔记涵盖了Python语言的基础知识,从最基本的概念到模块部分,不包括函数式编程。下面是对该笔记的知识点总结: Python基础 * Python语言的概述:Python是一种高级的、解释性的编程语言,具有简洁、...
在学习Python笔记源码时,你将接触到这些概念的实际应用,通过阅读和运行源码,可以加深对Python的理解并提升编程能力。源码中可能包括了各种示例,如函数实现、面向对象设计、数据处理流程等,这些都是掌握Python...
6. **数字处理函数**:Python提供了数学操作的相关函数,如`math.ceil()`用于向上取整,`math.floor()`用于向下取整,`round()`则进行四舍五入,对于有小数部分的情况,遵循五取偶规则。 7. **元组**:元组是不可变...
本教程笔记涵盖了 Python 的基础知识点,包括变量、字符串、列表、元组、布尔类型、逻辑运算符、循环结构、列表访问、成员资格运算符、is 运算符、引用和拷贝、列表推导式、元组的使用、字符串的加法和乘法、格式化...
这份"python笔记.rar"包含了对Python基础知识的详细总结,对于初学者来说是一份极好的学习资源。以下是对笔记内容的详细阐述: 一、Python基础语法 1. 变量与数据类型:Python支持多种数据类型,如整型(int)、...
在学习过程中,`03.13-python-一般函数.ipynb`、`03.14-python-向量化函数.ipynb`、`03.15-python-二元运算.ipynb`和`03.16-python-ufunc对象.ipynb`这些笔记将提供详细的示例和解释,帮助你深入掌握这些知识点。
Python提供了内置的输入/输出函数,如`print()`,用于在控制台显示信息。注释是程序中用于解释代码的非执行部分,可以使用`#`单行注释或三引号(`"""`)多行注释。变量在Python中无需预先声明类型,可以直接赋值并根据...
6. **异常处理**:Python使用try-except语句处理异常,这使得程序在遇到错误时能够优雅地处理,而不是突然崩溃。 7. **标准库**:Python的标准库包含大量预装模块,涵盖了网络通信、文件操作、系统接口、加密、数据...
"Python笔记"可能是一份详尽的学习资料,旨在帮助初学者快速掌握Python的基础知识,直至达到能够独立解决问题的程度。这份文档可能包含了从入门概念到进阶主题的全面讲解。 在Python的入门阶段,笔记可能会涵盖以下...
这份《Python笔记大全》强调了Python的基础知识和高级特性,为读者提供了一份全面的学习指南。以下是对该笔记中提到知识点的详细说明: 1. Python的基本组成和模块路径: Python程序是由包组成的,这些包又由模块和...
本篇学习笔记主要介绍了Python中关于变量指向函数、高阶函数以及特殊高阶函数map()、reduce()、filter()和sorted()的使用方法和原理。 首先,变量在Python中不仅可以指向基本数据类型,还可以指向一个函数名。这...
千锋python基础教程:6、函数基础 '千锋python基础教程:7、装饰器&偏函数与作用域与异常处理与文件读写' 千锋python基础教程:8、os与窗口控制与内存修改与语言 第二章前端基础 1、html&css;基础 2、html&css;...
这些"python笔记整理"涵盖了Python的基础知识和进阶概念,是学习和巩固Python技能的重要资源。以下是对笔记内容的详细解读: 1. **基础语法**:Python的语法简洁而直观,包括变量赋值、数据类型(如整型、浮点型、...
这份“Python笔记源码”显然是一份关于Python编程的学习资料,可能包含了基础语法、数据结构、函数、类与对象、模块化编程、异常处理、文件操作等多方面的内容。 首先,让我们从基础语法开始。Python的基础语法包括...
6. **标准库和第三方库**:Python的标准库非常丰富,包括网络通信、数据解析、科学计算等。另外,Python的生态系统拥有大量第三方库,如NumPy和Pandas用于数据分析,Matplotlib和Seaborn用于数据可视化,Django和...