Python
文章平均质量分 51
彭同学她同桌
这个作者很懒,什么都没留下…
展开
-
Python-迭代器(iterable)和可迭代对象(iterator)
迭代器是可迭代对象 可迭代对象并不一定是迭代器迭代器迭代器一定包含__iter__和__next__两个方法__iter__返回的是对象本身 self__next__返回下一个数据 数据没有则抛出异常StopIteration迭代器和可迭代对象迭代器只能用一次 可迭代对象可以一直使用iter(map)from collections.abc import Iteratora = {1,2,3}print(isinstance(a,Iterator))#falseiter(a)prin原创 2022-05-20 17:57:56 · 199 阅读 · 0 评论 -
Python-浅拷贝和深拷贝
浅拷贝copycopy拷贝的是整个列表对象里面的内容 而不是列表的引用a = [1,2,3]b = a.copy()a[1] = 4print(a)#[1,4,3]print(b)#[1,2,3]但是嵌套列表是不行的a = [[1,2,3],[4,5,6]]b = a.copy()a[1][1] = 4print(a)#[[1,2,3],[4,4,6]]print(b)#[[1,2,3],[4,4,6]]copy拷贝的只是外层对象 如果包含嵌套对象的话 拷贝的就是他的引用原创 2022-04-05 16:45:26 · 500 阅读 · 0 评论 -
Python-类
类的形式class Student: name#类属性 静态变量被所有类对象共享 def __init__(self,age,city)::#构造函数 这里面的age和city就是每个类对象独有的参数 self.name = 'tom' def fun(sef):#实例方法 print('实例方法') @classmethod def eat(cls):#类方法 print('%s在吃饭',self.name) @staticmethod def method():#这是一个静态原创 2022-03-26 17:18:46 · 839 阅读 · 0 评论 -
Python-函数
函数形式def fun(): print("sadf")参数位置参数def fun(a,b,c):print(a,b,c)fun(1,2,3)# 1,2,3关键词参数def fun(a,b,c):print(a,b,c)fun(a = 2,b = 1,c = 3)# 2,1,3个数可变的位置参数 *a默认a是一个集合形参时def fun(a,b,c): print(a,b,c)a = (1,2,3)fun(a)#这样会报错fun(*a)#1 2 3实参时默认a是原创 2022-03-26 16:45:49 · 959 阅读 · 0 评论 -
Python-字符串
字符串驻留对相同的字符串只保留一份拷贝,后续创建的相同字符串 不会开辟空间 而是把该字符串的地址赋给新创建的变量因为python会把创建的字符串放在字符串池中 需要时就拿出来使用 避免频繁创建和销毁拼接时join比+好 因为join()会先计算出所有字符中的长度再拷贝 只new一次对象a = 'asd'b = "asd"c = '''asd'''a is b# trueb is c# true发生驻留的集中情况1.字符串的长度为0或1时2.符合标识符的字符串(编译器可以忽略这个)a原创 2022-03-25 17:45:24 · 707 阅读 · 0 评论 -
Python-set{}
集合的特点集合中的元素不可重复并且存进去之后是无序的集合可以看成没有value的字典创建s = {1,'sad','21',[2,3]}s = set({1,'sad','21',[1,2,3],(1,2})s = set(1,'sad','21',[1,2,3],(1,2))#这样是不允许的s = set()print(set('python'))#{'y','p','o','n','t','h'} 无序的 而且每次运行都会不一样print(set((1,2,3)))# 3,1,2原创 2022-03-25 17:19:28 · 474 阅读 · 0 评论 -
python-tuple(元祖)()
元组特性元祖是不可变序列元组中存储的是对象的引用如果元组的元素是不可变内容 那么这个元素是不可改变的如果元祖的元素是可改变的 那么只能改变这个元素的数据 但是引用不能改变t = 1,2,[1,2]# 需要加上一个逗号t[1] = 3# 这会报错t[2] = [1,2,3,4]#这样是可以的id(t[2])不会发生改变 t[2] = 3#这样也是会报错 不能改变引用 因为如果你改为3 id(t[2])就会发生改变创建t = ('sda','1122',123)t = 'sda','11原创 2022-03-25 16:14:52 · 895 阅读 · 0 评论 -
python-dict{:}
创建scort = {''张三:100,'李四':200}# 第一种student = dict({''张三:100,'李四':200 )# 第二种items = ['a','b','c']prices = [1,2,3]lst = zip(items,prices)# 第三种d = {item.upper():price for item,price in zip(items,prices)}#第四种 .upper()会让里面的字母都变成大写 如果有一个更多 有一个更少 就会截掉多的那部分原创 2022-03-25 15:37:58 · 462 阅读 · 0 评论 -
python-id
id是什么id(object)函数是返回对象object在其生命周期内位于内存中的地址,id函数的参数类型是一个对象id分配顺序应该是随机分配的变量的id直接获取的是变量的地址a= 3print(id(a))# 2272002769200print(id(3))# 2272002769200很明显 a一定不是一个指针 如果是指针 a的id一定和3不一样那说明a是变量3的一个引用列表的id把列表各个元素看成对元素变量的引用就行 比如lst = [‘ab’,‘cd’,‘ab’] ls原创 2022-03-24 18:00:14 · 1896 阅读 · 0 评论 -
Python-list[]
indexlis = ['ab','cd','ab',2]print(lis.index('ab'))#0 从索引低往高找print(lis.index('ab',1,3))#2print(lis.index('ab',1,2))#报错增加元素切片(也可以添加元素)切片结果是原列表的一个拷贝默认步长1lis = ['ab','cd','ab',2,'q','w','e']print(lis[0:3:2])#ab ab print(lis[3:0:-1])#2 ab cd 这个时候原创 2022-03-24 16:24:39 · 426 阅读 · 0 评论 -
python-基础
print()print('sad')#会自动换行print('asd','bb','sdf')#这样就是在一行里print('dsa\nfff')#换行符 \n用二进制进行输出输入二进制 0b八进制 0o十六进制 0xprint(chr(0b111))#0b表示二进制 chr表示按字符输出print(ord('乘'))#ord表示字符按十进制输出 结果输出到文件中fp=open('D:/text.txt','a+')#a+如果文件不存在就创建 存在就在内容后面追加print(原创 2022-03-22 18:00:15 · 243 阅读 · 0 评论 -
Python初学数据类型(包含时间库)
数据类型二进制:以0b或0B开头:-0b010八进制:以0o或0O开头:0o123十六进制:以0x或0X开头:0x9a10/3=3.333333333333335 而 x//y是整除 10//3=3x**y幂运算 x的y次幂 当y是小数的时候就是开方运算整数-》浮点数-》复数 这是逐渐扩展的过程 不同类型之间进行运算生成的结果是最宽的类型 例如整数+浮点数=浮点数字符串与整数的乘积表示字符串被复制的次数 例如a = '’ * i 就是a这个变量里面含有i个函数:次方函数:pow(x,原创 2020-05-23 15:02:14 · 212 阅读 · 0 评论 -
Python初学集合(元组,列表,字典)
集合集合是无序不重复的A = {“python”,123,“python”,123} 使用{}建立集合这个A集合里面就是{123,‘python’,(‘python’,123)}b = set(“pypy123”) 使用set()建立集合这个b集合是{‘1’,‘p’,‘2’,‘3’,‘y’}集合操作符s|t 返回一个新集合 包括在集合s和t中的所有元素s-t 返回一个新集合 包括在集合s但不在t中的元素s&t 返回一个新集合 包括同时在集合s和t中的元素s^t 返回一原创 2020-05-23 15:01:15 · 283 阅读 · 0 评论 -
Python初学函数
函数def fact(n): def是函数的开头 fact是函数名 n是参数xxxreturn s 返回值def fact(n,m=1): n是必选参数 m=1是可选参数 就是可以 fact(10) 也可以 fact(10,5) m可以被赋值 也可以默认值def fact(n,*b):s=1for i in range(1,n-1)s *= ifor item in b:s *=itemreturn s return也可以返回多个返回值 return s//m,n,m原创 2020-05-23 15:00:17 · 1578 阅读 · 0 评论 -
Python初学随机数
随机函数import randerrander.seed(10)设置随机数种子为10 随机数种子会影响随机数生成的序列 如果随机数种子不变 则每次生成的随机数种子都会一样 如果不设置随机数种子 则默认随机数种子为系统时间rander.rander() 生成一个[0.0,1.0]之间的随机小数rander.randint[a,b]生成一个[a,b]之间的随机整数rander.randrange(10,100,10)生成一个(10,100)之间的以第三个参数10为步长的随机整数rander.getr原创 2020-05-23 14:59:45 · 234 阅读 · 0 评论 -
Python初学循环语句
循环语句for i in range(5):print(i)结果是 0 1 2 3 4for i in range(1,6):print(i)结果是 1 2 3 4 5for i in range (1,6,2)结果是 1 3 5 那个2就是隔两个for c in “python123”print(c,end=’,’)结果是 p,y,t,h,o,n,1,2,3,for item in [123,“py”,456]:print(item,end=",")结果是123,py,456,原创 2020-05-23 14:59:14 · 491 阅读 · 0 评论 -
Python初学异常处理
异常处理try:num = eval(input(“请输入一个整数”))print(“num**2”)except:print(“输入的不是整数”) 如果try里面的语句出现异常则会执行except里面的语句try:语句块1except:语句块2else:语句块3finally:语句块4 finally里面的语句4一定会执行 else的语句3是在try里面的语句不出异常 也就是except里面的语句不执行的情况下就会执行...原创 2020-05-23 14:58:48 · 344 阅读 · 0 评论 -
Python初学最基础
#开头为单行注释‘’'三个单引号开头和结尾为多行注释变量命名规则:python识别大小写区别 首字符不能是数字 不能与保留字相同(就是python内部定义好了的)如果想告诉计算机 这是三个数字 就用列表类型[10,011,101]如果输入一串字符串进变量 比如 a=input(“请输入带有符号的温度值”) 0 1 2那么如果你输入58F 则a就会是字符串 58F 而这个字符串可以被这样看 5 8 F 这样规定字符串序号-3 -2 -1所以a[-1]原创 2020-05-23 14:57:19 · 206 阅读 · 0 评论