撩课-Python-每天5道面试题-第6天
一. 函数的概念是什么? 在Python中如何定义?使用场景是什么?
概念
写了一段代码实现了某个小功能; 然后把这些代码集中到一块, 起一个名字; 下一次就可以根据这个名字再次使用这个代码块, 这就是函数 定义 def 函数名称(参数1, 参数2...):
pass # 具体的函数执行代码
return None # 默认, 可以根据需求设置返回值
使用场景
将需要多次执行的重复性代码, 进行封装成函数, 方便代码的重用
def xxx():
print()
print()
print()
将有规律的重复性代码, 封装成函数, 更加灵活方便 def xxx(num):
for i in range(, num):
print(i)
分解任务, 简化程序逻辑, 使代码更加模块化 def firstStep():
pass
def secondStep():
pass
def thirdStep():
pass
firstStep()
secondStep()
thirdStep()
二. 尝试封装一个函数, 计算不定数据的累加和, 返回给外界
def 累加和(num):
result =
for i in range(, num + ):
result += i
return result print(累加和()) #
print(累加和()) #
三. 如何定义不定长参数函数?
def 函数名(*args):
pass
def 函数名(**kwargs):
pass
前者是普通参数
后者适用于关键字参数
需要注意: 传递之后的拆包操作 装包
把传递的参数, 包装成一个集合, 称之为"装包"
拆包
把集合参数, 再次分解成单独的个体, 称之为"拆包"
四. 缺省参数代表什么含义?
场景
当我们使用一个函数的时候, 如果大多数情况下, 使用的某个数据是一个固定值, 或者属于主功能之外的小功能实现;
则可以使用默认值
这种参数, 称为"缺省参数"
定义
def 函数名(变量名1=默认值1, 变量名2=默认值2):
函数体
函数体中, 即使外界没有传递指定变量, 也可以使用, 只不过值是给定的默认值
使用
函数名(变量1, 变量2)
此处如果是缺省参数, 则可以不填写
def sum(a, b = ):
print(a + b) sum() #
sum(, ) #
五. Python函数中, 值是引用传递还是值传递?\
值传递和引用传递
1.1 值传递
是指传递过来的, 是一个数据的副本;
修改副本, 对原件没有任何影响
.2引用传递
是指传递过来的, 是一个变量的地址
通过地址, 可以操作同一份原件 在Python当中, 你没得选, 只有引用传递(地址传递)
但是
如果数据类型是可变类型, 则可以改变原件
如果数据类型是不可变类型, 则不可以改变原件
撩课-Python-每天5道面试题-第6天的更多相关文章
- 撩课-Java每天5道面试题第13天
撩课Java+系统架构点击开始学习 96.JDBC操作数据库的步骤 ? .加载数据库驱动 .创建并获取数据库链接 .创建jdbc statement对象 .设置sql语句 .设置sql语句中的参数(使 ...
- 撩课-Java每天5道面试题第15天
撩课Java+系统架构点击开始学习 106.什么是Hibernate的并发机制?怎么去处理并发问题? a.Hibernate的Session对象是非线程安全的, 对于单个请求,单个会话, 单个的工作单 ...
- 撩课-Java每天5道面试题第10天
撩课Java+系统架构 视频 点击开始学习 81.Servlet的会话机制? HTTP 是一种无状态协议, 这意味着每次客户端检索网页时, 都要单独打开一个服务器连接, 因此服务器不会记录下 先前客户 ...
- 撩课-Java每天5道面试题第9天
撩课Java+系统架构 视频 点击开始学习 76.XML技术的作用? XML技术用于数据存储. 信息配置. 数据交换三方面. 可以将数据存储在XML中, 通过节点. 元素内容. 属性标示数据内容及关系 ...
- 撩课-Java每天5道面试题第8天
撩课Java+系统架构 视频 点击开始学习 71.jsp有哪些内置对象?作用分别是什么? Page, pageContext, request, response, session, applicat ...
- 撩课-Java每天10道面试题第7天
撩课Java+系统架构 视频 点击开始学习 61.什么是并发修改异常? 什么是并发修改异常: 当我们在遍历实现了collection接口 与iterator接口的集合时(List.Set.Map), ...
- 撩课-Java每天10道面试题第4天
撩课Java+系统架构 视频 点击开始学习 31.静态变量和实例变量的区别? 静态变量也叫类变量, 这种变量前加了static修饰符. 可以直接用类名调用, 也可以用对象调用, 而且所有对象的同一个类 ...
- 撩课-Python-每天5道面试题-第9天
一. Python程序中, 文件的处理步骤是什么? 打开 open("文件","模式") 读写 2.1 读 f.read(字节数) 字节数默认是文件内容长度 下 ...
- 撩课-Python-每天5道面试题-第8天
一. 解释下什么是闭包? 有怎样的场景作用? 概念 在函数嵌套的前提下 内层函数引用了外层函数的变量(包括参数) 外层函数, 又把 内层函数 当做返回值进行返回 这个内层函数+所引用的外层变量, 称为 ...
随机推荐
- SpringMVC常用方法大全
---恢复内容开始--- web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app x ...
- JAVA数组的定义方式
JAVA中,数组有以下几种定义方式: 1.先定义数组中元素的个数,然后再进行元素赋值 int[] a=new int[2]; a[0]='a'; a[1]='b';a[2]='c'; 2.元素个数与元 ...
- java springboot+maven发送邮件
springboot+maven发送邮件 废话不多说直接上代码 1. pom 文件导入jar包 <!--邮件发送--> <dependency> <groupId> ...
- leetcode-733-Flood Fill
题目描述: An image is represented by a 2-D array of integers, each integer representing the pixel value ...
- 并发编程>>四种实现方式(三)
概述 1.继承Thread 2.实现Runable接口 3.实现Callable接口通过FutureTask包装器来创建Thread线程 4.通过Executor框架实现多线程的结构化,即线程池实现. ...
- (转)MySQL主主互备结合keepalived实现高可用
MySQL主主互备结合keepalived实现高可用 原文:http://7424593.blog.51cto.com/7414593/1741717 试验环境: master:192.168.1.2 ...
- 移动端优化 && 清除移动端网站点击a标签时闪现的边框或遮罩层(CSS) && 移动端点击 && 文字不可选择
在移动端网站,当你点击加了a标签的文字或图片时,该元素的周围会闪现一个蓝色的边框,在微信上的网站就是如此:而有的浏览器会闪现一个半透明遮罩层,比如移动端的Chrome浏览器,其实这些特效无非就是为 ...
- LeetCode-2. Add Two Numbers(链表实现数字相加)
1.题目描述 You are given two non-empty linked lists representing two non-negative integers. The digits a ...
- JavaScript设计模式-11.桥梁模式
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Linux下设置Tomcat开机启动
1.进入/etc/rc.d/init.d,新建文件tomcat,并让它成为可执行文件 chmod 755 tomcat. #!/bin/bash # # /etc/rc.d/init.d/tomcat ...