字符串
1、什么是字符串
‘’、"" 、 “”“字符串”""、 ‘’‘字符串 ‘’’
2、字符串常见的方法
字符串可以被迭代,也可以通过下标访问
注意:字符串是不可变类型
python中字符串的所有方法,并不会改动字符串本身的值!!!
而是返回值发生了变化
|-- capitalize() # 首字母大写
|-- center(width[,fillchar]) # 居中对象
|-- count(char) # 统计字符数量
|-- endswith(char) # 以xxx结束
|-- startswith(char) # 以x开始
|-- find(char) # 用来检索某个字符或者字符串在该字符串中的第一次出现索引位置,如果找不到呢?则返回-1
|-- rfind(char) # 查找最后一个
|-- index(char) # 用来检索某个字符或者字符串在该字符串中的第一次出现索引位置,如果找不到呢?则抛出异常
|-- rindex(char) # 查找最后一个
|-- format() # 格式化字符串,python提出了,建议大家使用
|-- join(list) # 按照特定的规则拼接字符串
|-- split(char) # 按照特定的字符串分割字符串,结果是列表
|-- rsplit() # 从右
|-- upper() # 转大写
|-- lower() # 转小写
|-- strip() # 清除两侧的空格
|-- lstrip() # 清除左侧空格
|-- rstrip() # 清除右侧空格
|-- title() # 将字符串格式化为符合标题的格式
|-- replace(old_str, new_str) # 替换字符串
|-- encode() # 将字符串转换为字节
注意:字节对象中有一个decode方法,可以将字节转换为对应编码的字符串
|-- isxxx # 判断所用
|-- isalnum()
|-- isalpha()
|-- isdigit()
切片
切片是python提供给开发者用来分割、切割字符串或者其他有序可迭代对象的一种手段
字符串[index] # 访问字符串的某个字符
字符串[start:] # 从start小标位置开始切割字符串,到末尾
字符串[start:end] # 从start小标位置开始切割字符串,切去end位置,不包含end 前闭后开区间[)
字符串[start:end:step] # step表示步长,默认是1,注意:如果step为负数,表示从右向左切取
python是从在负索引的。最后一个位是-1,倒数第二个是-2,以此类推
注意:切片操作,如果下标不存在,并不会报错
函数
1、什么是函数
具有特殊功能的一段代码的封装
C语言是一门面向过程(功能、函数)的语言
具有名称的一段具体功能代码的统称
2、为什么学习函数
代码封装、提高代码的复用性、解耦合的作用
3、python中如何定义函数
使用关键字 def # define function
def 函数名称([参数列表]):
# 函数体
# [return 返回值]
# 调用函数的帮助文档
# print(print_msg.__doc__)
# print(help(print_msg))
4、函数的调用
函数名称([参数列数])
1、函数
具有名称的能够完成某一特定功能的代码的集合
2、python如何定义函数
def function_name([args…]):
# 函数体
[return 返回值]
3、调用函数
function_name()
4、函数分类
|-- 定义有没有参数
|-- 无参函数
|-- 有参函数
函数的参数,要根据实际来决定,是否需要参数
|-- 是否有返回值
|-- 无返回值
|-- 有返回值
在函数中,当遇到return关键字的时候,函数会立刻返回
5、全局变量和局部变量
全局变量:定义在模块(.py)中,可以在该模块定义后任何地方都可以访问
局部变量:定义在函数内部的变量,作用域只是在当前函数内有效,出了函数,无法访问到
在函数中,能不能访问到全局变量?
当然可以,但是注意:在python中,函数内不允许修改全局变量
如果确实在函数内,需要修改全局变量,必须要提前申明
global 全局变量
6、函数的调用
压栈,函数调用本质就是将堆中的函数调用到栈中执行,这个过程被称为压栈,等函数执行完成,
会立刻执行出栈(弹栈)
7、引用传递和值传递
值传递:本质就是传递数据值的拷贝,跟原先的那个值没有关系
引用传递:本质是传递指针(地址),所以说实质操作的就是堆
8、函数的参数问题
|-- 默认值参数
# 默认值参数,在参数上,给定一个最常用的值,在调用的时候,
# 如果和默认的值一致,就可也不用传递这个参数
def get_cricle_area(r, pi=3.14):
pass
注意:默认值参数,必须放在普通后面!!!
|-- 可变参数
def show(name, age=16, *args):
pass
args以元组的形式保存
|-- # 命名参数(关键字参数)
def show2(name, age, **kwargs):
pass
kwargs是以字典的形式保存
9、函数递归
函数自身调用自身
注意:必须要有终止条件,没有终止条件的递归是一个死循环
StackOverflowException