# 函数说明文档,help(len)

def sum1(a, b):
  """
  求和函数sum1
  :param a: 参数1
  :param b: 参数2
  :return: a + b
  """
  return a + b help(sum1)

函数和模块的使用

def factorial(num):
"""求阶乘"""
result = 1
for n in range(1, num + 1):
result *= n
return result

  1.函数,作用

  函数可以实现代码重用,减少代码重复率。函数在使用前必须先定义。

  2.函数的参数(4种)

  ***位置参数,关键字(键值对)参数,

  缺省参数:在默认参数值中有应用,

  不定长参数:不设置个数 *args

  (1)包裹位置传递,def add (*args):  # *args 形参

  args 本身是一个元组,

  (2)包裹关键字传递

  调用函数:  # 调用函数:实参

  

  3.函数使用

  同一个.py文件中,两个函数不可以重名,若重名,后一个函数会覆盖前一个函数的使用。

  3.1 步骤:

  1.搭建整体框架

  2.功能

  3.封装函数

  4.调用函数

  3.2 注意事项:函数在调用时才会执行函数体

  3.3 函数返回值,retrun

  

  引用,值靠引用来传递


# def sum1(a, b):
# """
# 求和函数sum1
# :param a: 参数1
# :param b: 参数2
# :return: a + b
# """
# return a + b
#
#
# help(sum1) # 打印,注意复制用法!
# def print_star(i):
# print('*' * i)
#
#
# def fact(j):
# for n in range(1, j + 1):
# print_star(n)
#
#
# while True:
# a = int(input("a = "))
# fact(a) #
# def ts():
# # return 30, 1
# # return 后面可直接书写,元组(默认),列表,字典,即返回多个值
# return [1, 2]
#
#
# def ta(nu):
# print(nu)
#
#
# a = ts()
# ta(a)
# ta(ts())
#
# def use(*args):
# print(args)
#
# # 组包
# use('name', 1)
# def use(**kwargs):
# print(kwargs)
#
#
# use(name='ton', age=1) # 元组拆包
# def ts():
# return 30, 1
#
#
# n1, n2 = ts()
# print(n1)
# print(n2)
# 列表拆包
# def ts():
# return [30, 1]
#
#
# n = ts()
# print(n[0])
# print(n[1])
# 字典拆包
# def ts():
# return {'name': 'TOM', 'age': '12'}
#
#
# n = ts()
# n1, n2 = n
# print(n1, end=" ")
# print(n2)
# print(n[n1], end=" ")
# print(n[n2]) # 交换变量
# a, b = 1, 2
# print(f'a = {a} b = {b}')
# a, b = b, a
# print(f'a = {a} b = {b}') # 引用
# int 类型
# a = 1
# b = a
# print(b) # 1
# print(id(a)) # 1795942320
# print(id(b)) # 1795942320
# a = 2
# print(b) # 1 说明 int类型 为不可变类型 # 引用
# 列表
# a = [1, 2]
# b = a
# print(b) # [1, 2]
# print(id(a)) # 17421000
# print(id(b)) # 17421000
# a.append(30)
# print(b) # [1, 2, 30] 说明 列表类型 为可变类型 # 引用可当做实参!
def ts(a):
print(f'a = {a} ,id = {id(a)}')
a += a
print(f'a = {a} ,id = {id(a)}') ts(10) # id 发生变化
ts([10, 1]) # id 不变 """
可变类型:字典,列表,集合
不可变:元组,整型,浮点型
"""

  

  

function_use的更多相关文章

  1. linux内核数据结构学习总结

    目录 . 进程相关数据结构 ) struct task_struct ) struct cred ) struct pid_link ) struct pid ) struct signal_stru ...

随机推荐

  1. ipwry源码

    qqwry.ipwry都是cnss(http://blog.csdn.net/cnss/article/details/136069)出品,终于找到了源码,下载地址:http://download.c ...

  2. 视觉slam十四讲课后习题ch3-7

    题目回顾: 设有小萝卜一号和小萝卜二号位于世界坐标系中,小萝卜一号的位姿为:q1=[0.35,0.2,0.3,0.1],t2=[0.3,0.1,0.1]^T (q的第一项为实部.请你把q归一化后在进行 ...

  3. num06---代理模式

    代理模式,比较好理解,关键点就是,被代理类 和 代理类 实现同一个接口,接口中定义着想要实现的被代理的方法,在代理类中引入 被代理类 对象, 最后直接调用代理类的方法即可实现代理功能.

  4. Python 高级网络操作 - Python Advanced Network Operations

    Python 高级网络操作 - Python Advanced Network Operations Half Open Socket, 一个单向的 socket 被称为 half open sock ...

  5. ceph集群部署

    最近在学习 kubernetes 过程中,想实现 pod 数据的持久化.在调研的过程中,发现 ceph 在最近几年发展火热,也有很多案例落地企业.在选型方面,个人更加倾向于社区火热的项目,Gluste ...

  6. 什么是JWT以及具体应用

    jwt理论阮大神已经解释的很到位了 http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html jwt官网收录了多种实现库, ...

  7. VNC 远程桌面 连接(安装桌面程序)

    1.修改linux启动方式       # vi /etc/inittab         将3改为5     id:5:initdefault:   2.关闭防火墙(或者单独打开接口)     #s ...

  8. Oracle 重启监听

    对于DBA来说,启动和关闭oracle监听器是很基础的任务,但是Linux系统管理员或者程序员有时也需要在开发数据库中做一些基本的DBA操作,因此了解一些基本的管理操作对他们来说很重要. 本文将讨论用 ...

  9. 2.【Spring Cloud Alibaba】实现负载均衡-Ribbon

    负载均衡的两种方式 如何实现负载均衡 目前已经实现让A总能找到B,如何实现负载均衡 负载均衡的两种方式 服务器端负载均衡 客户端负载均衡 使用Ribbo实现负载均衡 Ribbon是什么 ==Netfl ...

  10. light oj 1067 费马小定理求逆元

    题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1067 1067 - Combinations Given n differen ...