function_use

# 函数说明文档,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的更多相关文章
- linux内核数据结构学习总结
目录 . 进程相关数据结构 ) struct task_struct ) struct cred ) struct pid_link ) struct pid ) struct signal_stru ...
随机推荐
- Codeforces 1304E 1-Trees and Queries (树上距离+思维)(翻译向)
题意 给你一棵树,q个询问(x,y,a,b,k),每次问你如果在(x,y)加一条边,那么a到b能不能走k步,同一个点可以走多次 思路(翻译题解) 对于一条a到b的最短路径x,可以通过左右横跳的方法把他 ...
- 2019牛客多校2 F Partition problem(dfs)
题意: n<=28个人,分成人数相同的两组,给你2*n*2*n的矩阵,如果(i,j)在不同的组里,竞争力增加v[i][j],问你怎么分配竞争力最 4s 思路: 枚举C(28,14)的状态,更新答 ...
- Go语言实现:【剑指offer】两个链表的第一个公共结点
该题目来源于牛客网<剑指offer>专题. 输入两个链表,找出它们的第一个公共结点. Go语言实现: //长度长的先走个长度差,然后ab一起比较后面结点 //长度一样,公共结点可能在首结点 ...
- go微服务框架kratos学习笔记八 (kratos的依赖注入)
目录 go微服务框架kratos学习笔记八(kratos的依赖注入) 什么是依赖注入 google wire kratos中的wire Providers injector(注入器) Binding ...
- H5异步加载多图
异步加载多图(可能没啥用,加载慢)(图片预加载,提前给浏览器缓存图片) 1. 用一个计数变量记录需要加载的图片个数 2. 用new Image()去加载,加载完给此对象的src赋值要加载的url路径( ...
- Bookshelf 2 01背包
B - Bookshelf 2 Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Submi ...
- codewars--js--Convert all the cases!
问题描述: In this kata, you will make a function that converts between camelCase, snake_case, and kebab- ...
- 【Web性能权威指南】 PDF
Web性能权威指南.pdf 网盘:https://545c.com/file/24657411-424998805 获取码:276922
- Java 中常见排序算法
经典的排序算法总结 冒泡排序算法 算法描述: 比较相邻的元素:如果第一个比第二个大,就交换它们两个: 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数: 针 ...
- C#设计模式学习笔记:(11)享元模式
本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/7792973.html,记录一下学习过程以备后续查用. 一.引言 今天我们要讲结构型设计模式的第六个模式--享 ...