1、函数的初识

  def关键字 空格 函数名(与变量名命名规则相同):英文冒号

  函数体

  执行函数:函数名+()

  函数是以功能为导向的。

def login():
pass
def register():
pass
1 def my_len():
2 l1 = [1, 2, 3, 1, 6, 9, 10]
3 count = 0
4 for i in l1:
5 count += 1
6 my_len()

2、函数的返回值

  return:

    1、函数中遇到 return 结束函数,下面代码不执行。

def login():
print(111)
print(222)
return
print(333)
login()

    2、将函数里面的值返回给函数的执行者(调用者)。

      第一种情况:

        只有return,返回None。

def login():
a = 2
b = 3
print(111)
print(a, b)
return
print(login())

      第二种情况:

        return None

      第三种情况:

        return 单个值(返回的值与单个值的类型相同)

def login():
a = 2
b = 3
return a
print(login(), type(login()))

def login():
a = 2
b = 3
return [1, 2]
print(login(), type(login()))

def login():
a = 2
b = 3
return [1, 2]
ret = login()
a, b = ret
print(a, b)

      第四种情况:

        return 多个值(以元组的形式返回给函数的调用者)

def login():
a = 2
b = 3
return 1, 'alex', [1, 2], {'name': '老男孩'}
ret = login()
print(ret)

  什么是None?

  所有空集合、空列表、空字典...... ----------> None

def my_len():
l1 = [1, 2, 3, 1, 6, 9, 100]
count = 0
for i in l1:
count += 1
return count
print(my_len())

3、函数的参数

  1、实参角度

    1、位置参数

      一一对应,形参实参数量相等

def my_len(a):  # a 形式参数,形参
count = 0
for i in a:
count += 1
return count
l1 = [1, 2, 3, 1, 6, 9, 100]
print(my_len(l1))

def my_len(a):  # a 形式参数,形参
count = 0
for i in a:
count += 1
return count
l1 = [1, 2, 3, 1, 6, 9, 100]
my_len(l1)
ret = my_len(l1)
print(ret)
print(my_len(l1)) # 实际参数,实参

def my_len(a):  # a 形式参数,形参
count = 0
for i in a:
count += 1
return count
s1 = 'fhdsjfdsfsadfgsd'
my_len(s1)
ret = my_len(s1)
print(ret)
print(my_len(s1)) # 实际参数,实参

def tes(a, b, c):
print(111)
print(a, b, c)
tes(22, 'alex', [11, 22, 33])

  三元运算:

x = 100
y = 99
if x > y:
print(x)
else:
print(y)

x = 100
y = 99
c = x if x > y else y
print(c)

def max(x, y): return x if x > y else y
print(max(3000, 200))

    2、关键字参数

      一一对应,实参形参数量相等,实参顺序可变。

def func(x, y):
print(x, y)
func(y=3333, x=4)

    3、混合参数

      关键字参数必须在位置参数的后边。

def func(x, y, z):
print(x, y, z)
func(111, 222, z=555)  # 混合传参 位置参数必须在前边

def func(x, y, z):
print(x, y, z)
func(111, z=555, 222)

  2、形参角度

    1、位置参数

      一一对应,形参实参数量相等

def func2(y, x):
print(x, y)
func2(1, 2)

    2、默认字参数

      默认参数必须在形参的位置参数后面。

      默认参数不传值则为默认值,传值则覆盖默认值。

def func2(y, x, z= 1000):
print(x, y, z)
func2(1, 2, 3000)

def input_information(name, sex='男'):
with open('information', encoding='utf-8', mode='a') as f1:
f1.write('{}\t{}\n'.format(name,sex)) while True:
msg = input('请输入用户的姓名,性别\Q或者q退出').strip()
if msg.upper() == 'Q':
break
if ',' in msg:
name1, sex1 = msg.split(',')
input_information(name1, sex1)
else:
input_information(msg)

    3、动态参数

最新文章

  1. Dog_Hybird的诞生
  2. BPM业务流程管理与SAP如何更好集成整合?
  3. 常用的7个.htaccess代码组织某个国家的IP访问
  4. 数独检测器:帝国理工C++作业
  5. [转]Oracle数据库中的约束
  6. Oracle DBA从小白到入职实战应用
  7. 结合计划任务每天从Symantec官网下载离线病毒库
  8. java获取数据库的列名,类型等信息
  9. CSS width:100%和width:auto的区别
  10. linux dump 命令详解
  11. CentOS 5.4 制作 Python 2.6 RPM 包的方法
  12. MySql数据库3【优化3】缓存设置的优化
  13. Ibatis调用存储过程实现增删改以及分页查询
  14. 判断python对象是否可调用的三种方式及其区别
  15. Android studio打开项目一直卡住
  16. Leetcode Scratching Recorder
  17. Xilinx Vivado的使用详细介绍(1):创建工程、编写代码、行为仿真
  18. UVA 679 二叉树
  19. Mock4 moco框架中如何加入cookies
  20. Xilinx_ISE 14.7 Win10 闪退

热门文章

  1. 开发nginx启动脚本及开机自启管理(case)
  2. [Hive_add_8] Hive 常用参数配置
  3. Ubuntu16.04下iTop4412环境搭建+Android4.0.3编译
  4. LeetCode算法题-Same Tree(Java实现)
  5. VMware安装系统时"无法创建新虚拟机: 不具备执行此操作的权限"的解决方案
  6. Vue编写的todolist小例子
  7. kafka-connect-hdfs连接hadoop hdfs时候,竟然是单点的,太可怕了。。。果断改成HA
  8. DP 魔族密码 LIS
  9. centos7下安装docker(17.5docker监控的总结对比)
  10. Python入门学习:1.变量和简单的数据类型