- 博客(30)
- 收藏
- 关注
原创 PYTHON文件和异常(1)从文件中读取数据
虽 然文件夹text_files包含在文件夹python_work中,但仅向open()传递位 于前者中的文件名称也不可行,因为Python只在文件夹python_work中查 找,而不会在其子文件夹text_files中查找。这称为绝对文件路径。例如,如果text_files并不在文件夹python_work 中,而在文件夹other_files中,则向open()传递路径'text_files/filename.txt'行不通,因为Python只在文件夹 python_work中查找该位置。
2024-07-28 22:30:37
435
原创 PYTHON类(4)导入类
这样做时,虽然文件开头并没 有列出用到的所有类,但你清楚地知道在程序的哪些地方使用了导入的模 块。这让我们面临一个微妙的命名问题: 在本章中已经有一个名为car.py的文件,但这个模块也应命名为car.py, 因为它包含表示汽车的代码。我们将这样解决这个命名问题:将Car类存储 在一个名为car.py的模块中,该模块将覆盖前面使用的文件car.py。虽然同一个模块中的类之间应存在某种相关性,但可根据需要在一个模块 中存储任意数量的类。导入必要的类 后,就可根据需要创建每个类的任意数量实例。
2024-07-28 21:40:37
279
原创 PYTHON类(3)继承
如果一个属性或方法是任何 汽车都有的,而不是电动汽车特有的,就应将其加入到Car类而非 ElectricCar类中。这样,使用Car类的人将获得相应的功能,而 ElectricCar类只包含处理电动汽车特有属性和行为的代码。一个类继承另一个类时,将自动获得另一个类的所 有属性和方法。现在,如果有人对电动汽车调用方法fill_gas_tank(),Python将忽略 Car类中的方法fill_gas_tank(),转而运行上述代码。让一个类继承另一个类后,就可以添加区分子类和父类所需的新属性和新方法了。
2024-07-26 22:04:18
271
原创 PYTHON类(2)使用类和实例
在有些情况下,如设置默认值时,在方法__init__()内指定这种初始值是可行的;有时候需要将属性值递增特定的量,而不是将其设置为全新的值。可对方法update_odometer()进行扩展,使其在修改里程表读数时 做些额外的工作。我们能以三种方式修改属性的值:直接通过实例进行修改,通过方法进行 设置,以及通过方法进行递增(增加特定的值)。要修改属性的值,最简单的方式是通过实例直接访问它。上面又添加了一个名为odometer_reading的属性,其初始值总是为0。(2)通过方法修改属性的值。
2024-07-26 16:27:15
181
原创 PYTHON类(1)创建和使用类
每个与实例相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。你在前面学到的有关函数的一切都适用于方法,就目前而言,唯一重要的差别是调用方法的方式。例子中的方法__init__()是一个特殊方法,每当你根据Dog类创建新实例时,Python都会自动运行它。务必确保__init__()的两边都有两个下划线,否则当你使用类来创建实例时,将不会自动调用这个方法,进而引发难以发现的错误。以self为前缀的变量可供类中的所有方法使用,可以通过类的任何实例来访问。
2024-07-25 21:49:40
234
原创 PYTHON函数(7)函数编写指南
他们完全可以相信代码如描述的那样运行,并且只要知道函数的名称、需要的实参以及返回值的类型,就能在自己的程序中使用它。PEP 8建议代码行的长度不要超过79字符,这样只要编辑器窗口适中,就能看到整行代码。如果形参很多,导致函数定义的长度超过了79字符,可在函数定义中输入左括号后按回车键,并在下一行按两次Tab键,从而将形参列表和只缩进一层的函数体区分开来。如果程序或模块包含多个函数,可使用两个空行将相邻的函数分开,这样将更容易知道前一个函数在什么地方结束,下一个函数从什么地方开始。
2024-07-25 20:15:00
179
原创 PYTHON函数(6)将函数存储在模块中
这是因为如果模块中有函数的名称与当前项目中使用的名称相同,可能导致意想不到的结果:Python可能遇到多个名称相同的函数或变量,进而覆盖函数,而不是分别导入所有的函数。接下来,我们在pizza.py所在的目录中创建另一个making_pizzas.py的文件,这个文件导入刚创建的模块,再调用make_pizza()两次。如果要导入的函数的名称可能与程序中现有名称冲突,或者函数名称太长,可指定简短而独一无二的别名——函数的别名,类似于外号。通过给模块指定简短的别名,可以更轻松的调用模块中的函数。
2024-07-25 20:04:50
327
原创 PYTHON函数(5)传递任意数量的实参
形参*toppings中的*让Python创建一个名为toppings的空元组,并将收到的所有值都封装到这个元组中。例如,如果前面的函数还需要一个表示pizza尺寸的实参,必须将该形参放在形参*toppings的前面。有时候你预先不知道函数需要接受多少个实参,好在python允许函数从调用语句中收集任意数量的实参。如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。有时候需要接受任意数量的实参,但预先不知道传递给函数的会是什么样的信息。1、结合使用位置实参和任意数量的实参。
2024-07-24 22:11:52
97
原创 PYTHON函数(4)传递列表
这样函数print_models()依然能够完成其工作,因为它获得了所有未打印的设计名称,但它使用的是列表unprinted_design的副本,而不是列表unprinted_design本身。为了重新组织这些代码,我们可以编写两个函数,每个都做一件具体的工作。第一个函数负责处理打印设计的工作。将列表传递给函数之后,函数就可以对其进行修改。在函数中对这个列表所做的任何修改都是永久性的,这让你能够高效的处理大量数据。将列表传递给函数后,函数就能直接访问其内容。这个函数问候列表中的每一个人。
2024-07-24 21:41:27
160
原创 PYTHON函数(3)返回值
有时候需要让实参变成可选的,这样使用函数的人就只需在必要的时候才提供额外的信息。可使用默认值来让实参变成可选的。可给实参middle_name指定一个默认值——空字符串,并将其移到形参列表的末尾。函数可返回任何类型的值,包括列表和字典等较复杂的数据结构。在函数中,return语句能将值返回到调用函数的代码行。扩展上面的函数,让它可以处理中间名。4、结合使用函数和while循环。这个函数接受名和姓,返回姓名。然而并非所有人都有中间名。2、让实参变成可选的。
2024-07-24 20:25:08
174
原创 PYTHON 函数(2)传递实参
在调用函数中给形参提供了实参时,python将使用指定的实参;否则,将使用形参的默认值。要再描述一个宠物,只需要再次调用describ_pet()函数。关键字实参是传递给函数的名称—值对。编写函数时,可给每个形参指定默认值。描述了一只名为Harry的仓鼠。直接在实参中将名称和值关联起来。(2)位置实参的顺序很重要。
2024-07-23 21:53:20
118
原创 PYTHON函数
前面定义函数greet_user()时,要求给变量username指定一个值。调用这个函数并提供这种信息(人名)时,它将打印相应的问候语。greet_user('Jesse')中,值'jesse'为一个实参。实参是调用函数时传递给函数的信息。在这个函数中,变量username是一个形参——函数完成其工作所需的一项信息。def为关键字,函数命名以冒号结尾。
2024-07-23 21:28:53
155
原创 PYTHON中的while()循环
要返回到循环的开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句,它不像break语句那样不再执行余下代码并退出整个循环。这里我们定义了一条提示消息,告诉用户他有两个选择:要么输入一条消息,要么输入退出值(这里是quit)要立即退出while循环,不再运行循环中的余下代码,也不管条件测试的结果如何,可使用break语句。2、那么如何让用户选择何时退出呢?4、在循环中使用continue。3、使用bresk退出循环。
2024-07-22 21:28:35
158
原创 PYTHON用户输入
函数input()接受一个参数:即要向用户显示的提示或说明,让用户知道该如何做。例如,下面的程序让用户输入一些文本,再将这些文本呈现给用户。使用int()来获取数值输入。
2024-07-22 20:46:46
141
原创 PYTHON字典
每个键与值相关联,可以用键来访问相关的值,与键相关的值可以是数字、字符串、列表乃至字典。在python中,字典用放在花括号{}中的一系列键—值对表示,例子如上。要获取与键相关联的值,可依次指定字典名和放在方括号内的键,例子如上。要添加键—值对,可依次指定字典名、用方括号括起的键和相关联的值。依次指定字典名、用方括号括起的键以及与该键相关联的新值。字典是一种动态结构,可随时在其中添加键—值对。(1)遍历所有的键—值对。(2)遍历字典中的所有键。(3)遍历字典中的所有值。(3)在字典中存储字典。
2024-07-19 22:33:18
152
原创 PYTHON 中的if语句
布尔表达式的结果要么是True要么是False,通常用于记录条件,如游戏是否正在运行,或用户是否可以编辑网站的特定内容。or 两个条件中有一个为true则整个表达式都为true,只有两个条件都为false整个表达式才是false。and 若两个条件都为TRUE则整个表达式都为true,其他为false。用==检查两边是否相等,用!python需要注意区分大小写。if_elif_else结构。使用多个elif代码块。
2024-07-19 20:48:39
184
原创 PYTHON元组
虽然不能修改元组的元素,但是可以给存储元组的变量赋值。因此如果要修改元组变量,可重新定义整个元组。试图修改元组的操作是被禁止的,所以python不能给元组赋值。如果你需要创建一系列不可修改的元素,元组可以满足这个要求。定义元组后就可以用索引来访问其元素,就像访问列表元素一样。元组类似于列表,不同的是元组用圆括号代替方括号来标识。
2024-07-19 16:34:12
180
原创 PYTHON使用列表的一部分
倘若我们只是简单地将my_foods赋值给friend_foods,就不能得到两个列表。要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引[:]要创建切片,可指定要使用的第一个元素和最后一个元素索引。没有终止索引,python一直提取到最后一个元素。没有起始索引,python从列表开头开始提取。起始索引若为-3,则提取最后三个元素。
2024-07-19 14:06:52
179
原创 PYTHON创建数值列表
要创建数字列表,可使用函数list()将range()的结果直接转换为列表。然后,指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。接下来编写一个for循环,用于给表达式提供值,在加上右方括号。上述代码结果如下,结果表明打印范围是[1,5)将range()作为list()的参数。2、使用range()创建数字列表。3、对数字列表执行简单的统计计算。1、使用函数range()首先指定一个描述性的列表名。
2024-07-19 13:50:27
145
原创 PYTHON列表
pop可以删除列表中的任何位置的元素,只需在括号中指出要删除元素的索引。sort()可以按字母顺序排列列表元素,排序后再也无法恢复到原本的顺序。在python中,用方括号[ ]表示列表,并用逗号来分隔其中的元素。2、将元素从列表中删除并且接着使用它的值可以使用pop() 来实现。1、如果知道要删除的元素在列表中的位置,可以使用 del语句。使用remove()删除列表中的元素之后也可以接着使用它的值。使用del语句可以删除任何位置的列表元素,删除之后无法访问。3、根据值删除元素可以使用方法remove()
2024-07-18 21:28:44
223
原创 PYTHON删除空白
你还可以剔除字符串开头的空白,或同时剔除字符串两端的空白。为此,可以分别使用方法lstrip()和strip()这种删除只是暂时的,接下来再次询问favorite_language的时候依然包含多余的空白。要确保字符串末尾没有空白,可使用方法rstrip()Python能找出字符串开头和末尾多余的空白。
2024-07-17 21:23:36
171
原创 PYTHON大小写处理
函数title()以首字母大写的方式显示每个单词,不需要额外的信息,所以它后面的括号是空的。很多时候你无法依靠用户来提供正确的大小写,因此需要将字符串先转化为小写,再存储他们。函数upper()全部大写显示。函数lower()全部小写显示。
2024-07-17 20:49:03
72
原创 PYTHON变量的命名和使用
1、变量名只能包含字母、数字和下划线。变量名可以字母或者下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。5、慎用小写字母l和大写字母O,因为它们容易被认作1和0。3、不要将Python关键字和函数名用作变量名。4、变量名因该简短而且有描述性。2、变量名不能包含空格。
2024-07-17 20:44:33
71
原创 C语言小白的自我介绍及学习目标
学习C语言,我认为实践练习十分重要,只有在自己写代码的过程中才能发现问题并努力解决文图,这样才能进步。嗨咯,这里是一枚C语言小白的博客,在这里我会记录自己每一段时间的学习情况,我把知识和心得写成博客发在这里希望能给其他萌新一些帮助,也希望得到C语言大佬的教导和建议。因此,想要完成既定目标,我会每周抽出五天时间,每天至少六小时进行C语言的学习,希望在大二暑假(也就是明年暑假)拿到第一份OFFER。我希望能在三个月内把C语言学好学精,能够自己完成一些项目,能够参加学校,全省直至全国大赛。
2023-07-25 20:54:29
82
原创 【C语言】main函数
main前面的int表示main函数执行结束的时候返回一个整型类型的值,所以在main函数的最后写return 0;一个项目中可以有多个.c文件,但有且只有一个main函数。main函数即为主函数,是函数程序的入口。
2023-07-25 18:37:19
63
原创 【VS-C语言】操作及快捷键的使用
点击源文件——>添加——>新建项(后缀.c)(.c为源文件,.h为头文件)若未出现如图右侧窗口,点击视图,选择解决方案资源管理器。将选中的区域全部注释:Ctrl K+Ctrl C。取消选中区域注释:Ctrl K+Ctrl U。起一个项目名称,最好用英文,后缀.c。点开VS,选择创建新项目(N)接下来就可以进行编程啦。下面是一些常见快捷键。
2023-07-25 18:32:27
156
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人