上岸第一剑,python编程语法必修

批量一键抓出PPT中的所有文字 目录标题应用场景应用样例细节介绍点击直接资料领取 应用场景 我们需要将一个PPT文件中的所有文字批量导出,以便查看,或者复制什么的。一页一页PPT去复制粘贴,会很不方便。如果能一键将PPT中的文字导出,存为文本文件或者word文件,将极大提升效率。 应用样例 #提取所有文本字符 from pptx import Presentation data = [] prs = Presentation('data\制造业必修课.pptx') for slide in prs.slides: #遍历每页PPT 阅读详情

随着互联网的高速发展,python市场越来越大,也越来越受欢迎,主要源于它:易学易用,通用性广,时代需要,源代码的开放以及人工智能浪潮,接来下我们就从这几个方向谈谈为何python越来越受欢迎,以及入门学习python编程语法

Python之所以越来越受欢迎,市场也越来越大,主要体现在以下几个方面:

  • 易学易用:Python语言设计简洁,易于阅读和学习,学习曲线较平缓。同时具有丰富的核心函数库和第三方库,可快速构建复杂应用。

  • 通用性:Python是一种通用性编程语言,可应用于多个领域,如Web开发、数据科学、人工智能、机器学习、图像处理等。特别是数据科学和机器学习领域的发展,使Python成为一种非常流行的编程语言。

  • 开放源代码:Python是开放源代码的,具有广泛的社区支持,可以免费获取,可以免费地编写和分发应用程序。

  • 大数据时代需要:Python具有强大的数据处理和分析能力,成为数据驱动的业务和决策的输入工具之一。此外,Python还具有分布式计算、大规模数据处理和可扩展性等方面的特性,因此在大数据时代得到了广泛应用。

  • 人工智能浪潮:在深度学习和神经网络等方面,Python成为了一种基本语言。在人工智能领域,Python的扩展库TensorFlow,Jupyter Notebook等,让科学家们更方便的进行算法的实验和模拟。

因此,Python已经成为企业、政府和大学中非常重要的编程语言,并且Python在全球范围内已经得到了广泛的认可和应用,未来的发展前景也非常广阔。

那么,如何才能入门python呢,今天带来的介绍就是入门python第一步:编程语法必须

python语法编程

一丶python3基础入门

Python是一种高级编程语言,易于学习和使用。Python3是Python语言的最新版本,它具有许多新的特性和改进。本教程将介绍Python3的基础知识,包括变量、数据类型、运算符、条件语句、循环语句、函数、模块等。通过学习本教程,您将能够掌握Python3的基本语法和编程技巧,为进一步学习Python编程打下坚实的基础。

1.数据类型

Python3中常见的数据类型有:

  • 整型(int):表示整数,如1、2、3等。
  • 浮点型(float):表示带小数点的数,如1.0、2.5、3.14等。
  • 布尔型(bool):表示True或False两个值。
  • 字符串型(str):表示一串字符,如"hello"、"world"等。
  • 列表型(list):表示一组有序的元素,如[1, 2, 3]、[“hello”, “world”]等。
  • 元组型(tuple):表示一组有序的元素,但是不可修改,如(1, 2, 3)、(“hello”, “world”)等。
  • 字典型(dict):表示一组键值对,如{“name”: “Tom”, “age”: 18}等。

2.变量与关键字

在Python3中,变量是用来存储数据的,可以通过赋值语句来创建变量。关键字是Python3中已经定义好的一些特殊单词,不能用作变量名。

Python3中常见的关键字有:

  • and、or、not:逻辑运算符。
  • if、else、elif:条件语句。
  • for、while:循环语句。
  • break、continue、pass:循环控制语句。
  • def、return:函数定义和返回值。
  • class、object:面向对象编程。

3.语句

Python3中常见的语句有:

  • 赋值语句:用来创建变量并赋值,如a = 1。
  • 条件语句:用来根据条件执行不同的代码块,如if、else、elif。
  • 循环语句:用来重复执行一段代码块,如for、while。
  • 函数定义语句:用来定义函数,如def。
  • 导入模块语句:用来导入其他模块中的函数或变量,如import。

4.表达式

Python3中的表达式是由变量、常量和运算符组成的式子,可以用来计算结果。常见的运算符有:

  • 算术运算符:+、-、*、/、%、**、//。
  • 比较运算符:==、!=、>、<、>=、<=。
  • 逻辑运算符:and、or、not。

5.运算符
Python3中的运算符有很多种,包括算术运算符、比较运算符、逻辑运算符、位运算符等。Python3中的运算符和操作对象包括:

  • 算术运算符:用于执行基本的数学运算,如加、减、乘、除、取模、幂等。例如:+、-、*、/、%、**。

  • 比较运算符:用于比较两个值的大小关系,返回True或False。例如:==、!=、>、<、>=、<=。

  • 赋值运算符:用于给变量赋值。例如:=、+=、-=、*=、/=、%=、**=。

  • 逻辑运算符:用于组合多个条件,返回True或False。例如:and、or、not。

  • 位运算符:用于对二进制数进行操作。例如:&、|、^、~、<<、>>。

  • 成员运算符:用于判断一个值是否在序列中。例如:in、not in。

  • 身份运算符:用于比较两个对象的内存地址是否相同。例如:is、is not。

  • 运算符优先级:用于确定运算符的执行顺序。

操作对象包括:

  • 数字:整数、浮点数、复数等。

  • 字符串:由一系列字符组成的序列。

  • 列表:由一系列元素组成的序列,可以包含不同类型的元素。

  • 元组:与列表类似,但是元素不可修改。

  • 字典:由一系列键值对组成的无序集合。

  • 集合:由一系列元素组成的无序集合,元素不可重复。

6.字符串

Python3中的字符串是由一串字符组成的,可以用单引号或双引号来表示。字符串可以进行拼接、切片、替换等操作。

7.注释

Python3中的注释用#来表示,可以在代码中添加注释来解释代码的作用。注释可以单独一行,也可以在代码行后面添加。注释不会被解释器执行。

二丶列表与元组

在Python中,列表和元组都是用来存储一组有序数据的容器,它们的区别在于列表是可变的,而元组是不可变的。

列表

列表是Python中最常用的数据类型之一,它可以存储任意类型的数据,包括数字、字符串、布尔值、列表、元组、字典等。列表用方括号 [] 来表示,其中的元素用逗号分隔开。

创建列表

可以通过以下方式创建一个列表:

# 创建一个空列表
my_list = []

# 创建一个包含元素的列表
my_list = [1, 2, 3, 'hello', True, [4, 5, 6]]

访问列表元素

可以通过下标来访问列表中的元素,下标从0开始,可以是负数,表示从后往前数。

my_list = [1, 2, 3, 'hello', True, [4, 5, 6]]

print(my_list[0])  # 输出 1
print(my_list[3])  # 输出 'hello'
print(my_list[-1])  # 输出 [4, 5, 6]
print(my_list[-1][0])  # 输出 4

修改列表元素

列表是可变的,可以通过下标来修改列表中的元素。

my_list = [1, 2, 3, 'hello', True, [4, 5, 6]]

my_list[0] = 100
my_list[-1][0] = 400

print(my_list)  # 输出 [100, 2, 3, 'hello', True, [400, 5, 6]]

列表操作

列表支持一些常用的操作,如添加元素、删除元素、切片等。

  • 添加元素 可以使用 append() 方法向列表末尾添加一个元素,使用 insert() 方法在指定位置插入一个元素。
my_list = [1, 2, 3]

my_list.append(4)
print(my_list)  # 输出 [1, 2, 3, 4]

my_list.insert(1, 5)
print(my_list)  # 输出 [1, 5, 2, 3, 4]

  • 删除元素 可以使用 remove() 方法删除指定元素,使用 pop() 方法删除指定位置的元素。
my_list = [1, 2, 3, 4]

my_list.remove(3)
print(my_list)  # 输出 [1, 2, 4]

my_list.pop(1)
print(my_list)  # 输出 [1, 4]

  • 切片 可以使用切片来获取列表的子集,语法为 [start:end:step],其中 start 表示起始位置(默认为0),end 表示结束位置(默认为列表长度),step 表示步长(默认为1)。
my_list = [1, 2, 3, 4, 5]

print(my_list[1:3])  # 输出 [2, 3]
print(my_list[:3])  # 输出 [1, 2, 3]
print(my_list[::2])  # 输出 [1, 3, 5]

元组

元组和列表类似,也是用来存储一组有序数据的容器,但是元组是不可变的,一旦创建就不能修改。元组用圆括号 () 来表示,其中的元素用逗号分隔开。

创建元组

可以通过以下方式创建一个元组:

# 创建一个空元组
my_tuple = ()

# 创建一个包含元素的元组
my_tuple = (1, 2, 3, 'hello', True, [4, 5, 6])

访问元组元素 可以通过下标来访问元组中的元素,下标从0开始,可以是负数,表示从后往前数。

my_tuple = (1, 2, 3, 'hello', True, [4, 5, 6])

print(my_tuple[0])  # 输出 1
print(my_tuple[3])  # 输出 'hello'
print(my_tuple[-1])  # 输出 [4, 5, 6]
print(my_tuple[-1][0])  # 输出 4

元组操作 元组是不可变的,不能修改元素,但是可以进行一些常用的操作,如切片、拼接等。

  • 切片 可以使用切片来获取元组的子集,语法和列表相同。
my_tuple = (1, 2, 3, 4, 5)

print(my_tuple[1:3])  # 输出 (2, 3)
print(my_tuple[:3])  # 输出 (1, 2, 3)
print(my_tuple[::2])  # 输出 (1, 3, 5)

拼接

可以使用 + 运算符来拼接两个元组。

my_tuple1 = (1, 2, 3)
my_tuple2 = ('hello', 'world')

my_tuple3 = my_tuple1 + my_tuple2
print(my_tuple3)  # 输出 (1, 2, 3, 'hello', 'world')

列表和元组的选择

列表和元组都是用来存储一组有序数据的容器,它们的区别在于列表是可变的,而元组是不可变的。因此,如果需要对数据进行增删改操作,应该使用列表;如果数据不需要修改,应该使用元组,因为元组比列表更加轻量级,占用的内存更少。

三丶字符串

Python中的字符串是一种不可变的序列类型,可以使用单引号、双引号或三引号来表示。以下是一些常见的字符串操作:

1.字符串拼接
可以使用加号(+)来拼接两个字符串,也可以使用乘号(*)来重复一个字符串。

str1 = "Hello"
str2 = "World"
str3 = str1 + " " + str2  # 拼接字符串
print(str3)  # 输出:Hello World

str4 = str1 * 3  # 重复字符串
print(str4)  # 输出:HelloHelloHello

2.字符串索引和切片

可以使用索引来访问字符串中的单个字符,索引从0开始。也可以使用切片来访问字符串中的一部分,切片的语法为[start:end:step],其中start表示起始位置(包含),end表示结束位置(不包含),step表示步长(默认为1)。

str = "Hello World"
print(str[0])  # 输出:H
print(str[-1])  # 输出:d
print(str[0:5])  # 输出:Hello
print(str[6:])  # 输出:World
print(str[::2])  # 输出:HloWrd

3.字符串常用方法

Python中的字符串还有许多常用方法,例如:

  • len():返回字符串的长度。
  • upper():将字符串中的所有字母转换为大写。
  • lower():将字符串中的所有字母转换为小写。
  • strip():去除字符串两端的空格。
  • split():将字符串按照指定的分隔符分割成多个子字符串,并返回一个列表。
str = " Hello World "
print(len(str))  # 输出:13
print(str.upper())  # 输出: HELLO WORLD 
print(str.lower())  # 输出: hello world 
print(str.strip())  # 输出:Hello World
print(str.split())  # 输出:['Hello', 'World']

总之,字符串是Python中非常重要的数据类型之一,掌握字符串的基本操作和常用方法对于编写Python程序非常有帮助。

四丶字典

在Python中,字典是一种无序的数据结构,用于存储键值对。字典中的键必须是唯一的,而值可以是任何类型的对象。字典用花括号{}表示,每个键值对之间用逗号分隔。

创建字典的方法:

1.直接使用花括号{}创建空字典

my_dict = {}

2.使用键值对创建字典

my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}

3.使用dict()函数创建字典

my_dict = dict(name='Tom', age=18, gender='male')

访问字典中的值

可以使用键来访问字典中的值,如果键不存在,则会抛出KeyError异常。

my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
print(my_dict['name'])  # 输出Tom

添加或修改字典中的键值对:

可以使用赋值语句来添加或修改字典中的键值对。

my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
my_dict['name'] = 'Jerry'  # 修改name的值
my_dict['height'] = 180  # 添加新的键值对
print(my_dict)  # 输出{'name': 'Jerry', 'age': 18, 'gender': 'male', 'height': 180}

删除字典中的键值对:

可以使用del语句来删除字典中的键值对。

my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
del my_dict['age']  # 删除age键值对
print(my_dict)  # 输出{'name': 'Tom', 'gender': 'male'}

遍历字典:

可以使用for循环遍历字典中的键值对。

my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
for key, value in my_dict.items():
    print(key, value)

输出:

name Tom
age 18
gender male

其他常用方法:

  • keys():返回字典中所有的键。
  • values():返回字典中所有的值。
  • items():返回字典中所有的键值对。

五丶条件丶循环和其他语句

条件语句:

Python中的条件语句包括if、elif和else。它们用于根据条件执行不同的代码块。

if语句的语法如下:

if condition:
    # code block

如果条件为True,则执行代码块。如果条件为False,则跳过代码块。

elif语句用于在if语句中添加多个条件。它的语法如下:

if condition1:
    # code block
elif condition2:
    # code block

如果条件1为True,则执行第一个代码块。如果条件1为False且条件2为True,则执行第二个代码块。如果条件1和条件2都为False,则跳过代码块。

else语句用于在if语句中添加一个默认情况。它的语法如下:

if condition1:
    # code block
elif condition2:
    # code block
else:
    # code block

如果条件1为True,则执行第一个代码块。如果条件1为False且条件2为True,则执行第二个代码块。如果条件1和条件2都为False,则执行else代码块。

循环语句:

Python中的循环语句包括for和while。它们用于重复执行代码块。

for循环用于遍历序列(如列表、元组、字符串等)。它的语法如下:

for variable in sequence:
    # code block

在每次循环中,变量将被设置为序列中的下一个值,并执行代码块。当序列中的所有值都被遍历后,循环结束。

while循环用于在条件为True时重复执行代码块。它的语法如下:

while condition:
    # code block

在每次循环中,检查条件是否为True。如果是,则执行代码块。如果不是,则跳出循环。

其他语句:

Python中还有一些其他语句,如break、continue和pass。

break语句用于跳出循环。它的语法如下:

while condition:
    # code block
    if some_condition:
        break

在循环中,如果满足某个条件,则使用break语句跳出循环。

continue语句用于跳过当前循环中的剩余代码,并开始下一次循环。它的语法如下:

while condition:
    # code block
    if some_condition:
        continue
    # remaining code in loop

在循环中,如果满足某个条件,则使用continue语句跳过当前循环中的剩余代码,并开始下一次循环。

pass语句用于在代码块中占位。它的语法如下:

if some_condition:
    pass
else:
    # code block

在代码块中,如果需要占位,则使用pass语句。它不执行任何操作,只是占据一个位置。

六丶函数

在Python中,函数是一段可重用的代码块,用于执行特定的任务。函数可以接受参数并返回值。函数的定义以关键字def开头,后跟函数名和括号,括号中可以包含参数列表。函数体包含在冒号后面的缩进块中。

以下是一个简单的函数示例:

def greet(name):
    print("Hello, " + name + "!")

greet("Alice")

输出:

Hello, Alice!

在这个例子中,greet函数接受一个参数name,并在控制台上打印出一条问候语。

函数可以返回一个值,使用关键字return。以下是一个返回两个数之和的函数示例:

def add_numbers(x, y):
    return x + y

result = add_numbers(3, 5)
print(result)

输出:

8

在这个例子中,add_numbers函数接受两个参数x和y,并返回它们的和。我们将函数的返回值存储在变量result中,并在控制台上打印出来。

函数可以有默认参数值,这些值在函数被调用时可以被覆盖。以下是一个带有默认参数值的函数示例:

def greet(name, greeting="Hello"):
    print(greeting + ", " + name + "!")

greet("Alice")
greet("Bob", "Hi")

输出:

Hello, Alice!
Hi, Bob!

在这个例子中,greet函数有一个默认参数值greeting="Hello"。如果我们不提供greeting参数,函数将使用默认值。如果我们提供了greeting参数,它将覆盖默认值。

函数可以接受任意数量的参数,使用星号*。以下是一个接受任意数量参数的函数示例:

def print_numbers(*numbers):
    for number in numbers:
        print(number)

print_numbers(1, 2, 3)
print_numbers(4, 5, 6, 7)

输出:

1
2
3
4
5
6
7

在这个例子中,print_numbers函数接受任意数量的参数,并使用for循环打印它们。

函数可以嵌套在其他函数中。以下是一个嵌套函数的示例:

def outer_function():
    print("Outer function")

    def inner_function():
        print("Inner function")

    inner_function()

outer_function()

输出:

Outer function
Inner function

在这个例子中,outer_function包含一个嵌套函数inner_function。当outer_function被调用时,它将打印一条消息并调用inner_function。inner_function也将打印一条消息。

函数可以作为参数传递给其他函数。以下是一个将函数作为参数的示例:

def add_numbers(x, y):
    return x + y

def apply_function(f, x, y):
    return f(x, y)

result = apply_function(add_numbers, 3, 5)
print(result)

输出:

8

在这个例子中,apply_function函数接受一个函数f和两个参数x和y。它将调用f(x, y)并返回结果。我们将add_numbers函数作为参数传递给apply_function,并将结果存储在变量result中。

七丶面向对象

Python是一种面向对象的编程语言,它支持面向对象编程(OOP)。面向对象编程是一种编程范式,它将数据和操作数据的方法组合在一起,形成一个对象。在Python中,对象是由类定义的,类是一种用户定义的数据类型,它包含数据和方法。

Python中的面向对象编程有以下几个关键概念:

  • 类(Class):类是一种用户定义的数据类型,它定义了一组属性和方法。类是创建对象的模板。

  • 对象(Object):对象是类的实例,它包含了类定义的属性和方法。

  • 属性(Attribute):属性是对象的数据成员,它可以是变量或常量。

  • 方法(Method):方法是对象的操作成员,它可以是函数或过程。

  • 继承(Inheritance):继承是一种机制,它允许一个类继承另一个类的属性和方法。

  • 多态(Polymorphism):多态是一种机制,它允许不同的对象对同一消息做出不同的响应。

下面是一个简单的Python类的例子:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print("Hello, my name is", self.name, "and I am", self.age, "years old.")

person1 = Person("Alice", 25)
person1.say_hello()

在这个例子中,我们定义了一个名为Person的类,它有两个属性(name和age)和一个方法(say_hello)。我们使用__init__方法来初始化对象的属性,使用self关键字来引用对象本身。我们还定义了一个say_hello方法,它打印出对象的属性。

我们创建了一个名为person1的Person对象,并调用了它的say_hello方法。输出结果为:

Hello, my name is Alice and I am 25 years old.

这是一个简单的面向对象编程的例子,它展示了Python中类和对象的基本概念。在实际编程中,面向对象编程可以帮助我们更好地组织代码,提高代码的可重用性和可维护性。

在Python中,继承是面向对象编程的一个重要概念。继承允许我们创建一个新的类,该类继承了另一个类的属性和方法。被继承的类称为父类或基类,继承的类称为子类或派生类。

继承

在Python中,继承的语法如下:

class ParentClass:
    # 父类的属性和方法

class ChildClass(ParentClass):
    # 子类的属性和方法

在这个例子中,ChildClass 继承了 ParentClass 的所有属性和方法。子类可以使用父类的方法和属性,也可以添加自己的方法和属性。

例如,我们可以定义一个 Person 类作为父类,然后定义一个 Student 类作为子类,继承 Person 类的属性和方法:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print("Hello, my name is", self.name)

class Student(Person):
    def __init__(self, name, age, grade):
        super().__init__(name, age)
        self.grade = grade

    def say_hello(self):
        super().say_hello()
        print("I am a student in grade", self.grade)

在这个例子中,Student 类继承了 Person 类的 __init__ 方法和 say_hello 方法。子类中的 __init__ 方法使用 super() 函数调用父类的 __init__ 方法,以便子类可以继承父类的属性。子类中的 say_hello 方法使用 super() 函数调用父类的 say_hello 方法,并添加了自己的打印语句。

现在我们可以创建一个 Student 对象并调用它的方法:

student = Student("Alice", 15, 9)
student.say_hello()

输出结果为:

Hello, my name is Alice
I am a student in grade 9

这个例子展示了如何使用继承来创建一个子类,并继承父类的属性和方法。子类可以添加自己的方法和属性,也可以重写父类的方法。

封装

在Python中,封装是指将数据和方法包装在一个类中,以保护数据不被外部直接访问和修改。这样可以确保数据的安全性和一致性,同时也可以隐藏实现细节,使代码更加简洁和易于维护。

Python中实现封装的方式是通过使用访问控制符来限制对类的属性和方法的访问。Python中有两种访问控制符:公有和私有。

公有属性和方法可以被类的外部访问,私有属性和方法只能在类的内部访问。在Python中,私有属性和方法的命名规则是在属性或方法名前加上两个下划线“__”。

下面是一个简单的例子,演示了如何在Python中实现封装:

class Person:
    def __init__(self, name, age):
        self.__name = name
        self.__age = age

    def get_name(self):
        return self.__name

    def get_age(self):
        return self.__age

    def set_name(self, name):
        self.__name = name

    def set_age(self, age):
        self.__age = age

p = Person("Tom", 20)
print(p.get_name())  # 输出:Tom
print(p.get_age())   # 输出:20

p.set_name("Jerry")
p.set_age(25)
print(p.get_name())  # 输出:Jerry
print(p.get_age())   # 输出:25

# 下面这行代码会报错,因为__name是私有属性,外部无法直接访问
# print(p.__name)

在上面的例子中,我们定义了一个Person类,包含了两个私有属性__name和__age,以及四个公有方法get_name、get_age、set_name和set_age。通过这些方法,我们可以获取和修改对象的属性值,同时保证了属性的安全性。

需要注意的是,Python中的私有属性和方法并不是真正的私有,只是通过命名规则来实现的。如果知道了私有属性和方法的名称,仍然可以在类的外部访问和修改它们。因此,封装并不是完全保证数据的安全性,而是提高了数据的安全性和可维护性。

类的专有方法

在Python中,类的专有方法是指以双下划线开头和结尾的方法,也称为魔术方法或特殊方法。这些方法在类的实例化、属性访问、运算符重载等方面起着重要作用。以下是一些常用的类的专有方法:

  • init(self, …):构造方法,用于初始化对象的属性。

  • str(self):返回对象的字符串表示,可以通过print()函数输出。

  • repr(self):返回对象的字符串表示,可以通过交互式命令行输出。

  • getattr(self, name):当访问不存在的属性时调用。

  • setattr(self, name, value):当设置属性值时调用。

  • delattr(self, name):当删除属性时调用。

  • len(self):返回对象的长度,可以通过len()函数调用。

  • getitem(self, key):当通过索引访问对象时调用。

  • setitem(self, key, value):当通过索引设置对象的值时调用。

  • delitem(self, key):当通过索引删除对象时调用。

  • eq(self, other):当比较两个对象是否相等时调用。

  • lt(self, other):当比较两个对象大小时调用。

八丶异常与文件处理

异常处理:

在Python中,异常处理是一种处理程序中出现错误的方式。当程序出现错误时,Python会引发异常。异常是一种Python对象,表示程序中的错误或异常情况。Python提供了try-except语句来捕获和处理异常。

try-except语句的基本语法如下:

try:
    # 代码块
except ExceptionType:
    # 异常处理代码块

其中,try语句块中包含可能引发异常的代码,如果try语句块中的代码引发了异常,则会跳转到except语句块中执行异常处理代码。

文件处理:

Python中的文件处理包括文件的读取、写入和关闭等操作。Python提供了open()函数来打开文件,可以指定文件名、打开模式和编码方式等参数。

打开文件的基本语法如下:

file = open(filename, mode, encoding)

其中,filename是文件名,mode是打开模式,encoding是编码方式。打开模式包括:

  • ‘r’:只读模式,打开文件后只能读取文件内容,不能修改文件内容。
  • ‘w’:写入模式,打开文件后可以写入文件内容,如果文件不存在则创建文件,如果文件已存在则清空文件内容。
  • ‘a’:追加模式,打开文件后可以在文件末尾追加内容,如果文件不存在则创建文件。
  • ‘x’:独占模式,打开文件后只能写入文件内容,如果文件已存在则抛出FileExistsError异常。
  • ‘b’:二进制模式,打开文件时以二进制方式读取或写入文件内容。 文件打开后,可以使用read()、write()和close()等方法来读取、写入和关闭文件。

读取文件的基本语法如下:

content = file.read()

其中,file是文件对象,read()方法用于读取文件内容。

写入文件的基本语法如下:

file.write(content)

其中,file是文件对象,write()方法用于写入文件内容。

关闭文件的基本语法如下:

file.close()

其中,file是文件对象,close()方法用于关闭文件。

---------------------------END---------------------------

题外话

当下这个大数据时代不掌握一门编程语言怎么跟的上时代呢?当下最火的编程语言Python前景一片光明!如果你也想跟上时代提升自己那么请看一下.

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。


👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

嵌入式通讯协议全解析:UART、I2C、SPI、CAN与Modbus实战指南 通讯协议是嵌入式系统设计的核心基础,也是面试与工程实践中避不开的关键环节。从串口UART的异步收发,到I2C总线寻址与SPI高速全双工传输,再到RS485差分长距离通信、CAN总线多主仲裁机制,以及工业领域事实标准的Modbus RTU协议,每一种技术都对应着特定的应用场景与设计权衡。理解协议背后的物理层原理、时序特征和工程坑点,才能真正解决设备间通信的选型、调试与健壮性问题。本文从基础概念出发,系统梳理各类嵌入式通讯协议的工作机制,并结合实际代码示例与对比表格,帮助开发者在面对面试问题或项目设计时,构建从 阅读详情

相关推荐

步科触摸屏编程

1.首先官网上下载kinco软件,然后再安装驱动,安装的方式是需要两个文件。把两个文件放到driver文件夹下面,然后设备管理器右键更新,手选driver文件夹,自动安装即可。 步科触摸屏驱动文件下载地址 2.按照步科触摸屏使用手册一步一步来建立工程 Kinco HMIware使用手册下载地址 登录界面 涉及到的是页面切换,用的是login window,然后只留下等级输入那个

MAYBE的博客 2万+

上岸第一剑,编程语法必修:python并发编程

回顾昨天的内容,昨天从基础入门,列表与元组,字符串,字典,条件循环和其他语句,函数,面向对象编程,异常与文件处理等八个方向讲述了python语法编程,今天来到第二章python并发编程从以下四个方向展开讲述网络编程多线程多进程协程TCP/IP是一种网络协议,它是互联网的基础协议。TCP/IP协议族包括了许多协议,其中最重要的是TCP和IP协议。TCP协议是一种面向连接的协议,它提供了可靠的数据传输服务。TCP协议通过三次握手建立连接,然后通过数据分段和确认机制来保证数据的可靠传输。IP。

z099164的博客 912

数据库行转列的sql语句

 问题描述假设有张学生成绩表(CJ)如下Name Subject Result张三 语文 80张三 数学 90张三 物理 85李四 语文 85李四 数学 92李四 物理 82现在 想写  sql 语句     查询后结果 为    姓名 语文 数学 物理张三 80 90 85李四 85 92 82       该怎么实现 ?研究意义        这是个并不复杂的问题,但却是数

jb303的专栏 2249

上岸第一剑,编程语法必修:python语法编程

上岸第一剑,编程语法必修:python语法编程

Java癫疯的博客 126

【现代信号处理】01 -概率论与随机过程回顾

概率论与随机过程回顾 文章目录概率论与随机过程回顾1. 统计模型的相关概念1.1 统计实验(不确定性)1.2 样本点1.3 样本空间Ω1.4 概率1.5.统计模型是先验的2. 概率和统计的差异2.1 联系2.2 差异2.3.1 概率和统计问题的三要素2.3.1.1 model-模型2.3.1.2 data-数据2.3.1.3 decision-决策2.3.2 关系图3. 样本空间的重要性3.1 贝朗特悖论3.1.1 解法一3.1.2 解法二3.1.3 解法三3.2 结论4.概率相关的概念4.1 随机变量4.

qq_41741344的博客 1406

ArcGIS学习记录—SHP文件转换为KML KMZ数据,并显示面要素相应的标注

使用相应软件操作获取KMZ数据得以下发到外业调查人员,使得矢量数据能够更显而易见,可视化,让外业人员的工作减轻许多。(过程步骤是借鉴于网络上的相关人士给的建议,根据这些建议自己做出来的步骤,可能有些粗略,有问题的话可以再进行探讨)...

qq_41046162的博客 5万+

练习两年半......写给python初中级的进阶指南,该怎么学?

分享python路上有趣的知识点,不仅仅于技术,更有更多面试题,教程,源码分享!内容1.面试专题几十个大厂面试题2.入门基础教程3.11模块零基础到精通笔记4.百个项目实战+爬虫教程+代码5.量化交易,机器学习,深度学习6.Python游戏源码7.交流学习8.了解接单市场9.DNF自动识别打怪10.3263页学习资料。

z099164的博客 1017

CNN卷积神经网络手写数字识别实例及代码详解

本文的代码来自githup的Deep Learning的toolbox,是用Matlab实现的。感谢该toolbox的作者付出和分享。 我在应该该代码进行训练时,出现一些报错,如expand函数应用不对,flipall函数未定义等问题,对这些问题进行了修正,完成网络训练和验证。 本文mnist_uint8.mat的获取可以参照我的另一篇博客:MNIST数据库处理--matlab生成mnist_

VivienFu的专栏 6万+

Python潮流周刊#5:并发一百万个任务要用多少内存?

△点击上方“Python猫”关注 ,回复“1”领取电子书你好,我是猫哥。这里记录每周值得分享的 Python 及通用技术内容,部分为英文,已在小标题注明。(标题取自其中一则分享,不代表全部内容都是该主题,特此声明。)由于公众号不支持外链,文中大量链接可通过文末「阅读原文」查看,或者通过这个链接直达我的博客阅读:https://pythoncat.top/posts/2023-06-03-weekl...

Python猫 557

PID控制参数整定(调节方法)原理+图示+MATLAB调试

序 首先最重要的是了解每个参数调节了系统响应的那些属性,通过观察响应从而调节参数改变属性。 PID的作用概述: 1、P产生响应速度和力度,过小响应慢,过大会产生振荡,是I和D的基础。 2、I在有系统误差和外力作用时消除偏差、提高精度,同时也会增加响应速度,产生过冲,过大会产生振荡。 3、D抑制过冲和振荡,过小系统会过冲,过大会减慢响应速度。D的另外一个作用是抵抗外界的突发干扰,阻止系统的突变。 同时调节的顺序是:P>I>D 下面了解的一个很重要的就是调节的目标,也就是最好的响应曲线.

viafcccy的博客 16万+

别再只会复制Haar级联代码了!OpenCV人脸检测全方案深度解析,从原理到工业级落地

通用预训练模型在你的业务场景效果不好时,用自己的业务数据集训练专属的级联器,是提升精度的终极方案,OpenCV自带和工具,支持自定义Haar/LBP级联器训练。场景首选方案次选方案新手入门学习Haar级联分类器LBP级联分类器嵌入式轻量固定场景LBP级联分类器YuNet轻量版工业级落地项目(99%场景)DNN+YuNetMTCNN多人脸+小目标复杂场景DNN+YuNet自定义微调模型同时做人脸+其他目标检测。

2601_94871597的博客 380

小白励志敲代码

目前我所了解的关于编程的内容并不多也不够精通,但是关于对编程的学习方向,编程的前景以及最关注的学习编程的就业,作为物联网工程的学习,应该保持敏锐的观察力、洞察力。当然必须有当将军的潜质和勇气,如果连想都不敢想,你便一开始就把自己的思维动力遏制在了行动的摇篮里面,我要做的就是精进自己的技术,然后就是多参与企业的实训项目,争取开始能够拿到一个好的offer,目前只是我大概得构思想法,关于更多的学习和发展的内容 我会不定期的发送出来,希望大家多多支持 ,我们从零开始,共同进步。

weixin_69142419的博客 401

YOLO系列算法改进 | Neck改进篇 | 融合FAAFusion傅里叶角度对齐模块 | 攻克多尺度方向特征冲突,角度检测精度飙升! | CVPR 2026

YOLO系列算法改进 | Neck改进篇 | 融合FAAFusion傅里叶角度对齐模块 | 攻克多尺度方向特征冲突,角度检测精度飙升! | CVPR 2026 (以YOLO26最新目标检测模型为基础,利用FAAFusion傅里叶角度对齐模块改进Neck部分)

2502_91881744的博客 317

Django 后端开发工程师超全面学习路线 | 从入门到求职实战指南

🔥。

笨笨轻松熊的博客 903

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

粉丝提问:非科班大二学过Python,想跨考408硕士,如何规划学习路线?

至于你说的考研408的四门课程是计算机网络,操作系统,数据结构与算法原理,计算机组成原理,其实它同样只是考研的一部分,毕竟考研最终是依靠总分进行录取,如果针对于考研的话,专业课部分来说,事实上拉不开太大差距的,考研能真正拉开差距的主要是数学,英语以及政治,然后才是专业课部分。考研你往哪所学校的哪个专业报,其实都是可以的,只要你能通过考研的复试分数线,因此你最重要的一定一定是你要通过考研的初试,如果没有通过初试的筛选,后面即使你的各个项目经历以及代码能力都非常优秀,你没进去复试,那么一切等于零。

千与编程 573

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

备战转行网安?我上岸工程师岗、年薪 30W+,经验总结都在这

摘要:互联网行业尤其是网络安全领域成为年轻人热门就业选择,因其高薪资(30w+)和广阔前景。对于零基础转行者,渗透测试是较易入门的细分方向,建议从Web渗透入手,利用高质量靶场(如Vulnhub、HackTheBox)进行实战训练,重点掌握OWASP TOP 10漏洞原理。学习路径包括:网络安全理论(2天)、渗透测试基础(1周)、操作系统基础(1周)等,通过体系化学习和实战项目积累经验,最终实现职业转型。

2402_84205067的博客 404

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

网易云课堂资源合集百度云分享 下载

2019康复职称考试【全套四门】 资源 百度云 康复教育网校Python-机器学习-进阶实战 资源 百度云 唐宇迪全民一起VBA提高篇(Excel数据处理) 资源 百度云 杨洋老师全网稀缺好课--徐sir的PS超神课 资源 百度云 PS东方站经济学人的动态图表与交互设计 资源 百度云 刘万祥ExcelPro19中级师康复医学治疗技术考试 资源 百度云 康复医学网校PS+AI+ID平面设计入门精通必...

weixin_34209851的博客 2万+
上一篇: python | 使用open读写文件
下一篇: Django-Vue 实战开发 第1章 Python 知识点速查
Python_P叔
博客等级 码龄3年 5454粉丝 827原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值