python学习
秃头披风侠2023
这个作者很懒,什么都没留下…
展开
-
字典类型及操作
集合中的每一个元素就是一个基本元素,它不是一个键值对,而字典种的每一个元素他是一个键值对,我们在集合类型中要求大家如果生成一个空的集合类型不能使用空的大括号的方式,这是因为空大括号的方式是默认用来生成字典的,因为字典类型在计算机编程中会非常常用,所以把大括号空的形式保留给了生成空字典类型来使用,如果想生成空的集合类型,那就使用set函数。 = {:,:,...,:}{:,:,...,:}原创 2023-08-17 17:19:08 · 89 阅读 · 0 评论 -
基本统计值计算问题分析
print("平均值:{},方差:{:.2},中位数:{}.".format(m,dev(n,m),dedian(n)))-中位数:将所有元素进行排序,如果这些元素是奇数个就找到最中间的那个,如果是偶数就找中间的两个取平均值。iNumStr = input("请输入数字(回车退出):")iNumStr = input("请输入数字(回车退出):")总个数、求和、平均值、方差、中位数。-方差:各数据与平均数差的平方的和的平均数。-分隔多个函数:模块化设计方法。-平均值:求和/总个数。-总个数:len()原创 2023-08-17 17:01:14 · 58 阅读 · 0 评论 -
序列类型应用场景
如果由多人共同完成一段程序,我们又不希望我的这段数据通过某些变量被修改,那么可以要求程序之间的接口采用元组形式来传递,这样就可以达到一定保护数据的目的。-元组用于元素不改变的应用场景,更多用于固定场景搭配。这样后续的程序无论怎么杨操作都不会改变他的数据值。-最主要作用:表示一组有序数据,进而操作它们。-如果不希望数据被程序所改变,转换成元组类型。-列表更加灵活,他是最常用的序列类型。这样的应用更主要的是对数据的表达。原创 2023-08-16 10:15:58 · 90 阅读 · 0 评论 -
列表类型及操作
列表类型定义列表是序列类型的一种扩展,十分常用-列表是一种序列类型,创建后可以随意被修改-使用方括号[]或list()创建,元素间用逗号,分隔-列表中各种元素类型可以不同,无长度限制>>> ls = ["cat", "dog", "tiger", 1024]>>> ls['cat', 'dog', 'tiger', 1024]>>> lt = ls>>> lt['cat', 'dog原创 2023-08-16 10:05:01 · 90 阅读 · 0 评论 -
元组类型操作
color[-1]会索引到creature这个元素上,由于creature也是一个元组类型,它可以继续使用[2],继续使用他的第二个元素所以返回tiger。>>> creature[::-1] #进行切片时不改变原有creature变量里的值,而是生成新的元组值。color是由creature和另外两个元素组成的元组,我们使用方括号进行索引操作。-元组是一种序列类型,一旦创建就不能被更改。元组类型继承了序列类型的全部通用操作。-元组继承了序列类型的全部通用操作。原创 2023-08-09 14:21:53 · 120 阅读 · 0 评论 -
序列处理函数及方法
如果x是序列s的元素,返回True,否则返回Flase。如果x时序列s的元素,返回Flase,否则返回True。切片,返回序列s中第i到j以k为步长的元素子序列。返回序列s从i开始到位置中第一次出现元素x的位置。索引,返回s中的第i个元素,i是序列的序号。返回序列s的最小元素,s中元素需要可比较。返回序列s的最大元素,s中元素需要可比较。s[i:j]或s[i:j:k]返回序列s中出现x的总次数。序列类型通用函数和方法。s.index(x)或。原创 2023-08-08 18:20:41 · 109 阅读 · 0 评论 -
序列类型的定义
类似数学元素序列:s0,s1,...,sn-1。-元素间由序号引导,通过下标访问序列的特定元素。-序列是一维元素向量,元素类型可以不同。序列是具有先后关系的一组元素。原创 2023-08-08 18:13:51 · 64 阅读 · 0 评论 -
集合类型应用场景
简单说我们有一组数据,怎么判断某一组数据或其他他一组数据食肉在这个数据中,这时候我们要用集合方式来表达这组数据,并且对另外的数据或一组数据与这组数据的关系进行比较。>>> lt = list(s) #将集合转换为列表。>>> s = set(ls) #利用了集合无重复元素的特点。数据去重:利用了集合中所有元素不能重复的特点,对一组数据中重复的元素进行删除。原创 2023-08-08 14:52:29 · 46 阅读 · 0 评论 -
集合处理方法
A.pop可以从集合A中取出一个元素,不断地取出,如果当A中的元素不存在,也就是A为空集合的时侯,那么A.pop将会产生一次异常,那么这个异常会被try except捕捉到,程序可以正常退出。所以这段代码做的事情是,从A中不断取出元素打印出来,当A中的元素为空时,程序退出。判断S中元素x,x不在集合S中,返回True,否则返回False。判断S中元素x,x在集合S中,返回True,否则返回Flase。移除S中元素x,如果x不在集合S中,产生KeyError异常。移除S中元素x,如果x不在集合S中,不报错。原创 2023-08-08 11:29:46 · 69 阅读 · 0 评论 -
集合操作符
返回True/False,判断S和T的子集关系。返回True/Flase,判断S和T的包含关系。返回一个新集合,包括在集合S和T中的所有元素。返回一个新集合,包括在集合S但不在T中的元素。返回一个新集合,包括同时在集合S和T中的元素。返回一个新集合,包括集合S和T中的非相同元素。更新集合S,包括在集合S和T中的所有元素。更新集合S,包括在集合S但不在T中的元素。更新集合S,包括同时在集合S和T中的元素。更新集合S,包括集合S和T中的非相同元素。S <= T 或 S < T。S >= T 或 S > T。原创 2023-08-07 11:11:13 · 34 阅读 · 0 评论 -
集合类型的定义
>>A = {"python",123,("python",123)} #使用{}建立集合。>>> B = set("pypy123") #使用set建立集合。-集合元素之间无序,每个元素唯一,不存在相同元素。-集合用大括号{}表示,元素间用逗号分隔。-集合元素不可更改,不能是可变数据类型。-建立空集合类型,必须使用set()-集合用大括号表示,元素间用逗号分隔。-集合中每个元素唯一,不存在相同元素。-建立集合类型用{}或者set()-集合类型与数学中的集合概念一致。原创 2023-08-07 10:24:11 · 40 阅读 · 0 评论 -
科赫雪花小包裹问题分析
取一个长度为s的直线,取他的三分之一长度,去掉中间一部分,用另外两条线连着,两条线之间为60°,利用4根三分之一直线。koch(600,3) #3阶科赫曲线,阶数。level = 3 #3阶科赫雪花,阶数。-修改科赫曲线的基本定义及旋转角度。-修改科赫雪花的基础框架图形。-递归思想:函数+分支。-递归链条:线段的组合。-修改分形几何绘制阶数。科赫曲线也叫雪花曲线。-递归基例:初识线段。原创 2023-08-03 11:13:25 · 333 阅读 · 0 评论 -
Pyinstaller库的使用
出现警告类似You are using pip version 10.0.1, however version 23.2.1 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command.时,说明有新的pip版本,-.py文件----->Pyinstaller ------> -Linux。cmd命令行:pyinstaller -F <文件名.py>原创 2023-08-02 11:19:41 · 65 阅读 · 0 评论 -
py函数递归
函数 + 分支结构。-假设当nk时命题成立,证明当n=nk+1时命题也成立。-基例:存在一个或多个不需要再次递归的基例。-递归本身是一个函数,需要函数定义方式描述。-函数内部,采用分支语句对输入参数进行判断。函数定义中电泳函数函数递归自身的方式。-递归是数学归纳法思维在编程中的体现。-证明当n取第一个值n0时成立。-基例和链条,分别编写对应代码。-链条:计算过程存在递归链条。将字符串s反转后输入。原创 2023-08-02 10:31:38 · 42 阅读 · 0 评论 -
代码复用与模块化设计
代码抽象化:使用该函数等方法对代码赋予更高级别的定义。-通过函数或对象封装将程序划分为模块及模块之间的表达。-分而治之:一种分而治之、分层抽象、体系化的设计思想。-代码资源化:程序代码是一种用来表达计算的“资源”-代码复用:同一份代码在需要时可以被重复使用。-具体包括:主程序、子程序和子程序之间的关系。-紧耦合:两个部分之间交流很多,无法独立存在。-松耦合:两个部分之间交流很少,可以独立存在。函数 和 对象 是代码复用的两种主要形式。<a>.<b>和<a>.<b>()-模块内部紧耦合、模块之间松耦合。原创 2023-08-02 10:30:30 · 72 阅读 · 0 评论 -
三元表达式
print(y) --------> 输出:Even。使用三元表达式可以在简短的代码中做出条件判断,并根据判断结果赋值给变量或执行其他操作。具体来说,当条件满足时,返回value_if_true的值;当条件不满足时,返回value_if_false的值。在上面的示例中,如果x是偶数,则将字符串'Even'赋给变量y;三元表达式是一种简洁的条件表达式,用于根据条件选择不同的值。原创 2023-07-19 10:53:42 · 587 阅读 · 0 评论 -
七段数码管绘制
定义了一个主函数main(),在这个函数中设置了绘制窗口的大小(setup()),将画笔抬起(penup()),向左移动300个像素(fd(-300)),设置画笔的大小为5个像素(pensize(5)),调用drawDate()函数绘制日期字符串对应的数字,隐藏海龟图标(hideturtle()),最后调用turtle模块的done()函数以结束程序。根据不同的数字,通过调用drawLine()函数来绘制对应的数码管段。drawDigit(eval(i)) # 通过eval()函数将数字变为整数。原创 2023-07-18 10:53:13 · 759 阅读 · 0 评论 -
lambda函数
return <返回值>-lambda函数是用与定义简单的,能够在一行内表示的函数。<函数名> = lambda <参数>: <表达式>>>>f = lambda : "lambda函数"-lambda函数是一种匿名函数,即没有名字的函数。-lambda函数主要用作一些特定函数或方法的参数。-lambda函数有一些固定使用方式,建议逐步掌握。-使用lambda保留字定义,函数名是返回结果。-一般情况,建议使用def定义的普通函数。谨慎使用lambda函数。原创 2023-07-18 10:52:21 · 53 阅读 · 0 评论 -
局部变量和全局变量
如果一个组合数据类型在函数中被真实创建了,那么他就是这个函数的局部变量了,所以如果是局部变量,那么在函数运行之后这个变量就会被释放,它就不存在了,他跟外部的全局变量ls是不同的变量,那么如果这个组合类型在函数内部没有被真实的创建他的名字又与全局变量相同,那他就是全局变量。、如果我们在函数定义中使用了一个组合数据类型,如果这个组合数据类型,比如这个列表ls,如果在函数内部被真实创建,他本身的名字又等同于全局变量,那么这段函数就是在处理这个全局变量。-组合数据类型,如果局部变量未真实创建,则是全局变量。原创 2023-07-18 10:51:49 · 64 阅读 · 0 评论 -
函数的返回值
最后,通过返回表达式 s // m, n, m,返回了计算得到的阶乘结果 s 除以 m 的商,以及输入的参数 n 和 m。的结果,即 120,然后返回 (60, 5, 2)。这段代码定义了一个名为 fact 的函数,它计算一个数的阶乘,并返回结果以及输入的参数。函数接受两个参数:n 和 m,其中 n 是必需的,而 m 是一个可选参数,默认值为 1。请注意,函数返回的结果是一个元组,包含三个值:阶乘的商、参数 n 和参数 m。-函数可以有返回值,也可以没有,可以有return,也可以没有。原创 2023-07-18 10:51:05 · 97 阅读 · 0 评论 -
函数的参数传递
在上述示例中,函数 greet 定义了一个必需参数 name 和一个可选参数 message。这样,当我们调用 greet("Alice") 时,输出为 "Hello, Alice!",而调用 greet("Bob", "Hi") 时,输出为 "Hi, Bob!可选参数在函数定义中允许你为一个或多个参数指定默认值,这意味着在调用函数时可以省略这些参数。请注意,在函数定义中,可选参数通常需要位于必需参数之后。这是因为在函数调用时,如果省略了可选参数,解释器会按照参数定义的顺序自动为其赋予默认值。原创 2023-07-18 10:50:35 · 56 阅读 · 0 评论 -
函数的调用
在上述示例中,我们定义了一个函数 add_numbers,它接收两个参数 a 和 b,然后返回它们的和。需要注意的是,在函数调用时,提供的实际参数数量、顺序和类型必须与函数定义中的形式参数相匹配,否则可能会导致错误。其中,函数名 是要调用的函数的名称,参数列表 是传递给函数的实际参数的值。如果函数有多个参数,可以根据参数的定义顺序在参数列表中提供相应的实际参数值。函数的调用是指通过函数名和实际参数将程序控制权转移给函数,以执行函数体内的代码。fact(10) 函数的调用。-实际参数替换定义中的参数。原创 2023-07-18 10:50:04 · 44 阅读 · 0 评论 -
函数的定义和使用
print("工作日的努力参数是 :{:.3f}".format(dayfactor))-函数定义时,参数是输入,函数体是处理、结果是输出(IPO)-函数是一种功能的抽象,一般函数表达特定功能。-函数是一段具有特定功能的、可重用的语句组。>>>工作日的努力参数是 :0.01 9。-函数定义时,所指定的参数是一种占位符。-函数定义后,如果不经过调用,不会被执行。-两个作用:降低编程难度和代码复用。return <返回值>函数是一段代码的表k示。函数是一段代码的表示。原创 2023-07-18 10:49:33 · 53 阅读 · 0 评论 -
程序的循环结构
for...in 遍历循环:计数、字符串、列表、文件...-continue和break保留字:退出当前循环层次。-循环else的高级用法:与break有关。-while无限循环。原创 2023-07-18 10:48:25 · 29 阅读 · 0 评论 -
程序的分支结构
height,weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))-异常处理try-except-else-finally。who, nat = "正常", "正常"-多分支 if-elif-else及条件之间关系。who,nat = "偏瘦", "偏瘦"-单分支if 二分支if-else及紧凑形式。who,nat = "正常","偏胖"who,nat = "偏胖","偏胖"who,nat = "偏胖","肥胖"原创 2023-07-18 10:47:53 · 31 阅读 · 0 评论 -
数字类型及操作
+、-、*、/、//、%、**、二元增强赋值操作符。-浮点数类型的近似无限范围、小尾数及科学计数法。-整数类型的无限范围及4中进制表示。原创 2023-07-18 10:47:21 · 33 阅读 · 0 评论 -
实例4:文本进度条
例如,在循环进行到40%时,`c` 的值为40,星号 `*` 重复了4次赋值给 `a`,点号 `.` 重复了6次赋值给 `b`。print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='') ---->\r实现光标向行首移动。进度条的实际效果是通过将进度条已完成部分的字符串 `a` 和尚未完成部分的字符串 `b` 替换到格式化字符串中的花括号 `{}` 中实现的。1. 打印"------执行开始------"作为任务开始的提示信息。原创 2023-07-17 10:06:21 · 404 阅读 · 0 评论 -
Python程序计时
>>wait() #程序将等待3.3秒后再退出。由于这个计数值起点不确定,连续调用差值才有意义。返回一个CPU级别的精确时间计数值,单位为秒。-程序计时指测量起止动作所经历时间的过程。-测量时间:perf_counter()s拟休眠时间,单位是秒,可以是浮点数。-产生时间:sleep()原创 2023-07-17 10:05:26 · 56 阅读 · 0 评论 -
时间格式化
strptime()和strftime()是互补关系。monday~Sunday,例如:Wednesday。January~December,例如:April。-格式化:类似字符串格式化,需要有展示模板。tpl是格式化模板字符串,用来定义输出效果。0000~9999,如:1900。Jan~Dec,例如:Apr。Mon~Sun,例如:Wed。01~12,例如:10。01~31,例如:25。00~23,例如:12。AM/PM,例如:PM。00~59,例如:26。00~59,例如:26。01~12,例如:7。原创 2023-07-17 10:04:28 · 43 阅读 · 0 评论 -
time库的使用
time库是python中处理时间的标准库。-提供系统级精确计时功能,用于程序性能分析。获取当前时间戳,即计算机内部时间值,浮点数。获取当前时间,表示为计算机可处理的时间格式。获取当前时间并以易读方式表示,返回字符串。-提供获取系统时间并格式化输出功能。原创 2023-07-17 10:03:23 · 32 阅读 · 0 评论 -
format()方法的格式控制
{<参数序号>:<格式控制标记>}槽内部对格式化的配置方式。原创 2023-07-17 10:02:53 · 65 阅读 · 0 评论 -
字符串类型的格式化
原创 2023-07-17 10:01:10 · 41 阅读 · 0 评论 -
字符串处理方法(重要 )
在iter变量除最后元素外每个元素后增加一个str",".join("12345")结果为"12345" 主要用于分隔字符串。"python".center(20,"=")结果为'=======python======='"python".replace("n","n123.io")结果为python123.io。"A,B,C".split(",")结果为['A','B','C']"= python= ".strip(" np")结果为“ytho”返回子串sub在str中出现的次数。原创 2023-07-17 10:00:02 · 100 阅读 · 0 评论 -
Unicode编码
Unicode编码是python字符串的编码形式,在py3中所有的字符串所有的python代码都是使用Unicode编码实现的。-从0到1114111 (0x10FFFF)空间,每个编码对应一个字符。-python字符串中每个字符都是Unicode编码字符。-统一字符编码,即覆盖几乎所有字符的编码方式。python字符串的编码方式。原创 2023-07-17 09:59:31 · 58 阅读 · 0 评论 -
字符串的操作符
如果x是s的子串,返回True,否则返回Flase,是判断x是否在s里的一种操作。str(1.23)结果为"1.23" str([1,2])结果为"[1,2]"hex(425)结果为"0x1a9" oct(425)结果为"0o651"u为Unicode编码,返回其对应的字符。x为字符,返回其对应的Unicode编码。整数x的十六进制或八进制小写形式字符串。-输出:输入整数对应的星期几字符串。-输入:1-7的整数,表示星期几。任意类型x所对应的字符串形式。hex(x)或oct(x)长度,返回字符串x的长度。原创 2023-07-17 09:59:01 · 40 阅读 · 0 评论 -
字符串的特殊字符
"\b"回退(使当前光标向前回退一个位置) "\n"换行(光标移动到下行首) "\r"回车(光标移动 到本行首)”这里有个双引号(\")“结果为这里有个双引号(")-转义符形成一些组合,表达一些不可打印的含义。原创 2023-07-17 09:57:31 · 98 阅读 · 0 评论 -
字符串的使用
〇一二三四五六七八九十"[::-1]结果是“十九八七六五四三二一〇“ ------>指字符串从最开始到最结尾M,N没有给出来,默认缺失的情况下,表示至开头和至结尾,然后步长为-1,表示从后向前逐一的取出从开始到结尾的所有字符串。“〇一二三四五六七八九十"[1:8:2]结果是“一三五七” ---->指从第一位置开始到第8位置前结束,以步长为2 来获得其中的字符形成字符串的形式。“请输入带有符号的温度值”[1:3]或者 TempStr[0:-1]-<字符串>[M:N:K],根据步长K,对字符串切片。原创 2023-07-14 14:31:19 · 41 阅读 · 0 评论 -
字符串类型及操作
如果在程序中出现了一个字符串,这个字符串并没有给到某个变量中,或者这个字符串没有进行任何操作,他也可以当作一个注释来用。反之,如果在你的字符串中希望使用单引号,那么两侧可以使用双引号来表示字符串,这样其中的单引号就会被当作字符。我们可以使用三个单引号作为字符串的表示,那么其中出现的一个单引号或者一个双引号就变成了字符串的字符。如在在字符串中出现双引号,最外层的引号要使用单引号,这样中间出现的双引号就会被当作字符来处理。'''这里既有单引号(')又有双引号(")'''正向递增序号和反向递减序号。原创 2023-07-14 14:30:48 · 51 阅读 · 0 评论 -
数值运算函数
int(123.45)结果为123;int("123")结果为123。pow(3,pow(3,99),10000)结果为4587。最大值,返回值x1,x2,...xn中的最大值,n不限。最小值,返回值x1,x2,...xn中的最小值,n不限。round(-10.123,2)结果为-10.12。幂余,(x**y)%z,[..]表示参数z可省略。商余,(x//y,x%y),同时输出商和余数。divmod(10,3)结果为(3,1)max(1,9,5,4,3)结果为9。min(1,9,5,4,3)结果为1。原创 2023-07-14 14:30:05 · 64 阅读 · 0 评论 -
数据类型。
例如:4.3e-3值为0.0043 9.6E值为960000.0。-不确定尾数一般发生在10的-16次方左右,round()十分有效。-round(x,d) : 对x四舍五入,d是小数截取位数。-pow(x,y)函数:计算x的y次方,想算多大算多大。-二进制,以0b或0B开头:0b010,-0B101。-八进制,以0o或0O开头:0o123,-0O456。-十六进制,以0x或0X开头:0x9a,-0X89。<a>e<b> 表示a*10的b次方。-十进制: 1010,99,-217。原创 2023-07-14 14:29:23 · 59 阅读 · 0 评论