小学生都能学会的python(函数)

神马是函数
函数: 对功能或者动作的封装
函数的定义
def 函数名(形参列表):
函数体(return)

ret = 函数名(实参列表)
函数的返回值

return,只要执行到return 函数的本次调用就会被停止
1.如果函数不写return, 没有返回值。 接收到的是None
2.写了return。 return后面什么都不写或者return后面的是None. 返回None
3.return 一个值。 返回一个结果
4.return 值,值,值 返回多个值。结果是元组
函数的参数(一部分)
参数:函数在调用的时候给函数传递的信息
形参: 在函数声明的位置的变量
实参: 在函数调用的时候给出的具体的值
传参: 把实参赋值给形参的过程

分类:
实参:
1. 位置参数. 按照位置给形参传递信息
2. 关键字参数. 按照形参的名字给参数传递信息
3. 混合参数. 先位置后关键字
形参:
1. 位置参数
2. 默认值参数, 必须写在位置参数后面
3. 动态参数

# while 1:
# print("拿出手机")
# print("打开陌陌")
# print("找一找心怡的对方.")
# print("出来吃吃饭")
# print("唱唱歌")
# print("跳跳广场舞")
#
# print("吃饭") # 函数是对功能或者动作的封装
# 函数的定义:
# def yue():
# print("拿出手机")
# print("打开陌陌")
# print("找一找心怡的对方.")
# print("出来吃吃饭")
# print("唱唱歌")
# print("跳跳广场舞")
#
# # 函数的调用: 函数名()
# yue()
# print("回家休息休息")
# yue() # 动作就可以在任何时候, 在任何位置, 进行访问 # 当函数执行之后。可以给调用者一个返回值
# def yue(): # 参数
# print("拿出手机")
# print("打开陌陌")
# print("找一找心怡的对方.")
# print("出来吃吃饭")
# print("唱唱歌")
# print("跳跳广场舞")
# return "小姐姐", "小护士", "广场舞大妈"
# # return "小姐姐" # return表示返回。 这个函数在调用之后会得到一个结果
# ret = yue() # 当函数有返回值的时候。 我们可以不接受返回值
# print(ret) # 在函数中如果不写return 表示函数没有返回值。调用方接收到的是None
# return 可以终止一个函数的运行
# 在函数中写了return。 但是return后面不跟值, 表示函数没有返回值。 接受的是None。
# 在函数中写return。 return后面跟一个值
# 在函数中写return。 return 后面可以跟上多个值, 表示返回多个值。 接收方收到的是元组 # # 形参
# def yue(tools): # 在函数声明的位置。 给出来的参数叫形参。 形式上的一个参数. 用一个变量来表是
# print("拿出手机")
# print("打开%s" % tools)
# print("找一找心怡的对方.")
# print("出来吃吃饭")
# print("唱唱歌")
# print("跳跳广场舞")
#
# # 实参
# # 在函数调用的时候。把实参的值赋值给形参的过程叫传参
# yue("微信") # 在函数调用的地方给出的具体的值。 参数叫实参. 实际参数
# yue("陌陌")
# yue("探探") # def chi(good_food, no_good_food, drink):
# print("我要吃",good_food, no_good_food, drink)
#
# # chi("大米饭", "冰峰", "炸鸡")
# # chi(drink="哇哈哈", no_good_food="薯条", good_food="盖浇饭")
# chi("小米饭", "辣条", drink="可乐")
# chi(drink="可乐", "小米饭", "辣条") def regist(name,sex="男", age=18): # 语法上不允许
print(name, age, sex) regist("刘伟", 22)
regist("李铁帅", 27)
regist("高晓燕", 18, "女")
regist("李铁帅", 27)
regist("李铁帅", 27)
regist("李铁帅", 27)
regist("李铁帅", 27)
regist("李铁帅", 27) # 实参的分类:
# 1. 位置参数. 按照位置。 给形参赋值
# 2. 关键字参数. 按照形参的名字给参数赋值
# 3. 混合参数, 位置参数必须放在前面。 关键字参数放后面 # 形参的分类(3大类)
# 1. 位置参数 按照位置来声明形参
# 2. 默认值参数, 当给参数传递值的时候。 默认值不起作用, 不给值。 默认值起作用. 保证你至少有个值能用
# 顺序: 位置参数必须放在前面。 默认值参数必须放在后面 # 函数:对功能或者动作的封装
# 登陆验证
# def login(username, password):
# if username == 'alex' and password == "123":
# return True
# else:
# return False
#
# # 使用场景
# name = input("请输入你的账号:")
# pws = input("请输入你的密码:")
# if login(name, pws):
# print("进入刘伟的空间")
# else:
# print("用户名或密码错误, 请重新登陆!") # f(x) = x + 1
# f(3) = 3 + 1 = 4
# def f(x):
# return x + 1
# print(f(2))
#
# s = "你好啊我叫塞利亚"
# print(len(s))
#
# def my_len(s):
# count = 0
# for el in s:
# count+=1
# return count
# print(my_len(s))

  

小学生都能学会的python(函数)的更多相关文章

  1. 小学生都能学会的python(函数的进阶)

    小学生都能学会的python(函数的进阶) 1. 动态传参 形参: 1. 位置参数 2. 默认值参数 3. 动态传参 *args 动态接收位置参数 **kwargs 动态接收关键字参数 def fun ...

  2. 小学生都能学会的python(<lamda匿名函数,sorted(),filter(),map(),递归函数>)

    小学生都能学会的python(<<lamda匿名函数,sorted(),filter(),map(),递归函数,二分法>> 1. lambda 匿名函数 lambda 参数: ...

  3. 小学生都能学会的python(闭包和迭代器)

    小学生都能学会的python(闭包和迭代器) 1. 函数名第一类对象 函数名其实就是变量名 1). 可以像变量一样互相赋值. 2). 可以作为函数的参数,进行传递 3). 可以作为返回值返回 4). ...

  4. 小学生都能学会的python(编码 and 字符串)

    小学生都能学会的python(编码 and 字符串) 一,编码 最早的计算机编码是ASCII. 有英文+数字+特殊字符 8bit => 1byte 没有中文, 后面的编码必须兼容ASCII    ...

  5. 小学生都能学会的python(生成器)

    小学生都能学会的python(生成器) 1. 生成器 生成器的本质就是迭代器. 生成器由生成器函数来创建或者通过生成器表达式来创建 # def func(): # lst = [] # for i i ...

  6. 小学生都能学会的python(文件操作)

    小学生都能学会的python(文件操作) 1. open("文件路径", mode="模式", encoding="编码") 文件的路径: ...

  7. 小学生都能学会的python(深浅拷贝)

    小学生都能学会的python(深浅拷贝) join() 把列表中的每一项用字符串拼接起来 # lst = ["汪峰", "吴君如", "李嘉欣&quo ...

  8. 小学生都能学会的python(小数据池)

    小学生都能学会的python(小数据池) 1. 小数据池. 目的:缓存我们字符串,整数,布尔值.在使用的时候不需要创建过多的对象 缓存:int, str, bool. int: 缓存范围 -5~256 ...

  9. 小学生都能学会的python(字典{ })

    小学生都能学会的python(字典{ }) 1. 什么是字典 dict. 以{}表示. 每一项用逗号隔开, 内部元素用key:value的形式来保存数据 {"jj":"林 ...

随机推荐

  1. Python JSON - 世界人口图

    世界人口图 从https://datahub.io/网站搜索population,下载世界人口json数据. from pygal.maps.world import COUNTRIES def ge ...

  2. 安装oracle服务端之后再安装oracle客户端导致sqlplus命令无法使用??

    首先小编自述一下所遇到的问题: 昨天在已经安装 oracle 服务端的 win7 X64 主机上安装 oracle client 之后,发现我的sqlplus命令无法用了??经过百度,都说我服务没有开 ...

  3. BA-ALC控制模块

  4. 计算机-award BIOS全教程

  5. openstack通过Network Namespace和iptables实现租户私有网络互訪和L3路由功能

    安装架构介绍 本文旨在通过自己搭建类似neutron (openvswitch + gre) 实现SDN 的环境,学习了解其工作原理,模拟核心原理.比方:同一租户自己定义网络 instance 互通, ...

  6. java多线程具体总结

    一.Thread.start()与Thread.run()的差别 通过调用Thread类的start()方法来启动一个线程.这时此线程是处于就绪状态,并没有运行.然后通过此Thread类调用方法run ...

  7. 【ruby项目,语言提交检查(一)】怎样高速学习ruby ?

    怎样高速学习ruby ? 学习语言最快的思路. 变量,常量,变量类型,操作符. 逻辑语句如 if, else, switch, for, foreach, do while, break, 等等.要学 ...

  8. Oracle配置网络服务

    对于Oracle来说.不管是连接本地数据库还是远程连接server数据库,都须要在本机配置网络服务才可连接. 大家可能不明确为什么. 先拿SqlServer来说.SqlServer在连接数据库的时候仅 ...

  9. unity坐标转换问题

    unity最经常使用的几种坐标.屏幕坐标.世界坐标.ngui坐标,相对于父物体的坐标(localPoisition). 可是有时候这几种坐标相互转换何其困难,让自己狠抓头. 不得不操作的方式是创建虚拟 ...

  10. TS2

    //还要注意的是,在构造函数的参数上使用public等同于创建了同名的成员变量. class Student { fullName: string; constructor(public firstN ...