【PY从0到1】第七节 函数
# 7 第七节 函数
# 函数对于编程语言来说是一块重量级的内容。
# 他可以实现或者简化编写的代码。
# 编写好特定功能的函数后,就可以重复调用函数来完成任务。
# 下面我们就用函数的形式来封装前面学过的知识。 # 1> 简单的函数结构
def plus_plus():#<---这是函数名
'''
运算既定的数字加法 #<-----这是函数功能的注释
'''
a = 1 + 1
return a#<-----return代表将a值赋值给plus_plus print(plus_plus())#<-----打印plus_plus
# 输出结果如下:
# 2
# 上面讲的是函数最简单的结构 # 2> 给函数加上参数
# 我们只要稍作修改就可以使plus_plus变成一个加法器。
def plus_plus(a,b):
'''
一个简单的加法器
'''
c = a + b
print(c) plus_plus(2, 4)#默认a = 2,b = 4
# 输出为:6
# 又或使用这样的语句:
# plus_plus(a = 2,b = 4)
# plus_plus(b = 4,a = 2) # 我们再定义一个新的函数
def introduce(name,age,like_foods='hamburgers'):
'''
一个简单的自我介绍
'''
a = 'My name is '
b = 'I am '
c = ' years old. '
d = 'I like '
print(
a +
name.title() +
'. ' +
b +
str(age) +
c +
d +
like_foods +
'. '
) introduce('kitty', 6)
# 输出结果如下:
# My name is Kitty. I am 6 years old. I like hamburgers.
# 其中like_foods是默认为汉堡。我们一般把有默认值的参数置于末尾。
# 如果想修改默认值,只需要如下操作。
introduce('Tom', 8,like_foods='noodles')
# 输出如下:
# My name is Tom. I am 8 years old. I like noodles. # 3> 可选实参
def introduce(name,age,like_foods=''):#给like_foods传入空字符串
'''
一个简单的自我介绍
'''
a = 'My name is '
b = 'I am '
c = ' years old. '
d = 'I like '
if like_foods:#<----如果like_foods不为空,就执行下方,否则执行else。
'''
做一个判断,如果没有输入喜欢的食物就不输出相关语句。
'''
print(
a + name.title() +
'. ' +
b +
str(age) +
c +
d +
like_foods +
'.'
)
else:
print(a +
name.title() +
'. ' +
b +
str(age) +
c
) introduce('lisa', 8)
# 输出结果如下:
# My name is Lisa. I am 8 years old.
introduce('lisa', 8,like_foods='noodles')
# 输出结果如下:
# My name is Lisa. I am 8 years old. I like noodles. # 4> 每个函数最好只有一个功能
# 做个签到模型
def signature_system(did_not_sign_in,already_signed_in):
'''提示签到成功'''
while did_not_sign_in:
signing = did_not_sign_in.pop()
print('\n你好,' + signing.title() + '。签到成功。')
already_signed_in.append(signing) def show_signature(already_signed_in):
'''展示签到列表'''
print('\n已经按时签到的员工:')
for signature in already_signed_in:
print('- ' + signature) a = ['xixi','didi','huanhuan']
b = []
signature_system(a,b)
show_signature(b)
# 代码运行结果如下:
# 你好,Huanhuan。签到成功。 # 你好,Didi。签到成功。 # 你好,Xixi。签到成功。 # 已经按时签到的员工:
# - huanhuan
# - didi
# - xixi # 在以后的编写中,尽量做到单个函数只实现一个具体的内容。这样可以让代码看起来通俗易懂。 # 小技巧:
# 用[:]做复制操作
a = ['xixi','didi','lala']
b = a[:]
print(b)
# 结果如下:
# ['xixi', 'didi', 'lala'] # 5> 设置任意数量的参数
# 用*告诉Python我们传入函数的变量是不确定数量的。
def guest(*b):
print("\n欢迎您们的到来!")
for a in b:
print("- " + a) guest('xixi','didi','huanhuan')
#运行结果如下:
#
# 欢迎您们的到来!
# - xixi
# - didi
# - huanhuan # 将*改为**就可以传入任意数量的字典。 # 自己编写函数时一定要遵循以下编写习惯:
# 1>给函数命名时,只是用小写字母和下划线。
# 2>函数名通俗易懂,最好以其实现的功能为名称。
# 3>每个函数都应该有注释,短注释用''' ''',长注释用下面的格式:
# '''
# xxxx
# '''
# 4>给参数指定默认值时,不要在等号的两边添加空格。
# 5>如果函数包含的参数过多,超过了一行79个字符,则要用下方的格式:
# def function_name(
# parameter_0,parameter_1,parameter_2
# parameter_3,parameter_4,parameter_5):
# '''
# xxxxx
# '''
# 6>函数与函数之间要有两个回车分开。
# 7>至少遵循以上编写原则。
【PY从0到1】第七节 函数的更多相关文章
- 【PY从0到1】第二节 字符串和数字
#本课程都以代码形式呈现.现在进入Python的基础内容的学习. #由于本课程是从0开始分享,所以Python的基础内容是必不可少的.这也是Python量化的必经之路. #下面进入正题. #一般用'# ...
- 【PY从0到1】第一节 安装与界面介绍
本系列是介绍如何用Python进行股票量化交易的课程. 课程内容以记录Python零基础学员从最简单的Python下载及安装开始,到最后能熟练运用Python进行量化交易的专业人员的成长历程.旨在打造 ...
- VUE2.0实现购物车和地址选配功能学习第七节
第七节 卡片选中,设置默认 1.卡片选中html:<li v-for="(item,index) in filterAddress" v-bind:class="{ ...
- centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课
centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...
- Angular 2.0 从0到1 (七)
第一节:Angular 2.0 从0到1 (一)第二节:Angular 2.0 从0到1 (二)第三节:Angular 2.0 从0到1 (三)第四节:Angular 2.0 从0到1 (四)第五节: ...
- JAVA 从GC日志分析堆内存 第七节
JAVA 从GC日志分析堆内存 第七节 在上一章中,我们只设置了整个堆的内存大小.但是我们知道,堆又分为了新生代,年老代.他们之间的内存怎么分配呢?新生代又分为Eden和Survivor,他们的比 ...
- delphi 线程教学第七节:在多个线程时空中,把各自的代码塞到一个指定的线程时空运行
第七节:在多个线程时空中,把各自的代码塞到一个指定的线程时空运行 以 Ado 为例,常见的方法是拖一个 AdoConnection 在窗口上(或 DataModule 中), 再配合 AdoQ ...
- ES6 第七节 ES6中新增的数组知识(1)
目录 ES6 第七节 ES6中新增的数组知识(1) 第七节 ES6中新增的数组知识(1) JSON数组格式转换 Array.of()方法: find()实例方法: ES6 第七节 ES6中新增的数组知 ...
- 基于Extjs的web表单设计器 第七节——取数公式设计之取数公式的使用
基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extj ...
随机推荐
- 分析http协议和高并发网站架构
案例任务名称 分析http协议和高并发网站架构 案例训练目标 深入理解http协议的工作原理 掌握http协议的分析方法 包含技能点 搭建web服务器 编辑简单的html页面并上传到服务器 使用wir ...
- java内部类对象使用.this,.new
public class InnerClass { class Content { private int i; public int getVlaue() { return i; } } class ...
- ES6模板字符串及字符串的扩展方法
一.ES6模板字符串 传统定义字符串的方式是: const str='hello es2015,this is a string' ES6新增了一种定义字符串的方式用反引号进行标识 const str ...
- Hbase之过滤器的使用
一.过滤器概念 基础API中的查询操作在面对大量数据的时候是非常物无力的,这里Hbase提供了高级的查询方法:Filter(过滤器).过滤器可以根据簇.列.版本等更多的条件来对数据进行过滤,基于Hba ...
- 风炫安全WEB安全学习第二十三节课 利用XSS获取COOKIE
风炫安全WEB安全学习第二十三节课 利用XSS获取COOKIE XSS如何利用 获取COOKIE 我们使用pikachu写的pkxss后台 使用方法: <img src="http:/ ...
- Angular入门到精通系列教程(7)- 组件(@Component)基本知识
1. 概述 2. 创建Component 组件模板 视图封装模式 特殊的选择器 :host inline-styles 3. 总结 环境: Angular CLI: 11.0.6 Angular: 1 ...
- VRay for SketchUp渲染图黑原因及解决方案
很多人都遇到用Vray for SketchUp云渲染的时候,渲染出来的图片是全黑或者是局部是黑色, 这是什么原因呢? 1.有一种情况是,SketchUp的文件储存机制和其他的软件有些不同,它是把模型 ...
- 【Linux】kali 安装 python3 和 pip3(亲测有效)
[Linux]kali 安装 python3 和 pip3 引言: 在使用kali的时候,经常会用到各种工具以及脚本,而大多数脚本都是以python编写的,但是烦就烦在python有2个版本,有些 ...
- python常见题型
语言特性 1. 谈谈对 Python 和其他语言的区别 2. 简述解释型和编译型编程语言 3. Python 的解释器种类以及相关特点? 4. Python3 和 Python2 的区别? 5. Py ...
- .NET Core部署到linux(CentOS)最全解决方案,常规篇
本文为大家介绍使用 .NET Core部署到Linux服务器的方法,通过本文你将了解到Linux在虚拟机下的安装.Xshell,Xftp的使用方法.git在linux下的交互使用以及.net core ...