`
陈三许
  • 浏览: 7989 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

python笔记6 函数

阅读更多
##关键字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')


0
0
分享到:
评论

相关推荐

    python高阶函数心得笔记,python高阶函数知识.doc

    Python 高阶函数心得笔记 1. 递归函数 递归函数是一种特殊的函数,它可以调用自己本身。递归函数的作用是将复杂的问题分解成更小的子问题,然后通过解决这些子问题来解决原始的问题。例如,计算阶乘 n! = 1 * 2 * ...

    菜鸟的Python笔记

    本篇Python笔记将从多个方面对Python进行介绍,包括其安装过程、基本编程概念、数据类型、基本语句、控制结构、函数使用等,旨在帮助初学者快速入门并掌握Python的基本知识。 一、安装Python 要使用Python,首先...

    Python笔记 ,python笔记全,Python源码.zip

    这份“Python笔记全,Python源码”的压缩包很可能是为了帮助初学者或有经验的开发者深入理解Python语言的核心概念和实践技巧。以下是根据标题和描述可能包含的一些关键知识点: 1. **基础语法**:Python的基础包括...

    python笔记

    廖雪峰Python笔记涵盖了Python语言的基础知识,从最基本的概念到模块部分,不包括函数式编程。下面是对该笔记的知识点总结: Python基础 * Python语言的概述:Python是一种高级的、解释性的编程语言,具有简洁、...

    Python 笔记源码综合下载.zip

    在学习Python笔记源码时,你将接触到这些概念的实际应用,通过阅读和运行源码,可以加深对Python的理解并提升编程能力。源码中可能包括了各种示例,如函数实现、面向对象设计、数据处理流程等,这些都是掌握Python...

    马哥python课堂笔记-马哥教育PYTHON相关基础笔记.pdf

    6. **数字处理函数**:Python提供了数学操作的相关函数,如`math.ceil()`用于向上取整,`math.floor()`用于向下取整,`round()`则进行四舍五入,对于有小数部分的情况,遵循五取偶规则。 7. **元组**:元组是不可变...

    小甲鱼python教程笔记

    本教程笔记涵盖了 Python 的基础知识点,包括变量、字符串、列表、元组、布尔类型、逻辑运算符、循环结构、列表访问、成员资格运算符、is 运算符、引用和拷贝、列表推导式、元组的使用、字符串的加法和乘法、格式化...

    python笔记.rar

    这份"python笔记.rar"包含了对Python基础知识的详细总结,对于初学者来说是一份极好的学习资源。以下是对笔记内容的详细阐述: 一、Python基础语法 1. 变量与数据类型:Python支持多种数据类型,如整型(int)、...

    03-python-一般函数-向量化函数-二元运算-ufunc对象

    在学习过程中,`03.13-python-一般函数.ipynb`、`03.14-python-向量化函数.ipynb`、`03.15-python-二元运算.ipynb`和`03.16-python-ufunc对象.ipynb`这些笔记将提供详细的示例和解释,帮助你深入掌握这些知识点。

    Python学习笔记(干货) 中文PDF完整版.pdf

    Python提供了内置的输入/输出函数,如`print()`,用于在控制台显示信息。注释是程序中用于解释代码的非执行部分,可以使用`#`单行注释或三引号(`"""`)多行注释。变量在Python中无需预先声明类型,可以直接赋值并根据...

    从零学Python笔记

    6. **异常处理**:Python使用try-except语句处理异常,这使得程序在遇到错误时能够优雅地处理,而不是突然崩溃。 7. **标准库**:Python的标准库包含大量预装模块,涵盖了网络通信、文件操作、系统接口、加密、数据...

    Python笔记 ,python笔记全,Python

    "Python笔记"可能是一份详尽的学习资料,旨在帮助初学者快速掌握Python的基础知识,直至达到能够独立解决问题的程度。这份文档可能包含了从入门概念到进阶主题的全面讲解。 在Python的入门阶段,笔记可能会涵盖以下...

    python笔记大全

    这份《Python笔记大全》强调了Python的基础知识和高级特性,为读者提供了一份全面的学习指南。以下是对该笔记中提到知识点的详细说明: 1. Python的基本组成和模块路径: Python程序是由包组成的,这些包又由模块和...

    最新Python学习笔记3

    本篇学习笔记主要介绍了Python中关于变量指向函数、高阶函数以及特殊高阶函数map()、reduce()、filter()和sorted()的使用方法和原理。 首先,变量在Python中不仅可以指向基本数据类型,还可以指向一个函数名。这...

    千峰python课件笔记+源码 (凯哥)

    千锋python基础教程:6、函数基础 '千锋python基础教程:7、装饰器&偏函数与作用域与异常处理与文件读写' 千锋python基础教程:8、os与窗口控制与内存修改与语言 第二章前端基础 1、html&css;基础 2、html&css;...

    python笔记整理

    这些"python笔记整理"涵盖了Python的基础知识和进阶概念,是学习和巩固Python技能的重要资源。以下是对笔记内容的详细解读: 1. **基础语法**:Python的语法简洁而直观,包括变量赋值、数据类型(如整型、浮点型、...

    Python笔记源码python学习

    这份“Python笔记源码”显然是一份关于Python编程的学习资料,可能包含了基础语法、数据结构、函数、类与对象、模块化编程、异常处理、文件操作等多方面的内容。 首先,让我们从基础语法开始。Python的基础语法包括...

    python核心笔记pdf

    6. **标准库和第三方库**:Python的标准库非常丰富,包括网络通信、数据解析、科学计算等。另外,Python的生态系统拥有大量第三方库,如NumPy和Pandas用于数据分析,Matplotlib和Seaborn用于数据可视化,Django和...

Global site tag (gtag.js) - Google Analytics