
python
文章平均质量分 84
烟水孤鸿
这个作者很懒,什么都没留下…
展开
-
Python-小知识
变量名必须是一个有效的标识符变量名不能是保留字字母i和字母O慎重使用尽可能使用变量名来表达出它所传达的数据或者易识别变量赋值通过等号来实现变量名 = miu;由于Python是动态语言,所以变量的类型取决于赋值时的数据类型。>>>ngg="你还在?type()是内置函数,可以返回变量类型id()是内置函数,用于查询变量的内存地址Python支持多个变量指向同一个值。原创 2024-03-14 07:07:58 · 973 阅读 · 0 评论 -
Python——图形用户界面
不提供任何参数时,pack从窗口顶部将控件堆叠成一列,并让它们在窗口中水平居中。要让控件在x或y方向上填满分配给它的空间,可以将参数fill设置为x,y,BOTH。这样,每次用户在窗口top单击时,都将调用这个函数。为此需要指定参数row和column,也有可能需要指定参数rowspan或columnspan——控件横跨多列或多行的情况下。若没有Tk实例,创建控件也将实例化Tk,所以可直接创建控件,先不实例化Tk。处理特定的事件,在调用方法bird时,要同时指定事件的名称和要使用的函数。原创 2023-01-12 08:58:12 · 962 阅读 · 0 评论 -
Python——文件
若要使用这种模式,同时禁止自动转换,可以讲关键字参数newline设置为空字符串,如open(name,newline=’ ‘)。若要指定只将’\r’或’\r\n‘视为合法的行尾字符,可将参数newline设置为相应的行尾字符。与Python的大多数功能一样,在那些东西可用作数据方面,存在一定的灵活性,但在文本和二进制模式下,基本上分别将str和bytes类用作数据。若要重置缓冲,使其所做的修改反映到磁盘文件中,但又不想关闭文件,可使用方法flush。你写入的数据(将数据暂时存储在某个地方,以提高效率)。原创 2023-01-05 17:22:14 · 187 阅读 · 0 评论 -
python条件和条件语句
总的来说,标准值False和None,各种类型(包括浮点数,复数)的数值0,空序列(如空字符串,空元组,空列表)以及空映射(如空字典)都被视为假,而其他值被视为真(包括特殊值True)由一个if语句和一个else语句组合而成,也就是包含条件的else语句。虽然[]和""都视为假(即bool([])==bool("")==False),但[]不等于""(即[]!条件为(if和冒号之间的表达式)前面定义的真,就执行后续代码;用作布尔表达式(如用作if语句中的条件)时,下面的值将被解释器视为。......原创 2022-08-04 19:10:05 · 1179 阅读 · 0 评论 -
【python运算符】
和赋值一样,Python也支持链式比较。如0原创 2022-08-05 18:24:10 · 736 阅读 · 0 评论 -
迭代和pass、del、exec。
exec执行Python语句,而eval计算用表达式表示的Python表达式的值,并返回结果。若要执行这些操作,可先使用list对返回的对象进行转换。for循环的优点之一是,可在其中使用序列解包。,它将两个序列缝合起来,并返回一个由元组组成的序列。虽然它可以缝合任意数量的序列,但是当最短的序列用完后会停止‘缝合’有些情况下,需要在迭代对象序列的同时获取当前对象的索引。遍历字典中所有关键字,可以像遍历序列一样使用普通的for语句。大多数情况下,还要给它传递命名空间——用于放置变量的地方。有时候什么都不用做。.原创 2022-08-07 19:14:39 · 161 阅读 · 0 评论 -
Python抽象
函数执行特定的操作并返回一个值,你可以调用它(调用时需要提供一些参数——凡在原括号里的内容。)一般而言,要判断某个对象是否可调用,可使用内置函数callable。函数是结构化编程的核心,那么如何定义函数呢?使用def(表示定义函数)语句' print(Hi('Python')) #运行结果 Hi , Python!运行这些代码后,将有一个名为Hi的函数。它返回一个字符串,其中包括向唯一参数指定的人发出的问候语。你可以像使用内置函数一样使用这个函数。在这里return语句。......原创 2022-08-08 18:37:47 · 317 阅读 · 0 评论 -
Python参数
将同一个列表赋给两个变量时,这两个变量将同时指向这个列表。对序列执行切片操作时,返回的切片都是副本。因此,如果你创建覆盖整个列表的切片,得到的将是列表的副本。同样,在函数内部重新关联参数(即给它赋值时)时,函数外部的变量不受影响。数据结构storage:它是一个字典,包含三个键:first、middle、last。字符串,数,元组是不可变的,这意味着它们是不可修改的(即只能替换为新值)。在提高程序的抽象程度方面,使用函数来修改数据结构是一种不错的方式。抽象的关键在于隐藏所有的更新细节,为此可使用函数。...原创 2022-08-09 19:33:41 · 1597 阅读 · 0 评论 -
Python作用域、递归
每当外部函数被调用时,都将重新定义内部的函数,而变量factor的值也可能不同。由于Python的嵌套作用域,可在内部函数中访问这个来自外部局部作用域(multiplier)的变量,它的用法和global很像,让你能给外部作用域(非全局作用域)内的变量赋值。实际上,有一个vars的内置函数,它返回这个不可见的字典。像上面这个函数,其内的递归被称为**无限递归。在这里,函数foo修改(重新关联)了变量x,但当你最终查看时,它根本没变。在这里,一个函数位于另一个函数中,且外面的函数**返回里面的函数。...原创 2022-08-11 18:21:22 · 206 阅读 · 0 评论 -
阶乘,幂和二分查找
比如:你要猜对方心里想的一个属于1——100之间的数字。当然了,答案是不固定的。○否则,找到区间的中间位置(上下限平均值),再确定在那半个区间,然后以同样的方式继续寻找,直到找到为止。power(x,n)(x的n次幂)是将x和x相乘n-1的结果。○n>0时,power(x,n)为power(x,n-1)与x的乘积。如果没有提供上下限,它们将默认为序列的第一个数字和最后一个数字。○对于大于1的数字,它的阶乘为(n-1)的阶乘*n。○对于任何数字x,power(x,0)都为1。这是对定义的直接实现。...原创 2022-08-15 18:54:40 · 203 阅读 · 0 评论 -
Python多态,封装,继承
对象的方法可能修改这些属性,因此对象将一系列函数(方法)组合起来,并赋予它们访问变量的(属性)的权限,而属性可用于在两次函数调用之间存储值。假如你已经有了一个类,并要创建一个新的类,但是新类和旧类很像(可能只是新增了几个方法),你又不想复制旧类的代码粘贴到新类中。基本上,你希望对象是抽象的:当调用方法时,无需操心其他的事情,如避免干扰全局变量。多态是让你无需知道对象所属的类就能调用其方法,而封装是让你无需知道对象的构造就能使用它。如你所见,设置一个对象的名称时,将自动设置为另一个对象的名称。......原创 2022-08-17 18:16:14 · 178 阅读 · 0 评论 -
Python类
metaclass_ = type #Python2请包含这行代码 class Person : def set_name(self , name) : self . name = name def get_name(self) : return self . name def greet(self) : print('你好,我是(),很高兴认识你' . format(self . name))示例包含了三个方法定义,类似于函数定义,但位于class语句内。class语句创建独立的命名空间。...原创 2022-08-18 18:01:45 · 502 阅读 · 0 评论 -
Python异常
虽然内置的异常类涉及的范围非常广,能够满足很多需求,但在有些情况下只能自己创建异常类,才能满足需求。如何创建异常类呢?就像创建其他类一样,但务必要直接或间接地继承Exception(这意味着从任何内置异常类派生都可以).........原创 2022-08-21 18:06:59 · 714 阅读 · 0 评论 -
Python构造函数
虽然SongBird类是Bird的子类,继承了方法eat,但当你调用它时,你就会发现一个问题。构造函数用于初始化新建对象的状态,对大多数子类而言,除了超类的初始化代码,还要有自己的初始化代码。虽然所有方法的重写机制相同,但重写构造函数时必须调用超类的构造函数,否则可能无法正确地初始化对象。在Python中,创建构造函数很容易,只需要将方法init的名称从普通的init改为魔法版的_init_就可以了。对返回的对象调用方法时,调用的将是超类的方法而不是当前类的。要在子类中添加方法,一种基本方式是添加方法。..原创 2022-08-25 18:15:28 · 9232 阅读 · 0 评论 -
Python元素访问
1_len_(self):返回集合包含的项数,对序列来说为元素个体,对映射来说为键—值对数。如果_len_返回零(且没有实现覆盖这种行为的_nonzero_),对象在布尔上下文中被视为假(类似于空的列表、元组、字符串、字典一样)。3_setitem_(self, key,value):以与键相关联的方式储存值,以便以后能够使用_getitem_获取。序列和映射都是元素的集合,要实现它们的基本行为,不可变对象需要实现两个方法,可变对象需要实现四个方法。在Python中,协议通常指的是规范行为的原则。.....原创 2022-08-25 19:18:43 · 1298 阅读 · 0 评论 -
Python特性
通过存取方法定义的属性通常称为特性。在Python中,可以使用函数——property来创建特性。原创 2022-08-27 17:52:12 · 147 阅读 · 0 评论 -
Python迭代器和生成器
方法_iter_返回一个迭代器,它是包含方法_next_的对象,而调用这个方法可以不提供任何参数。推荐在迭代器中也实现方法__iter__(并像刚才那样使它返回self),这样迭代器就可以直接用于for循环。在可以使用序列的情况下,大多数也可使用迭代器或可迭代对象,可以使用构造函数list显示地将迭代器转化为列表。迭代器实现了方法__iter__,这个方法返回迭代器本身,大多数情况下,都在。对象中实现返回迭代器的方法__iter__,并在for循环中使用这个对象。实现了方法__iter__的对象是。....原创 2022-08-28 17:17:44 · 6798 阅读 · 3 评论 -
Python模块
模块在首次被导入程序时执行,但用处不大。模块值得被创建的原因在于它们像类一样,有自己的作用域。这意味着在模块中定义的类和函数以及对其进行赋值的变量都将成为模块的属性。假设你创建一个模块W2#W2.py def W() : print('你好!') >> > import W2 #像这样导入模块 >> > W2 . W() 你好!在模块的全局作用域内定义的名称都可像上面那样访问。那为什么不在主程序中定义一切呢?主要是为了重用代码。通过将代码放入模块中,就意味着可以在多个程序中运用它。原创 2022-09-01 18:10:30 · 843 阅读 · 2 评论 -
Python标准库:一些受欢迎的模块
模块sys能让你访问和Python解释器紧密相关的变量和函数模块os可以让你访问多个操作系统服务。它包含的内容非常多。模块fileinput能让你轻松地迭代一系列为文本文件中的所有行。就能够依次迭代文件file1.txt到file3.txt中的行。也可以在UNIX管道中对使用UNIX标准命令cat提供给标准输入(sys.stdin)的行进行迭代。若使用模块fileinput,在UNIX管道中使用cat调用脚本的效果将于以命令行参数的方式向脚本提供文件名一样。原创 2022-09-03 18:00:00 · 961 阅读 · 0 评论 -
Python循环
while True导致循环永不结束,但你将条件放在了循环体内的一条if语句中,而这条if语句将在条件满足时调用break。这说明并非只能像常规while循环那样在循环开头结束循环,而是可在循环体的任何地方结束循环。if/break行将整个循环分成两个部分:第一部分负责设置(若使用常规while循环,将重复这部分),第二部分在循环条件为真时使用第一部分初始化的数据。这无疑是这个小程序的瑕疵,但很容易修复。判断循环是否为正常结束,可在循环之后添加一个else子句,它仅在没有调用break时才执行。......原创 2022-08-06 18:23:27 · 120 阅读 · 0 评论