小学生都能学会的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. HDU2188 选拔志愿者

    /* HDU2188 选拔志愿者 http://acm.hdu.edu.cn/showproblem.php?pid=2188 博弈论 巴什博奕 巴什博奕要注意n<=m时是必胜态 * * * * ...

  2. [Preference] How to avoid Forced Synchronous Layout or FSL to improve site preference

    When tigger site updates the layout, it always follow this order: Javascript trigger style changes, ...

  3. 高速排序(Java版)

    package com.love.test; import java.util.Scanner; /** * @author huowolf *高速排序实现 *快排是十分优秀的排序算法. *核心:分治 ...

  4. Windows 7 x64环境下JDK8安装过程

    Windows 7 x64环境下JDK8安装过程 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads ...

  5. 深刻理解Java中的String、StringBuffer和StringBuilder的差别

    声明:本博客为原创博客,未经同意.不得转载!小伙伴们假设是在别的地方看到的话,建议还是来csdn上看吧(链接为http://blog.csdn.net/bettarwang/article/detai ...

  6. 开源ext2read代码走读之-在windows下怎样推断有几个硬盘设备?

    int get_ndisks() {     HANDLE hDevice;               // handle to the drive to be examined     int n ...

  7. oracle 11gR2 如何修改scan vip 地址 /etc/hosts方式

    这次帮客户搭建了一套oracle 11gR2 rac for aix环境,scan vip因为网络调整需要,需要更改以前设置好的scan vip,是采用/etc/hosts的方式,比如将scan vi ...

  8. crawler4j多线程爬虫统计分析数据

    该事例演示了如何在多线程中统计和分析数据: 首先建一个状态实体类CrawlStat: package com.demo.collectingData; /** * 爬虫状态实体类 统计爬虫信息 * @ ...

  9. Qt-信号和槽-1对1

    前言:信号和槽是Qt的核心机制,窗体和控件对象之间的沟通一般都使用信号和槽. 对于部件有哪些信号和槽,可以查看help文档. 一.使用自定义槽 1.1 新建工程 新建工程,新建Widget类(基于QW ...

  10. ROS-SLAM-自主导航

    前言:无. 前提:已下载并编译了相关功能包集,如还未下载,可通过git下载:https://github.com/huchunxu/ros_exploring.git 一.启动仿真环境 cd ~/ca ...