Python入门--切片和函数

本文介绍了Python中的切片操作,包括不同形式的切片语法,并详细讲解了函数的概念、作用、定义方式,以及函数分类、全局和局部变量、函数调用、参数传递、递归等核心概念。通过学习,能提升代码的封装性和复用性。
摘要由CSDN通过智能技术生成

切片

切片是python提供给开发者用来分割、切割字符串或者其他有序可迭代对象的一种手段
字符串[index] # 访问字符串的某个字符
字符串[start:] # 从start小标位置开始切割字符串,到末尾
字符串[start: end] # 从start小标位置开始切割字符串,切去end位置,不包含end 前闭后开区间[)
字符串[start: end: step] # step表示步长,默认是1,注意:如果step为负数,表示从右向左切取

函数

什么是函数

函数是具有特殊功能的一段代码的封装
函数是具有名称的一段具体功能代码的统称

为什么学习函数

提高代码封装、提高代码的复用性、解耦合的作用

python中如何定义函数

使用关键字 def # define function

	def 函数名称([参数列表]):
		# 函数体

		# [return 返回值]

	
	# 调用函数的帮助文档
	# print(print_msg.__doc__)
	# print(help(print_msg))

函数分类

|-- 定义有没有参数
	|-- 无参函数
	|-- 有参函数
		函数的参数,要根据实际来决定,是否需要参数
|-- 是否有返回值
	|-- 无返回值
	|-- 有返回值
	在函数中,当遇到return关键字的时候,函数会立刻返回

全局变量和局部变量

全局变量:定义在模块(.py)中,可以在该模块定义后任何地方都可以访问
局部变量:定义在函数内部的变量,作用域只是在当前函数内有效,出了函数,无法访问到

在函数中,能不能访问到全局变量?
当然可以,但是注意:在python中,函数内不允许修改全局变量
如果确实在函数内,需要修改全局变量,必须要提前申明
global 全局变量

函数的调用

压栈,函数调用本质就是将堆中的函数调用到栈中执行,这个过程被称为压栈,等函数执行完成,
会立刻执行出栈(弹栈)

引用传递和值传递

值传递:本质就是传递数据值的拷贝,跟原先的那个值没有关系
引用传递:本质是传递指针(地址),所以说实质操作的就是堆

函数的参数问题

默认值参数
# 默认值参数,在参数上,给定一个最常用的值,在调用的时候,
# 如果和默认的值一致,就可也不用传递这个参数
def get_cricle_area(r, pi=3.14):
pass
注意:默认值参数,必须放在普通后面!!!

可变参数
def show(name, age=16, *args):
pass
args以元组的形式保存

命名参数(关键字参数)
def show2(name, age, **kwargs):
pass
kwargs是以字典的形式保存

函数递归

函数自身调用自身
注意:必须要有终止条件,没有终止条件的递归是一个死循环
递归次数上限为1000次,可更改
StackOverflowException

#作业8:使用递归完成1~100之间的积

def digui(i=100):
	if i == 1:
		return 1
	return i*digui(i-1)
print(digui())

其他

if __name__ ==  __'main'__:
	pass

这段代码在不涉及多个文件调用时带不带都可以,代码依然从上至下执行,但在这段内的代码不会在被其他文件的程序调用时执行,所以里面一般放测试用函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值