Python基础知识整理二(详细)
2021-03-22 01:27
标签:bug 位置实参 栈内存 rac exce 使用 赋值 glob 不同 Python基础知识整理二(详细) 标签:bug 位置实参 栈内存 rac exce 使用 赋值 glob 不同 原文地址:https://www.cnblogs.com/nannanzi/p/13893867.html
在 python 中字符串是基本数据类型,是一个不可变的字符序列
仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串的驻留池中,Python的驻留机制对相同的字符串只保留一份拷贝,后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋值给新创建的变量
查找子串 substr 第一次出现的位置,如果查找的子串不存在时,则抛出 ValueError
查找子串 substr 最后一次出现的位置,如果查找的子串不存在时,则抛出 ValueError
查找子串 substr 第一次出现的位置,如果查找不存在时,则返回 -1
查找子串 substr 最后一次出现的位置,如果查找的子串不存在时,则返回 -1
把字符串中所有字符都转成大写字母
把字符串中所有字符串都转成小写字母
把字符串中所有大写字母转成小写字母,把所有小写字母都转成大写字母
把第一个字母转换为大写,把其余字符转换为小写
把每个单词的第一个字符转换为大写,把每个单词的剩余字符串转换为小写
居中对齐,第1个参数指定宽度。第 2 个参数指定填充符。第 2 个参数是可选的。默认是空格,如果设置宽度小于实际宽度,则返回源字符串
左对齐。第1个参数指定宽度。第 2 个参数指定填充符。第 2 个参数是可选的。默认是空格,如果设置宽度小于实际宽度,则返回源字符串
右对齐。第1个参数指定宽度。第 2 个参数指定填充符。第 2 个参数是可选的。默认是空格,如果设置宽度小于实际宽度,则返回源字符串
右对齐。左边用 0 填充,该方法只接收一个参数,用于指定字符串的宽度,如果设置宽度小于实际宽度,则返回源字符串
从字符串的左边开始分割,默认的分割符是空格字符串,返回值都是一个列表以通过参数sep来指定分割字符串的是
分隔符??通过参数maxsplit 指定分割字符串时的最大分割次数,在经过最大分割次数之后,剩余的子串会单独作为一部分例:lst =
a.split( sep=‘&‘,maxsplit = 3 ) // 分隔符 & 分割次数 3???
从字符串的右边开始分割,默认的分割符是空格字符串,返回值都是一个列表以通过参数sep来指定分割字符串的是 分隔符??通过参数maxsplit 指定分割字符串时的最大分割次数,在经过最大分割次数之后,剩余的子串会单独作为一部分
判断指定的字符串是不是合法的标识符
判断指定的字符串是否全部由空白字符组成(回车、换行、水平制表符)
判断指定的字符串是否全部由字母组成
判断指定字符串是否全部由十进制的数字组成
判断指定的字符串是否全部由数字组成
判断指定的字符串是否全部由字母和数字组成
字符串替换第
1 个参数指定被替换的子串,第 2
个参数指定替换子串的字符串,该方法返回替换后得到的字符串,替换前的字符串不发生变化,调用该方法时可以通过指定第 3 个参数来指定最大替换次数?s
= ‘hello, python,python‘s1 = s.replace( ‘python‘ , ‘java‘,2 )? # 将 s 中的
python 替换成 java 替换 2 次??
将列表或元组中的字符串合并成一个字符串lst
= [‘hello‘ , ‘python‘ , ‘java‘]print( ‘|‘ , join( lst ) ) # 输出
hello|python|java 其中 | 可以替换成任意值传递????t= (‘hello‘ , ‘python‘ ,
‘java‘)print( ‘|‘ , join( t) ) # 输出 hello|python|java 其中 | 可以替换成任意值传递??
>、>=、
首先比较俩个字符串中的第一个字符,如果相等则继续比较下一个字符,依次比较下去,直到俩个字符串中的字符不相等时,其比较结果就是俩个字符串的比较结果,俩个字符串中的所有后续字符将不再比较
两个字符进行比较时,比较的是其 ordinal value(原始值),调用内置函数 ord 可以得到指定字符的 ordinal value。与内置函数 ord 对应的是内置函数 chr,调用内置函数 chr 时指定 原始值可以得到其对应的字符
print( " name :%s " % (name) )
print( " name :{0} " ,format(name) )print( " name {name}")?
函数就是执行特定任务和以完成特定功能的一段代码函数返回多个值时,结果为元组?
def 函数名 ([ 输入参数 ]): 函数体 [return xxx]??
函数名 ([函数参数])
位置实参: 根据形参对应的位置进行实参传递关键字实参: 根据形参名称进行实参传递?
函数定义时,给形参设置默认值,只有与默认值不符的时候才需要传递实参
定义函数时,可能无法实现确定传递的位置实参的个数时,使用可变的位置参数使用
* 定义个数可变的位置形参结果为一个元组??注: 个数可变的位置参数,只能有 1 个?例def fun(*args)???
print(args)fun(1,2,3) # 输出 (1,2,3) 是个元组??
定义函数时,无法实现确定传递的关键字实参的个数时,使用可变的关键字形参使用
** 定义个数可变的关键字形参结果为一个字典??注: 个数可变的关键字参数,只能有 1 个??
在一个函数定义过程中,既有个数可变的关键字形参,也有个数可变的位置形参。要求:个数可变的位置形参放在个数可变的关键字形参之前?例:?def
fun(**args)??? print(args)fun(a = 1,b = 2.c = 3) # 输出
{‘a‘:1,‘b‘:2,‘c‘:3}, 是个字典
程序代码能访问该变量的区域根据变量的有效范围可分为?
在函数内定义并使用的变量,只在函数内部有效,局部变量使用global 声明,这个变量就会变成全局变量
函数体外定义的变量,可作用于函数内外
如果在一个函数的函数体内调用了该函数本身额,这个函数就称为递归函数由 递归调用 和递归终止条件组成?
每递归调用一次函数,都会在栈内存分配一个栈帧每执行完一次函数,都会释放相应的空间?
缺点: 占用内存多,效率低下优点:思路和代码简单?
如果 try 块中没有抛出异常,则执行 else 块,如果 try 中抛出异常,则执行 except 块
finally 块无论是否发生异常都会被执行,能常用来释放 try 块中申请的资源
使用 traceback 模块打印异常信息?traceback .print_exc()
class student : pass?
实例名 = 类名 ()
类中方法外的变量成为类属性,被该类的所有对象所共享
使用 @classmethod修饰的方法,使用类名直接访问的方法
使用 @staticmethod修饰的方法,使用类名直接访问的方法