# 函数说明文档,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. Codeforces 1304E 1-Trees and Queries (树上距离+思维)(翻译向)

    题意 给你一棵树,q个询问(x,y,a,b,k),每次问你如果在(x,y)加一条边,那么a到b能不能走k步,同一个点可以走多次 思路(翻译题解) 对于一条a到b的最短路径x,可以通过左右横跳的方法把他 ...

  2. 2019牛客多校2 F Partition problem(dfs)

    题意: n<=28个人,分成人数相同的两组,给你2*n*2*n的矩阵,如果(i,j)在不同的组里,竞争力增加v[i][j],问你怎么分配竞争力最 4s 思路: 枚举C(28,14)的状态,更新答 ...

  3. Go语言实现:【剑指offer】两个链表的第一个公共结点

    该题目来源于牛客网<剑指offer>专题. 输入两个链表,找出它们的第一个公共结点. Go语言实现: //长度长的先走个长度差,然后ab一起比较后面结点 //长度一样,公共结点可能在首结点 ...

  4. go微服务框架kratos学习笔记八 (kratos的依赖注入)

    目录 go微服务框架kratos学习笔记八(kratos的依赖注入) 什么是依赖注入 google wire kratos中的wire Providers injector(注入器) Binding ...

  5. H5异步加载多图

    异步加载多图(可能没啥用,加载慢)(图片预加载,提前给浏览器缓存图片) 1. 用一个计数变量记录需要加载的图片个数 2. 用new Image()去加载,加载完给此对象的src赋值要加载的url路径( ...

  6. Bookshelf 2 01背包

    B - Bookshelf 2 Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submi ...

  7. codewars--js--Convert all the cases!

    问题描述: In this kata, you will make a function that converts between camelCase, snake_case, and kebab- ...

  8. 【Web性能权威指南】 PDF

    Web性能权威指南.pdf 网盘:https://545c.com/file/24657411-424998805     获取码:276922

  9. Java 中常见排序算法

    经典的排序算法总结 冒泡排序算法 算法描述: 比较相邻的元素:如果第一个比第二个大,就交换它们两个: 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数: 针 ...

  10. C#设计模式学习笔记:(11)享元模式

    本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/7792973.html,记录一下学习过程以备后续查用. 一.引言 今天我们要讲结构型设计模式的第六个模式--享 ...