Python学习总结
文章平均质量分 71
hyc457427412hychyc
这个作者很懒,什么都没留下…
展开
-
Python中eval()和exec()函数
文章目录eval()函数exec()函数eval()函数作用:计算指定表达式的值,返回表达式的值。只能是单个运算表达式,不能是赋值操作或复杂的代码逻辑eval(expression[, globals[, locals]])参数expression – 表达式,必选参数,可以是字符串,也可以是任意的code对象实例(可以通过compile函数创建)globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象,则计算时取globals中的值locals – 变量作用域,局部转载 2022-05-16 23:38:58 · 214 阅读 · 0 评论 -
Python练习题-只给自己看的,非学习资料
1,list = [{‘name’:’小红’,sub’:[{‘name’:’小明’,’sub’:[{‘name’:’小花’}]},{’name‘:’小黑’}]}]这是一个嵌套列表,但是嵌套的可能有n层,如何运用递归函数得到列表中所有的“name”值,并且有层级关系的名字需要拼接起来,得到的结果是“[‘小红’,’小红’/’小明,’小红’/’小明/’小花’, ‘小红’/’小黑’]” 。解题思路:因为外层的名字要与内层名字拼接,所以每次获取外层的名字,都要作为参数传入内层,最外层参数默认为空字符串;每一次将原创 2022-05-16 18:42:13 · 704 阅读 · 0 评论 -
Python高阶函数学习总结(map,filter,reduce,递归函数简介,闭包函数)
文章目录1、高阶函数定义2、map函数3、filter函数4、reduce函数1、高阶函数定义函数的入参或返回值中有函数,就可以成为高阶函数入参中有函数的:返回值中有函数的:def func1(): print('正在执行func1')def func2(): print('正在执行func2') return func1res=func2()res() #注意调用,调用返回值的函数#func2()() #或者写成这种格式,直接调用参数和返回值都有函原创 2022-05-15 23:44:46 · 479 阅读 · 0 评论 -
Python函数学习_变量作用域
作用域作用域作用域即变量的有效范围,就是变量在哪个范围内使用作用域由变量的定义位置决定分为四个层级:内置作用域:python预先定义好的,在__builtins__模块中,主要是一些关键字,open,range,quit,print等全局作用域:定义在顶层的,模块级别的,不是写在函数内部的本地作用域:函数内部的,只能在函数内部用,外面是看不到的嵌套函数的本地作用域:属于内层函数注:函数名也是变量变量搜索规则从当前向外查找,找到就停止,一直找到内置作用域,如果仍然找不到就报错因为是由原创 2022-05-12 16:31:30 · 297 阅读 · 0 评论 -
Python字符串格式化format 学习总结
1、占位输出索引从0开始 根据索引去匹配print('i am a {0},i\'m {1} years old {0} {0}'.format('girl',18))结果为:2、如果不写索引 则按顺序匹配print('{} {}'.format('hello','world'))结果为:3、对齐{:>2} 右对齐{:<2} 左对齐{:^7} 居中对齐#其中数字为总宽度 宽度必须为数字4、format(s,n)括号中的内容不一定是字符串 可以是任意数原创 2022-05-11 23:11:53 · 126 阅读 · 0 评论 -
Python中的zip函数学习
Python中的zip函数原创 2022-05-04 19:00:24 · 535 阅读 · 0 评论 -
Python生成器学习总结
生成器是特殊的迭代器通过yield生成元素每执行一次yield生成一个元素range()函数也是一个生成器生成器其实是一个有yield语句的函数定义一个生成器函数 返回的是一个生成器对象,可迭代def mygenerator(s)s:for i in s:yield i**2for i in mygenerator(‘hello’):print(i)#当yield的来源为一个for循环时,可以写成yield from s如果是上面的代码可以这样写吗?...原创 2021-04-06 23:55:52 · 204 阅读 · 0 评论 -
Python解析和迭代器学习总结
1.解析把原序列进行迭代 再根据条件进行筛选列表解析[ ]原创 2021-04-04 02:08:48 · 152 阅读 · 1 评论 -
Python函数定义与调用
一、不可变参数(参数个数固定)函数定义封装好的 能被反复调用的 结构(函数名,参数,代码块)先定义再调用#定义一个函数 参数分别是x,y def add(x,y): #x,y是定义时的参数,即为形参 result=x+y return result #如果不写return 函数会默认返回None函数调用add(4,5) #此时调用函数,传入的 4,5 分别对应x和y,4,5为实参函数调用时 传参方式有两种,位置参数和关键字参数位置参数关键字参数原创 2021-03-14 08:54:22 · 1452 阅读 · 0 评论 -
Python集合类型学习总结
构建集合特性:无序,用hash值存储元素必须是不可变对象元素不可重复set集合可变,forzenset不可变可迭代1、大括号构建{ }s = {‘a’,‘b’,‘c’}s={ } #空的{ }是字典,不是集合2、set()方法,括号内是可迭代对象s = set('abcde')#s->{'e', 'c', 'd', 'a', 'b'}s1 = frozenset('jqk')3、构建空集合s1=set()4、集合解析>>>{x*2 for x i原创 2021-03-19 00:12:13 · 432 阅读 · 0 评论 -
Python字典学习总结
构建字典无序 不可索引1、使用大括号dic = { } #空字典dic = {'name':'Rachel','age':25}2、使用dict方法[ ] dict(key=value)dic = dict(a=1,b=2,c=3)dic = dict('a'=1,'b'=2) #-->语法错误,报错[ ] dict(iterable)#iterable的每个元素必须是两元素的数据对象,就是元组放在列表中offer = dict([('company','huawei')原创 2021-03-18 01:21:51 · 210 阅读 · 0 评论 -
TJ练习题Day01
练习题字符串1,输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)while True: orig_str=input() if orig_str=='stop': #如果输入stop,则停止输入,退出循环 break origstr_lenth=len(orig_str) if origstr_lenth>1: for i in range(1,origstr_lenth,2):原创 2021-03-14 09:45:44 · 364 阅读 · 0 评论 -
Python str类型学习总结(二)
其他title 首字母大写capitalize 每个单词的首字母大写1、字符串is判断系列str.isalnum() 是否是字母和数字组成str.isalpha() 是否只包含字母(空格也不行)str.isdecimal() 是否只包含十进制数str.isdigit()str.iddentifier() 是不是字母和下划线开头,其他啊都是字母、数字、下划线islower() 是否都是小写 isupper() 是否全部大写 isspace() 是否只包含空白字符2、字符串格式化原创 2020-11-30 23:37:19 · 200 阅读 · 1 评论 -
Python str类型学习总结(一)
有序不可变str1=‘i am a student’有序:str1[2:3]不可变>>> s='i am a student'>>> s'i am a student'>>> s.split() #默认按照空白字符+ 分隔['i', 'am', 'a', 'student']>>> s.split('a') #给定分隔符,分隔后,分隔符就不见了['i ', 'm ', ' student']>>原创 2020-10-20 23:58:26 · 23954 阅读 · 3 评论 -
Python元组tuple学习总结
元组是有序的、不可变1、tuple定义i、t=()t1=(2,[1,5],‘a’)ii、元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用iii、t=tuple(iterable) >>>tup1 = (50)>>> type(tup1) # 不加逗号,类型为整型<class 'int'> >>> tup1 = (50,)>>> type(tup1) # 加上逗号原创 2020-09-16 00:50:12 · 453 阅读 · 0 评论 -
三数比较之基础版多种方法(if else判断&max函数&list排序)
输入三个数,依次比较大小,并由小到大打印出来方法一:把6种情况罗列出来,重点是不能漏掉场景a=int(input())b=int(input())c=int(input())if a>b: if b>c: print(c,b,a) else: if a>c: print(b,c,a) else: print(b,a,c)else: if b>c:原创 2020-09-13 01:30:24 · 605 阅读 · 0 评论 -
Python List学习总结
1、定义list不需要先声明list大小list1=[] #定义一个空listlist2=[1,2,3] #定义一个非空list2、list性质: 有序的&可变的,元素类型不必须相同3、list查询①根据值取索引,listname.index(x[, start[, end]]),时间复杂度O(n)#根据值查找其是否为list中的元素,如果是则返回其索引,如果有多个,匹配到第一个,则立即返回其索引;如果没有找到,则抛出异常ValueErrorlist2=[1,2,5,7,2,3原创 2020-09-01 00:22:40 · 216 阅读 · 0 评论 -
变量与深浅拷贝
1、定义一个变量 就会在内存中申请一个地址 ,变量就有了它指向的地址所以在编码过程中 要按需定义变量,节省内存2、赋值及变量比较lis0=list(range(4))print(id(lis0))lis1=lis0 #赋值 是将lis0中的内容赋值给lis1,不重新申请内存地址,lis1与lis0指向同一个地址print(id(lis1))print(lis1==lis0) # = = 是比较两个变量的内容是否相等,结果为Trueprint(lis1 is lis0) #i原创 2020-09-01 00:19:54 · 184 阅读 · 0 评论 -
求素数(质数)基础及进阶
1、判断一个数 是不是素数(质数)n=int(input())m=int(n**0.5)+1#print(m)for i in range(2,m): if n%i==0: print('不是质数') breakelse: print('是质数')2、求10w以内的素数import timeprint(2,end=’ ‘)count=1for n in range(3,100000,2):a=int(n**0.5)for i in r原创 2020-08-24 23:50:01 · 229 阅读 · 0 评论 -
Python基础练习_打印正方形/菱形/闪电
1、打印一个边长为n的正方形n=int(input())for i in range(n): if i==0 or i==n-1: print('*\t'*n) else: print('*\t'+' \t'*(n-2)+'*')2、打印菱形方法一:上下两部分 分开打n=int(input())e=n//2+1#先打印上半部分for i in range(1,e): print((e-i)*' '+(2*i-1)*'*')#再打印原创 2020-08-17 00:11:09 · 1372 阅读 · 0 评论 -
python基础数据类型&循环练习题
这##输入一个正整数 判断是几位数 并依次打印个位 十位 百位。。'''a = input(sum=0fac=1for i in range(1,6):fac*=isum+=facprint(sum)R=float(input())R=int(R)square=(R**2)*3.14line=2*3.14*Rprint(square,line)a='3.5' 不能直接将浮点的字符串转换成int,只能先转换成float 再转换成intprint(int(a))max=0while True:m=input原创 2020-08-16 23:21:43 · 1161 阅读 · 1 评论