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 ...
随机推荐
- The Top 500 Worst Passwords (2008)
Top 100 123456 password 12345678 1234 pussy 12345 dragon qwerty 696969 mustang letmein baseball mast ...
- Go语言项目中使用zap日志库(翻译)
本文先介绍了Go语言原生的日志库的使用,然后详细介绍了非常流行的Uber开源的zap日志库,同时介绍了如何搭配Lumberjack实现日志的切割和归档. 在Go语言项目中使用Uber-go的Zap L ...
- CCF_ 201409-3_字符串匹配
水. #include<cstdio> #include<iostream> #include<cstring> using namespace std; int ...
- Java程序员必备英文单词
列表中共有769个单词,这些单词是从JDK.Spring.SpringBoot.Mybatis的源码中解析得到,按照在源码中出现的频次依次排列,页面中的单词是出现频次大于1000的.单词的音标.翻译结 ...
- AJAX传输图片文件
AJAX传输 例:const xhr = new XMLHttpRequest(); // 此方法因为状态改变被调用多次,实测执行三次(1->2->4) xhr.onreadystatec ...
- 7个有用的JS技巧
就如其他的编程语言一样,JavaScript也具有许多技巧来完成简单和困难的任务. 一些技巧已广为人知,而有一些技巧也会让你耳目一新. 让我们来看看今天可以开始使用的七个JavaScript技巧吧! ...
- [Linux]curl 测试socket http代理
Socket5 curl --socks5 10.2.46.19:10808 http://www.baidu.com #-----查询结果----- <!DOCTYPE html> &l ...
- vue-cli搭建vue项目(单页面应用)
1.全局安装vue-cli 2.创建项目: vue init webpack test test是项目名称,会在当前工作目录下新建一个test文件夹 接下来会手动选择一些配置 除了Setup unit ...
- 前端 Docker 基本教程
为什么要学习 Docker ? 每学一个东西,我们肯定是基于某个需求去学习的,众所周知,软件开发最麻烦的是环境配置,开发好好的,部署出问题就很难受,所以为了确保开发.测试.部署环境一致,且高效的部署所 ...
- The finally block does not always execute in try finally
A finally block does not always xecute. The code in the try block could go into an infinite loop, th ...