9.Python初窥门径(函数初识)
Python(函数初识)
一、初识函数
- 面向过程缺点 : 代码重复,代码描述性不高
- 函数 : 函数是以功能为导向,一个函数封装一个功能.
- 函数的优点 : 减少代码重复性,增强了代码的可读性
二、函数的结构
# 结构
def 函数名():
内容
# def : 定义一个函数,def关键字后紧跟一个空格
# def 函数名() : 函数名命名方式与变量命名规范一致
三、函数的调用
# 结构
def 函数名():
内容
函数名()
# 函数名() : 函数的执行
---------------------------------
# 函数的执行写多少次,执行多少次
lis=[1,2,3,4,5,6,7,8,9]
def new_len():
count=0
for i in lis:
count+=1
print(count)
for i in range(3):
new_len() # 执行结果 三次9
四、函数的返回值
return 作用1 : 只能在函数中用,可用于结束函数
lis=[1,2,3,4,5,6,7,8,9]
def new_len():
count=0
for i in lis:
count+=1
print("少林")
return
print("武当")
new_len() # 少林
return 作用2 : 给函数的执行者返回具体的值(三种情况)
函数中没有return或只写一个return,函数的执行者得到的是None
lis=[1,2,3,4,5,6,7,8,9]
def new_len():
count=0
for i in lis:
count+=1
return
print(new_len()) # None
函数中return后跟单个值,则返回这个值,不改变值得类型
lis=[1,2,3,4,5,6,7,8,9]
def new_len():
count=0
for i in lis:
count+=1
return [1,2,3,4,5]
print(type(new_len())) # <class 'list'>
函数中return后跟多个值,函数的执行者得到的是一个元组
lis=[1,2,3,4,5,6,7,8,9]
def new_len():
count=0
for i in lis:
count+=1
return [1,2,3,4,5],123,"123"
print(type(new_len())) # <class 'tuple'>
五、函数的传参
定义 : 在函数调用时,那实参的值赋值给形参的过程叫做传参.
目的 : 函数可扩展性
def new_len(a): # 定义函数时的参数:形参
count=0
for i in a:
count+=1
return count
l1=[1,2,3]
s1="dsadsadsadsad"
print(new_len(l1)) # 3 函数的调用者参数:实参
print(new_len(s1)) # 13 函数的调用者参数:实参
实参分类(三种)
位置参数 : 按照位置为形参赋值,按照顺序一一对应
def meet(sex,age,job):# 位置参数从左到右,形参与实参按照顺序一一对应
print("寻找性别%s,年龄%s岁,工作%s"%(sex,age,job))
meet("女","20-25","老师")
关键字参数 : 按照位置为形参赋值,可不按照顺序一一对应
# 位置参数从左到右,形参与实参可不按照顺序一一对应
def meet(sex,job,age):
print("寻找性别%s,年龄%s岁,工作%s"%(sex,age,job)) # 这里要按照顺序
meet(job="老师",age="20-25",sex="女")
混合参数
# 关键字参数一定要在位置参数后面,一一对应
def meet(job,age,weight,sex):
print("寻找性别%s,年龄%s岁,工作%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序
meet("老师","20-25",sex="女",weight="120")
形参角度(四种)
位置参数 : 与实参角度位置参数一致
默认参数 : 默认参数一定在位置参数后面,不传参数即沿用默认的参数,更改默认参数可以用位置或指定的方式更改默认参数.
def meet(job,age,weight,sex="女"):
print("寻找性别%s,年龄%s岁,工作%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序
meet("老师","20-25",weight="120")
---------------------------------
# 更改默认参数,第一种
def meet(job,age,weight,sex="女"):
print("寻找性别%s,年龄%s岁,工作%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序
meet("老师","20-25",sex="女",weight="120")
# 更改默认参数,第二种
def meet(job,age,weight,sex="女"):
print("寻找性别%s,年龄%s岁,工作%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序
meet("老师","20-25","120","男")
以下两种函数进阶会讲到
动态参数
仅限关键字参数
9.Python初窥门径(函数初识)的更多相关文章
- 从入门到自闭之Python基础——函数初识
1. 文件操作: 读操作: 格式:f = open("文件路径",mode = "r",encoding = "utf-8") f : 代表 ...
- 《Python》 函数初识
一.函数: 1.函数初识: def 关键字 函数名 # def my_len() 函数名的命名规则跟变量一样,要具有描述性. 函数的优点: 减少代码的重复率 增强代码的阅读性 函数的主要目的:封装一个 ...
- python之函数初识
一.函数的初识1.如何定义函数:def 函数名(): 代码... 例如:def my_len(): l = [1, 2, 3, 4] count = 0 for i in l: count += 1 ...
- day08 python之函数初识
一,什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print(),len( ...
- 11.Python初窥门径(函数名,可迭代对象,迭代器)
Python(函数名,可迭代对象,迭代器) 一.默认参数的坑 # 比较特殊,正常来说临时空间执行结束后应该删除,但在这里不是. def func(a,l=[]): l.append(a) return ...
- 10.Python初窥门径(函数进阶)
Python(函数进阶) 一.函数的传参(接上期) 形参角度(一共四种,后两种) 动态参数(万能参数)* # 定义一个函数时,*所有的位置参数聚合到一个元组中 def func(*args): # * ...
- python笔记 函数初识
1. 函数: 封装一个功能 def my_len(形参): -> def 声明定义一个函数 my_len 函数名命名规则同变量 ······ - ...
- 孤荷凌寒自学python第十七天初识Python的函数
孤荷凌寒自学python第十七天初识Python的函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 函数是能够完成指定运算并返回运算结果的代码块.是结构化编程重要的结构. 我首先发现pyt ...
- python函数-函数初识
python函数-函数初识 1.函数的定义 语法 def 函数名(参数1,参数2,参数3,...): '''注释''' 函数体 return 返回的值 2.函数的使用原则---先定义后调用 #定义阶段 ...
随机推荐
- B. Drazil and His Happy Friends
这是 Codeforces Round #292 (Div. 2)的一道题,原题在这里,题意就是: 小明有n个男同学(编号为 0 ~ n-1)和m个女同学 (编号为 0 ~ m-1),小明要安排男女之 ...
- CSS3实现水位充满文字特效
CSS3实现水位充满文字特效是一款既是Loading特效也是文字特效,Loading动画开始时,文字中的水位渐渐上升,为了模拟水位上升的真实效果,水面还会波浪浮动,当Loading动画结束时,文字中的 ...
- canvas刮刮卡
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...
- darknet YOLOv2安装及数据集训练
一. YOLOv2安装使用 1. darknet YOLOv2安装 git clone https://github.com/pjreddie/darknetcd darknetmake或到网址上下载 ...
- P2764 [网络流24题]最小路径覆盖问题[最大流]
地址 这题有个转化,求最少的链覆盖→即求最少联通块. 设联通块个数$x$个,选的边数$y$,点数$n$个 那么有 $y=n-x$ 即 $x=n-y$ 而n是不变的,目标就是在保证每个点入度.出度 ...
- HDU 1166 敌兵布阵 (线段树单点修改和区间和查询)
Input 第一行一个整数T,表示有T组数据.每组数据第一行一个正整数N(N<=50000),表示敌人有N个工兵营地,接下来有N个正整数,第i个正整数ai代表第i个工兵营地里开始时有ai个人(1 ...
- C# 深化基本概念
关于IDisposable的Dispose方法 .Net中GC会自动回收托管资源, 对于非托管资源应该使用Dispose方法. 在使用Dispose方法时,应注意避免在Dispose内部中继续释放托管 ...
- css如何改变placeholder的默认颜色值
input:-moz-placeholder {/* Mozilla Firefox 4 to 18*/ color: red; input::-moz-placeholder {/* Mozilla ...
- 双击jar不能运行的解决方法
1.问题描述 使用eclipse导出jar.双击jar文件弹出一个内容为“a java exception has occurred”的错误警告提示! 但是在命令行用 java -jar Em ...
- 《Java多线程编程核心技术》读后感(十三)
类InheritableThreadLocal的使用 使用类InheritableThreadLocal可以在子线程中取得父线程继承下来的值 值继承 package Third; import jav ...