| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> python 学习过程总结 -> 正文阅读 |
|
[Python知识库]python 学习过程总结 |
1. +的三种用法 ①数的相加 ②字符串相加 print ("Hello,"+str+"!") 加号可以连接字符串和列表,但是要返回一个新字符串 ③列表相加 list1=[1,2] list2=[3,5] list3=list2+list1 print(list3) 输出:[3, 5, 1, 2] 2. ①split()函数: 拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list) 语法:str.split(str="",num=string.count(str))[n] 参数说明: str:?? 表示为分隔符,默认为空格,但是不能为空('')。若字符串中没有分隔符,则把整个字符串作为列表的一个元素 num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量 [n]:?? 表示选取第n个分片 注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略 ②、map函数: map()函数接收两个参数,一个是函数,一个是Iterable(字符串),map将传入的函数依次作用到序列的每一个元素,并把结果作为新的Iterable返回。其语法格式为: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? map(function,iterable...) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? function---函数名 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? iterable---一个或多个序列 map作为高阶函数,事实上它把运算规则抽象了,我们可以用这种方式计算任意复杂的函数,再比如,把一个list的所有数据转为string类型:int转string 结果显示 再举一个小例子,对list中的各个元素开方,一步到位: !注意:在使用math自带函数时,只需要函数名即可 ③理解一下常见输入 连续输入两个相隔空格的整数 a,b=map(int,input().split()) 连续输入三个相隔空格的整数 a,b,c = map(int,input().split(' ')) 连续输入两个以固定符号分隔 a,b=map(int,input().split(",")) 连续输入两个以固定符号,分隔(提示:A和B前面可能有空格) 先去空格然后 a,b=map(int,input().split(",")) 特别注意一下情况 3. ①#格式化字符串的函数?str.format(),它增强了字符串格式化的功能,和格式化输出%d 基本语法是通过?{}?和?:?来代替以前的?%? print('{0}{1}={2}'.format(a, b, c))???? print("{1} {0} {1}".format("hello", "world")) 前面括号中是后面括号中的序号 ②# 通过字典设置参数 site = {"name": "菜鸟教程", "url": "www.runoob.com"} print("网站名:{name}, 地址 {url}".format(**site)) 输出:网站名:菜鸟教程, 地址 www.runoob.com 注意:**site在format函数调用里的意思是将字典包传递给format函数。 ③# 通过列表索引设置参数 my_list = ['菜鸟教程', 'www.runoob.com'] print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必须的 输出:网站名:菜鸟教程, 地址 www.runoob.com ④#不带字段默认情况 print('{} {}'.format('hello','world'))? # 不带字段 print("{:.2f}".format(c))等同于print("%.2f" %(c)) 4. 打印python中的关键字 import keyword print(keyword.kwlist) 5. 复数 x = complex(a, b) 返回一个复数 print(int(x.real),int(x.imag)) 获取复数的实部和虚部 6. ①字符串大小写转换 print(str.upper())????????? # 把所有字符中的小写字母转换成大写字母 ②字符串数字判断 print?(str.isdigit())#判断字符串中是否只包含数字 print?(str.isnumeric())#方法检测字符串是否只由数字组成 print?(str.isdecimal())#方法检测字符串是否只由数字组成 以上三种方式编码方式不同 ③字符串字母判断 print(str.isalpha())?? #用isalpha判断是否仅有字母 print(str.isalnum())?? #isalnum判断是否数字和字母的组合, 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False,如果有空格也会返回False 7. 多组输入的方法 while True: ??? try: ??? except:break 8. 输入的符号中带%方式 print("%.2f%% %.2f%%"%(a,b)) 9. ①向上取整 math.ceil(2.3) ②向下取整 math.floor(2.3) ③四舍五入 round(2.3)没有math 8. python运算符
9. ①sort()方法语法: List .sort ( cm p=None, key=None, reverse=False) 参数: ?cm p? -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。 key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序 reverse -- 排序规则,reverse = True?降序,?reverse = False?升序(默认) 返回值 该方法没有返回值,但是会对列表的对象进行排序。 ②sorted()语法: sorted(iterable, cmp=None, key=None, reverse=False) 参数: iterable -- 可迭代对象 cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0 key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序 reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。 返回值 返回重新排序的列表。 ③sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。 10. ①Join( )函数 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。 join()方法语法: str.join(sequence) 参数: sequence -- 要连接的元素序列(列表或者字符串)。 返回值 返回通过指定字符连接序列中元素后生成的新字符串。 示例 print("<".join(chr(x) for x in li)) 11. 字符串倒置 reserved() 其功能是对于给定的序列(包括列表、元组、字符串以及 range(n) 区间) 该函数可以返回一个逆序序列的迭代器(用于遍历该逆序序列) 语法格式如下: reversed(seq) 其中,seq 可以是列表,元素,字符串以及 range() 生成的区间列表 示例 a = reversed(list(str)) 10.空格的删除,返回值是新串
11. ①字符串查找函数
②统计字符串中字符及串的次数
③列表查找函数
12. ①replace() 方法 用于把字符串中指定的旧子字符串替换成指定的新子字符串 ②replace() 方法语法: S.replace(old,new[,count=S.count(old)]) 如果指定 count 可选参数则替换指定的次数,默认全部替换。 参数 old -- 指定的旧子字符串 new -- 指定的新子字符串 count -- 可选参数,替换的次数,默认为指定的旧子字符串在字符串中出现的总次数。 返回值 返回把字符串中指定的旧子字符串替换成指定的新子字符串后生成的新字符串, 如果指定 count 可选参数则替换指定的次数,默认为指定的旧子字符串在字符串中出现的总次数。 14. 如何把各种进制转换成前面带0的二进制的字符串?
如何进行十进制与其他进制的相互转换?
注意:如果变量是整数,那么进制数不能有参数,若 变量 为 str,则 base 可略可有
?? ③ .其他进制之间的相互转换:oct、bin、hex参数为整型 十六进制转换成十进制字符串 => str1=str(int(result,16)) 十六进制字符串转换成八进制 => str2=oct(int(result,16)) 十六进制字符串转换成二进制=>str3=bin(int(result,16)) 二进制字符串转换成十六进制=>str4=hex(int(str,8)) 15.
18. 关于enumerate() enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列, 同时列出数据和数据下标(下表,值),一般用在 for 循环当中。把列表转换成为li=list(enumerate(a))
19. 列表元组集合字典常用的操作 **python中列表 元组 字典 集合 - 无名小妖 - 博客园 20. not、not in、is not三者的区别
21. set()?函数 set()?函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 x = set('runoob') set(['b', 'r', 'u', 'o', 'n']) ? 22. 输入一个矩阵
求矩阵主对角线,副对角线、上三角矩阵、下三角矩阵之和(矩阵的长宽已知)
矩阵的逆置
打印图形矩阵 strx = '*' n = int(input()) for i in range(n): ??? for j in range(n): ??????? print(strx, end='') ??? print() 打印三角形具有如下图像 打印图案1矩阵 strx = '*' n = int(input()) for i in range(n): ??? for j in range(n): ??????? if j <= i: ??????????? print(strx, end='') ??? print() 打印图案2矩阵 strx = '*' n = int(input()) for i in range(n): ??? for j in range(n): ??????? if j >= i: ??????????? print(strx, end='') ??? print() 打印图案3矩阵 strx = '*' n = int(input()) for i in range(n): ??? for j in range(n-i-1): ??????????? print(' ', end='') ??? for j in range(n): ??????? if j <= i: ??????????? print(strx, end='') ??? print() 打印图案4矩阵 strx = '*' n = int(input()) for i in range(n): ??? for j in range(n): ??????? if j < i: ??????????? print(' ', end='') ??? for j in range(n): ??????? if j >= i: ??????????? print(strx, end='') ??? print() 打印菱形 杨辉三角 n=int(input()) tri=[0]*n for i in range(n): ??? tri[i]=[0]*(i+1) ??? tri[i][0]=1 ??? tri[i][i]=1 ??? for j in range(1,i): ??????? tri[i][j]=tri[i-1][j-1]+tri[i-1][j] 格式杨辉三角 25. eval() 函数用来执行一个字符串表达式,并返回表达式的值, 可以运行字典建对应的表达式
26. add() 方法用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作。 set.add(elmnt)#返回值=>None 27. 列表切片 data[:-1]:去掉最后一个
data[-1:]:只取出最后一个值
28.
29. 31. 列表是[] 元组是(1,2) 集合是 [不重复] 字典是{ } 29.列表推导式 sum([int(j)**mforjinstr(i)]) 30. l=input() p=eval(l) For I in p: print(p[i]) 遍历字典中的所有值,i会表示字典的key 31. #。keys()方法用于返回字典中的所有键; #values()方法用于返回字典中所有键对应的值; #items()用于返回字典中所有的键值对。 isinstance() 函数来判断一个对象是否是一个已知的类型 isinstance (a,int) ?True 31.字符串总结 明确:对字符串的操作方法都不会改变原来字符串的值 ? 1,去掉空格和特殊符号 name.strip()? 去掉空格和换行符 name.strip('xx')? 去掉某个字符串 name.lstrip()? 去掉左边的空格和换行符 name.rstrip()? 去掉右边的空格和换行符 ? 2,字符串的搜索和替换 name.count('x')? 查找某个字符在字符串里面出现的次数 name.capitalize()? 首字母大写 name.center(n,'-')? ?把字符串放中间,两边用- 补齐 name.find('x')? ?找到这个字符返回下标,多个时返回第一个;不存在的字符返回-1 name.index('x')?找到这个字符返回下标,多个时返回第一个;不存在的字符报错 name.replace(oldstr, newstr)? 字符串替换 name.format() 字符串格式化 name.format(d)? 字符串格式化,传进去的是一个字典 ? 3,字符串的测试和替换函数 S.startswith(prefix[,start[,end]])? #是否以prefix开头? S.endswith(suffix[,start[,end]])? #以suffix结尾? S.isalnum()? #是否全是字母和数字,并至少有一个字符? S.isalpha() #是否全是字母,并至少有一个字符? S.isdigit() #是否全是数字,并至少有一个字符? S.isspace() #是否全是空白字符,并至少有一个字符? S.islower() #S中的字母是否全是小写? S.isupper() #S中的字母是否便是大写? S.istitle() #S是否是首字母大写的 4,字符串的分割 name.split()? 默认是按照空格分割 name.split(',')? ?按照逗号分割 5,连接字符串 ‘,’.join(slit)? ? ? 用逗号连接slit 变成一个字符串,slit 可以是字符,列表,字典(可迭代的对象) ? ? ? ? ? ? ? ? ? ? ? ? int 类型不能被连接 ?6,截取字符串(切片) str = '0123456789′ print str[0:3] #截取第一位到第三位的字符 print str[:] #截取字符串的全部字符 print str[6:] #截取第七个字符到结尾 print str[:-3] #截取从头开始到倒数第三个字符之前 print str[2] #截取第三个字符 print str[-1] #截取倒数第一个字符 print str[::-1] #创造一个与原字符串顺序相反的字符串 print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符 print str[-3:] #截取倒数第三位到结尾 print str[:-5:-3] #逆序截取 7.string 模块 import string? string.ascii_uppercase? 所有大写字母 string.ascii_lowercase 所有小写字母 string.ascii_letters? 所有字母 string.digits? 所有数字 ? 8.长字符串跨行 可以用下面几种方式 1、字符串用三引号'''、或三个双引号"""括起来 a = '''Hello, 运行结果: Hello, World 2、行尾加上反斜杠 \,运行结果和上面区别是字符串不换行 b = "Hello,\ 运行结果: Hello,world 3.如果要指定以反斜杠结尾,需要再加2个反斜杠 \ b = "Hello,\\\ 运行结果: Hello,\world ? 9.原始字符串,前缀加上r print('c:\now') 运行结果如下,原始字符串会原样输出: c: ow c:\now 原始字符串不能以单个反斜杠 \结尾,如果要指定以反斜杠结尾,可以将反斜杠单独作为作为一个字符串 print(r'c:\now''\\') 运行结果: c:\now\ pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。 List.pop(obj) list.pop([index=-1])
print(list(range(2,12,2))[:-2].pop()) print(list(range(2,12,2))[:-2]) print(list(range(2,12,2))) 6 [2, 4, 6] [2, 4, 6, 8, 10] ? ? ? 列表元组遍历的三种方式 students=[(3180102988,"褚好"), #第一种输出方式 ? 列表中*是不改变元组位置的简单引用 #这里是三行不用的变量 data=[] foriinrange(3): data.append([0]*3) print(data) data[2][2]=7 print(data) #这里是一个变量展现三次 row=[0]*3 data=[row,row,row] print(data) data[2][2]=7 print(data) #这里是一个变量展现三次 data=[[0]*3]*3 print(data) data[2][2]=7 print(data) [[0, 0, 0], [0, 0, 0], [0, 0, 7]] [[0, 0, 0], [0, 0, 0], [0, 0, 0]] [[0, 0, 7], [0, 0, 7], [0, 0, 7]] [[0, 0, 0], [0, 0, 0], [0, 0, 0]] [[0, 0, 7], [0, 0, 7], [0, 0, 7]] ? 集合(set)是一个无序的不重复元素序列。 可以使用大括号?{ }?或者?set()?函数创建集合,注意:创建一个空集合必须用?set()?而不是?{ },因为?{ }?是用来创建一个空字典 集合的元素必须是不可变类型。 字典键值互转 dic={"John" : 15264771766,"Kate" : 13063767486,"Rose" : 15146046882,"Chise" : 13606379542,"Jason" : 13611987725} ? update() 方法可使用一个字典所包含的键值对来更新己有的字典。 该方法没有任何返回值。 ? 在执行 update() 方法时,如果被更新的字典中己包含对应的键值对,那么原 value 会被覆盖;如果被更新的字典中不包含对应的键值对,则该键值对被添加进去。 例如:
运行结果为: {'one': 4.5, 'two': 2, 'three': 3, 'four': 9.3} 从上面的执行过程可以看出,由于被更新的 dict 中已包含 key 为“one”的键值对,因此更新时该键值对的 value 将被改写;但如果被更新的 dict 中不包含 key 为“four”的键值对,那么更新时就会为原字典增加一个键值对。 Python提示object is not subscriptable的错误 ? subscriptable的意思是 可有下标的 意思 错误的原因就是把不具有下标操作的对象用成了对象[i],比如int对象变量[i]就会报错。仔细检查错误行。 字典的引用:get方法返回设置的默认值,不设置默认为None,直接引用找不到报错 dic={"John":15264771766,"Kate":13063767486,"Rose":15146046882,"Chise":13606379542,"Jason":13611987725} print(dic['ABCD']) dic={"John" : 15264771766,"Kate" : 13063767486,"Rose" : 15146046882,"Chise" : 13606379542,"Jason" : 13611987725} isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。 isinstance() 与 type() 区别:
如果要判断两个类型是否相同推荐使用 isinstance()。 语法 以下是 isinstance() 方法的语法: isinstance(object, classinfo) 参数
返回值 如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 5:54:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |