
python初级
文章平均质量分 81
"追风者"
这个作者很懒,什么都没留下…
展开
-
python全栈学习记录(一) 计算机基础
操作系统位于计算机硬件与应用软件之间,是一个协调、管理、控制计算机硬件资源与软件资源的控制程序。操作系统把对硬件的复杂的操作封装成优美简单的接口(文件),给用户或者应用程序去使用。平台即计算机硬件+操作系统,常见的平台有windows,linux和mac。硬盘容量大,断电数据不会丢失,但是速度慢。内存速度快,但是容量小,断电数据会丢失。原创 2024-07-28 20:41:25 · 191 阅读 · 0 评论 -
python全栈学习记录(二)编程语言的特点与python的运行
高级语言又可分为编译型语言和解释型语言。编译型语言如c、go等,意思是需要编译成可执行文件以后才能运行的语言;解释型语言如python、shell等,意思是将程序的代码逐行解释为计算机可以理解的二进制指令,一行代码解释完以后才会运行下一行的代码。编译型语言的执行效率比解释型语言快,但是开发效率不如解释型语言。一般而言解释型语言拥有较高的跨平台性。注:只有第三个阶段才识别python的语法。python的注解分为单行注解和多行注解。缺点:无法永久保存代码。优点:可以永久保存代码。原创 2024-08-02 19:10:03 · 281 阅读 · 0 评论 -
python全栈学习记录(三)变量、数据类型和内存管理
在python中变量名和变量值内存地址的关联关系存放在栈区,而变量值存放在堆区,内存管理回收的是堆区的空间。若改变上方代码中x的值,使其变为100,也就是把100的内存地址存储到了x中,如下图所示。python变量中存储的是值的内存地址,同样的列表、字典等类型中存储的也是值的内存地址。左侧的age为变量名,中间的=表示赋值符号,右侧的18为赋给变量的具体数值。间接引用指的是从栈区出发后,还要再进一步的引用才能引用出内存地址中的值。直接引用指的是从栈区出发直接可以引用的内存地址中的值。原创 2024-08-19 16:11:02 · 894 阅读 · 0 评论 -
python全栈学习记录(四)用户交互和运算符
多个print函数打印值时,默认会在终端以换行作为多次打印值之间的间隔,当改变print函数的end参数时会改变多次打印值之间的间隔,如print(1,end=‘#’) print(2)输出为1#2。print函数可以一次输入多个值,这些值之间默认会以空格作为间隔符,当改变print函数中的sep参数时,print输出的间隔符也会改变,如print(1,2,3,sep=‘#’)输出为1#2#3。对于一些常见的运算符这里就不在过多介绍了。原创 2024-08-23 16:24:43 · 402 阅读 · 0 评论 -
python全栈学习记录(五)流程控制
程序的运行可以分成三种结构:顺序结构、分支结构和循环结果。原创 2024-08-30 15:42:16 · 399 阅读 · 0 评论 -
python全栈学习记录(六)数字、字符串
单引号 a = '123' #双引号 b = "456" #三引号,可以定义多行字符串 '''123456789'''原创 2024-08-31 00:00:25 · 723 阅读 · 0 评论 -
python全栈学习记录(七)列表、元组
列表、元组文章目录列表、元组一、列表1.list的使用2.列表的索引与切片3.列表的内置函数二、元组1.tuple的使用2.元组的索引与切片3.元组的内置函数一、列表作用:存放多个数据定义方式:a=[1,2,3]#列表内也可以嵌套列表,元组,字典和集合b=[1,[1,2],{1:2},(1,2),{1,2,3}]1.list的使用list函数可以将可迭代对象转换为列表类型。list({'name':'Tom','age':25})<<<['name','age']原创 2024-09-01 19:24:55 · 1034 阅读 · 0 评论 -
python全栈学习记录(八)字典、集合
setdefault(key,default)函数可以获取指定key的value,如果可以不存在则会添加键值对key:default(default默认值为None)pop(key,default)函数可以删除字典的键值对,并返回键值对的值,如果指定的key不存在,则返回efault。get(key,default)函数可以获取指定key的value,如果指定的可以不存在则返回default。update()函数可以将新字典中的键值对更新到原字典中,如果新字典中的键在原字典存在,则会覆盖原字典的值。原创 2024-09-02 20:10:29 · 368 阅读 · 0 评论 -
python全栈学习记录(九)数据类型总结、深拷贝与浅拷贝、字符编码
不可变类型:当数据内部值变化时,数据的内存地址也必定会发生变化。可变类型:当数据内部值变化时,数据的内存地址不会发生变化。如上图所示有列表x=[10,100],y=10。如果改变列表的值x[1]=10本质只是改变了列表中第1个位置存储的内存地址,而并没有改变列表的内存地址(也就是x中的地址),所以列表是可变类型。而如果改变y的值y=100,本质就是把y中关联的内存地址变成了#3,改变了内存地址,所以数字类型是不可变类型。数据类型可变与不可变有序与无序元素是否可重复数字类型不可变字符串。原创 2024-09-04 18:20:18 · 974 阅读 · 0 评论 -
python全栈学习记录(十)文件处理
文件是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,当我们需要读写文件时,就是对操作系统发起请求,然后由操作系统将用户或者应用程序对文件的读写操作转换成具体的硬盘指令。因为内存无法永久保存数据,但凡我们想要永久保存数据都需要保存到硬盘中,而操作文件就可以实现对硬件的操作。原创 2024-09-05 21:24:55 · 736 阅读 · 0 评论 -
python全栈学习记录(十一)函数
在程序中,函数就具备某一功能的工具。事先将工具准备好即函数的定义,遇到应用场景拿来就用即函数的调用。函数的使用必须遵循先定义,后调用的原则程序冗长程序的扩展性差程序的可读性差#函数定义阶段def func(参数1,参数2,...):'''函数的描述'''函数体return 值#函数调用阶段func表示函数名,()里面的是函数的参数,函数的描述一般记录函数的功能(非必要),return后为函数的返回值。func(a,b,…)表示调用函数并将参数传给函数。原创 2024-09-07 19:35:15 · 913 阅读 · 0 评论 -
python全栈学习记录(十二)函数的名称空间与作用域
需要注意的是只有在函数内修改变量的值时,解释器才会把这个变量的作用域定在函数的局部名称空间内。但是当我们去修改可变类型值时,一般修改的是可变类型内部的值,而不是修改变量与可变类型的绑定关系,所以函数内部修改了值也会影响到处于全局中的可变类型。上面的代码中,即便在f2函数中修改了x的值,但是当f1定义阶段结束f1函数的作用域已经定下了,其查找顺序为f1的内部名称空间,全局名称空间,与f2内部的名称空间没有任何关系。全局作用范围,全局作用域(内置名称空间与全局名称空间)局部作用范围,局部作用域(局部名称空间)原创 2024-09-10 18:57:29 · 410 阅读 · 0 评论 -
python全栈学习记录(十三)闭包函数与装饰器
当python解释器运行至@count_time处,实质上解释器已经帮你将func传入count_time函数并返回wrapper函数的地址,当调用func(2)时本质上调用的是传入func值以后的wrapper函数。为什么要用装饰器:软件的维护应该遵循开放封闭原则,开放封闭原则指的是:软件一旦上线运行后对修改源代码是封闭的,对扩展功能的是开放的。同样的@authorized(‘file’)这行代码会运行装饰器外面的两层函数,返回wrapper函数的地址赋给func变量。闭指的是:该函数是一个内部函数。原创 2024-09-12 18:46:18 · 649 阅读 · 0 评论 -
python全栈学习记录(十四)迭代器和生成器
执行迭代器对象的__next__方法可以取出迭代器中的一个值,当迭代器中值取完以后再执行__next__方法会报StopIteration。迭代器的__iter__方法是为了符合for语句原理而存在的,for语句工作时每次都会调用到对象的__iter__方法。在python中但凡内置有__iter__方法的对象都是可迭代的对象,如字符串、列表、元组、字典、集合、文件等都是可迭代的对象。迭代器即迭代取值的工具,迭代是一个重复的过程,每一次重复都是基于上一次的结果而来,迭代的目的通常是为了取得某一想要的结果。原创 2024-09-14 19:54:54 · 776 阅读 · 0 评论 -
python全栈学习记录(十五)函数递归、函数式与其他函数
上述代码中的lambda表示匿名函数,x,y表示匿名函数的变量,:后的x+y表示匿名函数的计算过程,匿名函数加上(1,2)表示调用匿名函数并传递参数,返回值赋给res变量。sorted(iterable,reverse,key)将可迭代对象中的值按key函数规则排序,reverse为True表示降序,为False表示升序,默认为False。若只写res=lambda x,y:x+y 表示将匿名函数的函数地址传给res变量,只需res(1,2)就可以调用刚刚的匿名函数并返回计算结果。原创 2024-09-19 19:44:54 · 796 阅读 · 0 评论 -
python全栈学习记录(十六)模块与包
执行m.py文件会先打印m,然后开始导入n模块,运行n模块的代码。在n模块的代码中打印n,并导入m模块,运行m模块的代码。再次运行m模块的代码时打印m,由于此前已经运行过n的代码了,所以此次之行m模块的代码不会在运行n模块的代码,而from n import x又要去导入x变量,目前的名称空间不存在x变量,最后报错。from 模块名 import 具体的功能时,解释器会将模块中的变量直接导入当前的名称空间中,若是当前名称空间中存在与导入功能重名的变量,后导入的变量会将之前的变量覆盖。原创 2024-09-20 19:29:26 · 632 阅读 · 0 评论 -
python全栈学习记录(十七)logging、json与pickle、time与datatime、random
json保存的数据可以与多种语言交互,但是它只支持python部分的类型,如字典、列表、元组、字符串、数字、True、False、None等。pickle只能用于python语言,但是它支持python的所有数据类型。json、pickle模块的作用是将数据序列化。logging模块用来记录日志信息。注:一个文件一般只存一个json数据。random模块通常用来取随机数。原创 2024-09-21 19:11:33 · 654 阅读 · 0 评论 -
python全栈学习记录(十八)re、os和sys、subprocess
在正则字符传入python解释器的过程中会经历两次转义过程,第一次是作为python字符串的转义,第二次是作为正则字符的转义,例如‘12\b’python会把字符转义为’12\x08’(\x08表示退格)传给正则模块,然后正则模块匹配’12\x08’。在非返回match对象的一些函数中()表示只输出括号中匹配的内容(匹配边界),若一组正则字符中出现多个()会将一次匹配到的内容放入一个元组中。re.sub(正则字符,替换字符串/函数地址,字符串,flag)表示按正则匹配规则替换字符串中的字符。原创 2024-09-24 19:52:24 · 709 阅读 · 0 评论 -
python全栈学习记录(十九) hashlib、shutil和tarfile、configparser
hash是一种算法,该算法接受传入的内容,经过运算得到一串hash值。如果把hash算法比喻为一座工厂,那传给hash算法的内容就是原材料,生成的hash值就是生产出的产品。由于只使用加密算法加密的数据容易被破解出来,一般对密码的加密操作中,还会进行加盐操作,在python中可以使用hmac模块完成此操作。基于1和2可以在下载文件时做文件一致性校验,基于1和3可以对密码进行加密。tarfile库包含一些对tar文件的操作,例如解压缩.tar.gz。shutil模块常用来进行文件操作。原创 2024-09-25 12:48:27 · 479 阅读 · 0 评论