Python从小白到大神 -- 2Python基础

python基础教程:Python通过cv2读取多个USB摄像头 @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 本文实例为大家分享了Python通过cv2读取多个USB摄像头的具体代码,供大家参考,具体内容如下 通过 cv2 可以轻易的拿到摄像头数据。 比如以下几步就能打开摄像头显示,并通过 q 键保存图片 import cv2 capture = cv2.VideoCapture(0) # 打开自带的摄像头 if capture.i... 阅读详情

声明:
本文的学习内容来源于B站up主“泷羽sec”的公开分享,所有内容仅限于网络安全技术的交流学习,不涉及任何侵犯版权或其他侵权意图。如有任何侵权问题,请联系本人,我将立即删除相关内容。


1 基本数据类型

Python3 中常见的数据类型有:

  • Number(数字)
  • String(字符串):制表符、转行符、切片、
  • bool(布尔类型)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

1.1 Number(数字)

Python3 支持 int、float、bool、complex(复数)。

在 Python 3 里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。

像大多数语言一样,数值类型的赋值和计算都是很直观的。

内置的 type() 函数可以用来查看当前变量所指的对象类型。

a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))
# 输出:<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

1.2 String(字符串)

Python 中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。

字符串的截取的语法格式如下:

变量[头下标:尾下标]
# 定义一个字符串变量
str = 'SFeather'

print(str)          # 打印整个字符串
print(str[0:-1])    # 打印字符串第一个到倒数第二个字符(不包含最后一个字符)
print(str[0])       # 打印字符串的第一个字符
print(str[2:5])     # 打印字符串第三到第五个字符(包含第三个字符)
print(str[2:])      # 打印字符串从第三个字符开始到末尾
print(str * 2)      # 打印字符串两次
print(str + "TEST") # 打印字符串和 "TEST" 拼接在一起

输出结果

SFeather
SFeathe
S
eat
eather
SFeatherSFeather
SFeatherTEST

Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r 表示原始字符串:

print('SF\neather')
# 输出:
# SF
# eather

print(r'SF\neather')
# 输出:SF\neather

1.3 List(列表)

List(列表)是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字、字符串甚至可以包含列表(所谓嵌套)。

列表写在方括号 [] 之间,用逗号分隔其中的元素。

和字符串一样,列表同样可以被索引和截取,列表截取后返回一个包含所需元素的新列表。

列表截取的语法格式如下:

变量[头下标:尾下标]

索引值以 0 为开始值,-1 为从末尾的开始位置。

加号 + 是列表连接运算符,星号 * 是重复操作符。如下实例:

# 定义一个列表
list = ['abcd', 786, 2.23, 'SFeather', 70.2]
tinyList = [123, 'SFeather']

print(list)             # 打印整个列表
print(list[0])          # 打印列表的第一个元素
print(list[1:3])        # 打印列表第二到第三个元素(不包含第四个元素)
print(list[2:])         # 打印列表从第三个元素开始到末尾
print(tinyList * 2)     # 打印 tinyList 列表两次
print(list + tinyList)  # 打印两个列表拼接在一起的结果

输出结果:

['abcd', 786, 2.23, 'SFeather', 70.2]
abcd
[786, 2.23]
[2.23, 'SFeather', 70.2]
[123, 'SFeather', 123, 'SFeather']
['abcd', 786, 2.23, 'SFeather', 70.2, 123, 'SFeather']

List 内置了很多方法,例如 append()、pop() 等等。

列表推导式

tuple = ['name', 'age', 'address']
list1 = [x for x in tuple]
list2 = [x for x in range(20)]
print(list1)
print(list2)

输出结果:

['name', 'age', 'address']
[0, 1, 2, ..., 19]

1.4 Tuple(元组)

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。

元组推导式

tuple = ('name', 'age', 'address')
x = {x for x in tuple}
print(x)

输出结果

{'name', 'age', 'address'}

1.5 Dictionary(字典)

字典(dictionary)是 Python 中另一个非常有用的内置数据类型。

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用 {} 标识,它是一个无序的 键(key) : 值(value) 的集合。

键 (key) 必须使用不可变类型。

在同一个字典中,键 (key) 必须是唯一的。

# 定义字典
dict = {}
dict['one'] = "1 - 凌羽Sec"
dict[2]     = "2 - 凌羽Sec"

tinydict = {'name': '小羽老师', 'code': 1, 'site': 'sec.54cto.com'}

print(dict['one'])        # 输出键为 'one' 的值
print(dict[2])            # 输出键为 2 的值
print(tinydict)           # 输出完整的字典
print(tinydict.keys())    # 输出所有键
print(tinydict.values())  # 输出所有值

输出结果

1 - 凌羽Sec
2 - 凌羽Sec
{'name': '小羽老师', 'code': 1, 'site': 'sec.54cto.com'}
dict_keys(['name', 'code', 'site'])
dict_values(['小羽老师', 1, 'sec.54cto.com'])

字典推导式

num = 99
x = {x: index * num for index, x in enumerate(['key1', 'key2', 'key3'])}
print(x)

输出结果

{'key1': 0, 'key2': 99, 'key3': 198}

2. 条件控制(if,elif,else)

str = input("泷酱帅不帅")  
  
if str == "帅":  
    print("送一个小蛋糕")  
elif str == "不帅":  
    print("让他请大伙吃饭")  
else:  
    print("12312313")

3. 循环语句

3.1 while

while(1) : print("欢迎来到泷羽sec!")

o = 7  
i = 0  
while(i<10):  
    i+=1  
    if i%2 == 0:  
       continue  # 跳过下面代码直接执行下一回循环
    elif i == o:  
       break;    # 跳出循环
    print(i)

3.2 for循环

list1 = []
for i inrange(1, 11):
	list.append(i)

list2 = [x for x in range(1, 11)]

for获取当前循环次数

for index, x in enumerate(range(1, 11)):
	print(index, x)

for…else

在 Python 中,for…else 语句用于在循环结束后执行一段代码。

语法格式如下:

for item in iterable:
    # 循环主体
else:
    # 循环结束后执行的代码

当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码。如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。

实例
for x in range(6):
    print(x)
else:
    print("程序结束!")
输出
0
1
2
3
4
5
程序结束!

3.3 pass 语句

Python pass 是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用作占位语句,如下实例:

while condition:
    pass

for item in iterable:
    pass

class MyClass:
    pass

def my_function():
    pass

4 函数

4.1 函数声明

def get_name():
	print("这是一个函数")

4.2 函数调用

if __name__ == "__main__":
	get_name()

4.3 参数传递

def get_name(n):
	print("第{}次运行函数".format(n))

if __name__ == "__main__":
	get_name(0)

4.4 递归调用

def get_name(n):
	print("第{}次运行函数".format(n))
	if(n<5):
		get_name(n+1)

if __name__ == "__main__":
	get_name(0)

![[image/Pasted image 20241113131624.png]]


5 迭代器和生成器

5.1 迭代器

迭代是 Python 最强大的功能之一,是访问集合元素的一种方式。

迭代器是一个可以记住遍历位置的对象。

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

迭代器有两个基本的方法:iter() 和 next()。

字符串、列表或元组对象都可以用于创建迭代器:

list = [1, 2, 3, 4]
it = iter(list)    # 创建迭代器对象
print(next(it))    # 输出迭代器的下一个元素
print(next(it))

迭代器对象可以使用常规 for 语句进行遍历:

list = [1, 2, 3, 4]
it = iter(list)    # 创建迭代器对象
for x in it:
    print(x, end=" ")

输出结果

1 2 3 4

也可以使用 next() 函数:

import sys    # 引入 sys 模块

list = [1, 2, 3, 4]
it = iter(list)    # 创建迭代器对象

while True:
    try:
        print(next(it))
    except StopIteration:
        sys.exit()

5.2 生成器

生成器可以在循环中逐个返回值,而不必将所有值一次性加载到内存中。生成器函数使用 yield 关键字来暂停执行并产生一个值, 然后在需要下一个值时再恢复执行。这使得生成器在处理大量数据或无限序列时非常高效。

生成器看起来像一个普通函数,但使用 yield 而不是 return 返回结果。每次调用生成器函数时,它都会在上次离开的位置继续执行。

基本案例

def simple_generator():
    yield 1
    yield 2
    yield 3

gen = simple_generator()

for value in gen:
    print(value)

输出结果

1
2
3

斐波那契数列生成器

def fibonacci_generator(n):
    a, b = 0, 1
    for _ in range(n):
        yield a
        a, b = b, a + b

# 使用生成器
n = 10
fib_gen = fibonacci_generator(n)
for num in fib_gen:
    print(num)

输出结果

0
1
1
2
3
5
8
13
21
34

6 lambda 表达式

lambda 函数通常用于编写简单的、单行的函数,通常在需要函数作为参数传递的情况下使用,例如在 map()、filter()、reduce() 等函数中。

f = lambda: "Hello, world!"
print(f())  # 输出:Hello, world!

以下实例使用 lambda 创建匿名函数,设置一个函数参数 a,函数计算参数 a 加 10,并返回结果:

x = lambda a: a + 10
print(x(5))

以下实例使用 lambda 创建匿名函数,函数参数 a、b 与 c 相加,并返回结果:

x = lambda a, b, c: a + b + c
print(x(5, 6, 2))

lambda 函数通常与内置函数如 map()、filter() 和 reduce() 一起使用,以便在集合上执行操作。例如:

numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared)  # 输出: [1, 4, 9, 16, 25]

这段代码的目的是将列表 numbers 中的每个数字平方后,存入一个新的列表 squared 中。我们可以分步骤详细解读这段代码:

numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared)  # 输出: [1, 4, 9, 16, 25]

代码讲解

1. 初始化一个列表 numbers

numbers = [1, 2, 3, 4, 5]

这一行定义了一个名为 numbers 的列表,包含 5 个整数:1, 2, 3, 4, 5。

2. 使用 map 和 lambda 进行平方操作

squared = list(map(lambda x: x**2, numbers))

这一行代码使用 map 函数和 lambda 表达式对 numbers 列表中的每个元素进行平方操作,并将结果转为列表 squared。

  • map 函数:

    • map 是 Python 的一个内置函数,用于将一个函数应用到可迭代对象(如列表、元组等)的每个元素上。
    • 它的语法是 map(function, iterable),其中 function 是要应用的函数,iterable 是要处理的序列(这里是 numbers)。
    • map 会返回一个映射对象,需要用 list() 将它转换为列表形式。
  • lambda 表达式:

    • lambda 是一个匿名函数,允许我们定义一个短小的函数,而不必使用 def 关键字。
    • 这里的 lambda x: x**2 是一个匿名函数,接收一个参数 x,并返回 x 的平方 x**2。
    • x**2 中的 ** 表示指数运算,x**2 等价于 x * x。

3. 将 map 的结果转换为列表

map 返回的是一个迭代器对象,我们使用 list() 将它转换为列表,得到平方后的结果。

4. 输出结果

print(squared)  # 输出: [1, 4, 9, 16, 25]

这一行打印出 squared 列表的内容,即 [1, 4, 9, 16, 25],表示 numbers 列表中每个元素的平方值。

整体流程

  1. map(lambda x: x**2, numbers) 会依次将 numbers 列表中的每个元素传递给 lambda x: x**2。
  2. lambda 函数将接收到的 x 进行平方运算,返回 x**2。
  3. map 收集所有平方值,并返回一个迭代器。
  4. list() 将迭代器转换为列表。
  5. 最终,squared 得到 [1, 4, 9, 16, 25]。

示例解读:

等效于:

squared = []
for x in numbers:
    squared.append(x**2)
print(squared)  # 输出: [1, 4, 9, 16, 25]

这段代码实现了与 map 和 lambda 一样的效果,即将 numbers 列表中的每个元素平方并存入 squared 列表中。


7 异常处理

异常捕捉可以使用 try/except 语句。

以下例子中,让用户输入一个合法的整数,但是允许用户中断这个程序(使用 Control-C 或者操作系统提供的方式)。用户中断的信息会引发一个 KeyboardInterrupt 异常。

while True:
    try:
        x = int(input("请输入一个数字: "))
        break
    except ValueError:
        print("您输入的不是数字,请再次尝试输入!")

try 语句按照以下方式工作:

  • 首先,执行 try 子句(在关键字 try 和关键字 except 之间的语句)。
  • 如果没有异常发生,忽略 except 子句,try 子句执行后结束。
  • 如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的 except 子句将被执行。
  • 如果一个异常没有与任何的 except 匹配,那么这个异常将会传递给上层的 try 中。

一个 try 语句可能包含多个 except 子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。

处理程序将只针对对应的 try 子句中的异常进行处理,而不是其他的 try 的处理程序中的异常。

一个 except 子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组,例如:

except (RuntimeError, TypeError, NameError):
    pass

try-finally

try-finally 语句无论是否发生异常都将执行最后的代码。

try:
    runoob()
except AssertionError as error:
    print(error)
else:
    try:
        with open('file.log') as file:
            read_data = file.read()
    except FileNotFoundError as fnf_error:
        print(fnf_error)
finally:
    print("这句话,无论异常是否发生都会执行。")

代码结构与流程

代码分为以下几个部分:

  1. 外层 try 块:尝试运行 runoob() 函数。
  2. except 块:捕获 AssertionError 异常。
  3. else 块:如果没有异常发生,则执行 else 块中的代码。
  4. 嵌套 try-except 块:在 else 块中再次尝试打开文件,捕获 FileNotFoundError 异常。
  5. finally 块:无论是否发生异常,都会执行的代码块。

逐行解析

1. try 块
try:
    runoob()
  • 这里的 try 块尝试运行一个函数 runoob()。
  • 如果 runoob() 执行过程中发生 AssertionError 异常,将跳到相应的 except 块处理异常;如果发生其他类型的异常,代码会抛出该异常而不会在 except AssertionError 块中处理。
2. except 块
except AssertionError as error:
    print(error)
  • 如果 try 块中的 runoob() 函数抛出 AssertionError 异常,就会执行这个 except 块。
  • AssertionError 是一种特定类型的异常,通常是在使用 assert 语句时失败时抛出的。
  • as error 会将 AssertionError 的异常信息赋值给 error 变量,便于我们在 print(error) 语句中打印该异常的具体信息。
  • 如果 try 块没有发生 AssertionError,那么 except 块不会被执行。
3. else 块
else:
    try:
        with open('file.log') as file:
            read_data = file.read()
    except FileNotFoundError as fnf_error:
        print(fnf_error)
  • else 块只有在 try 块中没有发生任何异常时才会执行。
  • 在 else 块中,有一个嵌套的 try-except 块,用于处理文件的读取。
  • with open('file.log') as file:尝试以只读模式打开文件 'file.log'。with 语句会自动管理文件上下文,无论文件操作是否成功,都会在离开 with 块时自动关闭文件。
  • read_data = file.read():读取文件内容并将其存储在 read_data 变量中。
  • 如果文件 'file.log' 不存在,则会引发 FileNotFoundError 异常,执行到 except FileNotFoundError as fnf_error 块。
except FileNotFoundError as fnf_error:
    print(fnf_error)
  • 如果文件不存在,FileNotFoundError 异常会被捕获,异常信息会被赋值给 fnf_error,然后通过 print(fnf_error) 输出异常的描述信息。
  • 如果文件成功打开并读取,except 块不会执行。
4. finally 块
finally:
    print("这句话,无论异常是否发生都会执行。")
  • finally 块中的代码无论是否发生异常都会执行。
  • 这是一个保证执行的块,通常用于释放资源或执行清理工作(比如关闭文件、释放内存等)。
  • 在这个例子中,不论 runoob() 函数是否抛出异常,print("这句话,无论异常是否发生都会执行。") 都会执行。

代码运行逻辑总结

  1. 尝试运行 runoob() 函数。
    • 如果 runoob() 抛出 AssertionError,则直接执行 except AssertionError as error 块,打印异常信息,然后跳到 finally 块。
    • 如果没有异常,继续执行 else 块。
  2. 在 else 块中,再次尝试打开并读取 'file.log' 文件。
    • 如果文件不存在,抛出 FileNotFoundError,执行嵌套的 except FileNotFoundError as fnf_error 块,打印异常信息。
    • 如果文件成功打开并读取,跳过嵌套的 except 块。
  3. 最后,无论是否发生异常,finally 块中的内容都会执行,打印出 "这句话,无论异常是否发生都会执行。"。

示例情况

  • 情况 1:runoob() 正常执行且文件存在。
    • 输出文件内容,并打印 finally 的信息。
  • 情况 2:runoob() 引发 AssertionError。
    • 输出 AssertionError 的信息,并打印 finally 的信息。
  • 情况 3:runoob() 正常执行,但文件不存在。
    • 输出 FileNotFoundError 的信息,并打印 finally 的信息。

8文件读写教程

Python 提供了多种文件操作方式,包括读取文件内容、写入数据到文件以及处理文件路径等。本教程将介绍如何使用 Python 进行基本的文件操作。

8.1 打开文件

在 Python 中,可以使用 open() 函数打开一个文件。open() 函数接受两个主要参数:文件路径和模式。

模式参数说明:

  • "r":只读模式(默认)。如果文件不存在会报错。
  • "w":写入模式。如果文件不存在则创建文件,如果文件存在会清空内容。
  • "a":追加模式。如果文件不存在则创建文件,文件存在则在末尾追加内容。
  • "r+":读写模式。允许同时进行读和写操作。
  • "b":以二进制模式打开文件(如图片、视频等非文本文件)。

示例代码:

# 打开文件,使用只读模式
file = open("example.txt", "r")

8.2 读取文件内容

可以使用 read()、readline() 或 readlines() 方法读取文件内容。

  • read(size):读取指定大小的内容(以字节为单位)。若未指定 size,则读取整个文件内容。
  • readline():读取一行内容。
  • readlines():读取所有行并返回一个列表,每一行作为列表中的一个元素。

示例代码:

file = open("example.txt", "r")  # 打开文件,使用只读模式

# 读取整个文件内容
content = file.read()
print(content)

# 读取文件的第一行
file.seek(0)  # 重置文件指针到文件开头
first_line = file.readline()
print(first_line)

# 读取文件的所有行
file.seek(0)  # 重置文件指针到文件开头
all_lines = file.readlines()
print(all_lines)

file.close()  # 关闭文件

8.3 写入文件内容

使用 write() 方法将内容写入文件,或使用 writelines() 方法将一个字符串列表写入文件。注意:写入模式会清空文件的原有内容。

示例代码:

# 写入模式,如果文件不存在会创建文件
file = open("example.txt", "w")

# 写入单行内容
file.write("Hello, this is a new line.\n")

# 写入多行内容
lines = ["This is line 1\n", "This is line 2\n", "This is line 3\n"]
file.writelines(lines)

file.close()  # 关闭文件

8.4 追加内容到文件

使用 a 模式可以向文件的末尾追加内容,而不清空文件的现有内容。

示例代码:

# 追加模式
file = open("example.txt", "a")

# 追加单行内容
file.write("This line is appended to the file.\n")

file.close()  # 关闭文件

8.5 使用 with 语句自动关闭文件

在 Python 中,推荐使用 with 语句进行文件操作。with 语句可以在操作完成后自动关闭文件,避免手动调用 close() 方法。

示例代码:

# 使用 with 语句打开文件进行读取
with open("example.txt", "r") as file:
    content = file.read()
    print(content)  # 文件会在退出 with 块时自动关闭

# 使用 with 语句打开文件进行写入
with open("example.txt", "w") as file:
    file.write("Using 'with' to open and write to file.\n")

8.6 文件路径

可以使用 os 模块来处理文件路径,使代码更具兼容性。

示例代码:

import os

# 获取当前工作目录
current_directory = os.getcwd()
print("Current Directory:", current_directory)

# 拼接路径
file_path = os.path.join(current_directory, "example.txt")
print("File Path:", file_path)

# 检查文件是否存在
if os.path.exists(file_path):
    print("File exists.")
else:
    print("File does not exist.")

8.7 常用文件操作总结

操作方法示例代码
打开文件open(file, mode)file = open("example.txt", "r")
读取整个文件file.read()content = file.read()
读取一行file.readline()line = file.readline()
读取所有行file.readlines()lines = file.readlines()
写入内容file.write(data)file.write("Hello")
写入多行内容file.writelines(lines)file.writelines(["Line1\n", "Line2\n"])
追加内容file.write(data) with "a"file = open("example.txt", "a")
自动关闭文件with open(file, mode)with open("example.txt", "r") as file
检查文件是否存在os.path.exists(path)os.path.exists("example.txt")
ROS2中的Python编程完全指南:从零基础到机器人开发实战 本文介绍了Python编程与ROS2机器人开发的核心内容。首先讲解了Python基础语法,包括数据类型、控制流、函数定义和面向对象编程。然后详细说明了ROS2开发环境搭建步骤,包括Ubuntu系统配置、ROS2安装和工具链设置。重点阐述了ROS2节点创建、四种通信机制(话题/服务/动作/参数)的实现方法,以及面向对象在ROS2中的高级应用。最后通过智能巡逻机器人实战项目,展示了系统架构设计、关键代码实现和调试优化技巧。文章还提供了进阶学习路径和常用Python库推荐,强调Python在ROS2开发中的高效性 阅读详情

相关推荐

Python 2.7 安装与基础知识指南

安装向导提供了一些自定义选项,允许用户决定安装哪些组件或调整安装路径:安装路径- 更改默认的安装路径,以适应你的个人偏好或系统空间分配。高级选项- 包括是否将Python添加到环境变量PATH、是否创建启动菜单文件夹等。Python拥有多种数据类型,以下是一些常用的类型:整数 (int): 用于表示整数,例如 1, 2, -3。浮点数 (float): 用于表示带有小数点的数,例如 1.2, -3.14。

weixin_29903713的博客 1993

Python2 基础语法

Python 语言与 Perl,C 和 Java 等语言有许多相似之处。但是,也存在一些差异。 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程。 第一个 Python 程序 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码。 linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ python Python 2.7.6 (default, Sep 9 2014, 15:04:36) [GC

qq_43356200的博客 603

【Unity】ABB CRB 15000 外部引导运动实战:从配置到实时控制

本文详细介绍了ABB CRB 15000协作机器人的外部引导运动(EGM)功能在Unity环境中的实战应用。从RobotStudio配置到Unity实时通信架构,再到EGM运动控制技巧和问题排查,全面解析如何实现机器人的高精度实时控制。通过实际案例展示EGM技术在精密装配等场景中的显著效果,帮助开发者快速掌握这一先进技术。

weixin_29057695的博客 444

python2_画画基础

【代码】python2_画画基础。

baidu_28767649的博客 256

5分钟搞定Conflux钱包注册:Fluent钱包从安装到转账全流程指南

本文提供Conflux公链上Fluent钱包的完整注册和使用指南,涵盖从安装、助记词备份到CFX转账的全流程。特别强调安全操作要点,包括助记词保管和网络选择,帮助用户5分钟内快速掌握这款国产公链钱包的核心功能,确保数字资产安全。

weixin_29181861的博客 244

移远EC21/EC200模组休眠功耗从13mA降到6mA,我排查了这3个坑(附完整AT指令流程)

本文详细介绍了移远EC21/EC200模组休眠功耗从13mA优化至6mA的完整解决方案,涵盖硬件设计检查、AT指令配置、RTOS调度优化和固件兼容性验证等关键步骤。通过系统性的低功耗问题诊断框架,帮助IoT设备开发者有效提升电池续航能力,特别适合智能水表等电池供电场景应用。

weixin_30715523的博客 534

教程 | Python2基础教学

Python2是Python语言的一个旧版本,其最后一个正式发布的版本是Python2.7(2010年发布)。在Python2中,许多常见的功能和语法与Python3有所不同,尽管大多数Python2代码仍可以在Python3中运行,但有一些不兼容的部分。Python2的一个重要特性是默认的字符编码(即ASCII),这在Python3中已经被UTF-8替代。

The God Of BigData 的博客 928

1.1什么是Zephyr?与FreeRTOSRT-Thread对比

我自己的项目里,三个系统都用过。这个芯片的原厂BSP哪个OS做得最靠谱?(实测,别看广告)项目核心需求是不是某个OS的“长板”?(别为了10%的功能牺牲90%的稳定性)团队三个月后能不能愉快地维护代码?(开发体验影响长期生产力)最后送一句干货:选型定不下来时,拿一块项目用的开发板,分别用三个OS跑同一个demo(比如按键控制LED+串口打印)。移植过程遇到的问题、代码看起来舒不舒服,你的直觉会告诉你答案。嵌入式没有完美解,只有适合当下的解。选好了,就踏实地写代码;

m0_50546716的博客 652

Python 2 用法详细讲解:从基础到进阶

Python 2 是 Python 编程语言的早期版本,于 2000 年发布。它以其简洁的语法和强大的功能而受到开发者的喜爱。尽管 Python 3 已经成为主流,但 Python 2 仍然在一些旧系统和遗留代码中被广泛使用。Python 2 是一种功能强大的编程语言,尽管 Python 3 已经成为主流,但 Python 2 仍然在一些旧系统和遗留代码中被广泛使用。本文详细介绍了 Python 2 的基本语法、常用功能以及一些高级特性,希望对你有所帮助。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 779

深度解析与实战:长短时记忆网络(LSTM)在股票走势预测中的应用(基于Python + PyTorch)

本文全面探讨了LSTM在股票价格预测中的应用,从理论基础到实践操作。文章首先强调了股票市场预测的重要性,并介绍了LSTM网络结构及其在处理时间序列数据中的优势。接着,详细说明了数据预处理的关键步骤,包括数据收集、清洗、特征选择和归一化。文章还讨论了LSTM模型的构建、训练和评估,并提供了Python及PyTorch的实操案例。最后,总结了LSTM在股票预测的成果,并提出了未来研究的方向,如模型优化和特征工程,旨在帮助读者掌握LSTM在股票价格预测中的应用,并探索提升模型性能的方法。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2100

YOLO11涨点优化:loss优化 | 一种新的基于Wasserstein距离的小目标检测评估方法,助力小目标涨点

提出了一种新的基于Wasserstein距离的小目标检测评估方法,通过它们对应的高斯分布计算它们之间的相似性

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1015

Day2 用Deepseek学习Python基础知识

虽然不是第一次接触编程,但是好久没写代码了,之前也没认真学过python,试一下用deepseek学python有没有用 输入与输出 运算符 条件判断(if-elif-else) 循环结构 for循环 while循环 列表与字典 函数 第三步:练习小项目 猜数字游戏 简易计算器 注意Python 2与3的区别 print语句 Python 2: Python 3: 输入函数 Python 2: 返回字符串, 会执行表达式 Python 3

QM_LX的博客 1914

【MERRA-2数据集】M2I1NXASM (5.12.4) 和 M2I1NXINT (5.12.4)概述

M2I1NXASM (5.12.4) 和 M2I1NXINT (5.12.4)概述

WW、forever的博客 680

python+selenium2学习笔记-python基础01

前言:语言是基础,语言学习的越扎实后期所花的时间就越少。我这里提供两个方法仅供参考(因为我也是个半懂不懂的菜鸡):1.大概的学习的python基础,然后继续学习selenium,这个好处是前期入门较快,但是在后面的理解上比如pom设计模式会卡你一段时间,而且容易处于一种半懂不懂的状态,知其然不知其所以然,像我一样。2.系统的学习语言基础,配合着扎实的学习基础,虽然前期进展慢,但是后面会比较轻松,前...

u013434475的博客 250

CATIA二次开发——遍历几何图形集下的轴系及控制轴系生成位置

CATIA二次开发——轴系相关问题1.遍历几何图形集下的轴系2.解决轴系生成位置的问题 1.遍历几何图形集下的轴系 近期遇到的问题:遍历轴系的时候发现,AxisSystem属性的轴系只有放在轴系集合下,才能被找到,放在几何图形集或其他位置均不能被找到。本来想遍历几何图形集下的轴系元素,但是发现没有对应的属性,只能查找 几何图形集、几何元素、草图等元素,无法直接遍历轴系。 解决办法:(加入选择集,在选择集中筛选轴系类型) HybridBody axisHB = activePart.HybridBodies

WorkMan的博客 2729

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Python基础2

Python基础2

Leonban的博客 272

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

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

Python基础知识之2

Python基础知识之2 输入、输出和切片 1. 输入 Python2和Python3在输入方面有些差别. Python2可以通过Input()和raw_input()函数输入数据;而python3只能通过input()输入数据 raw_input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示 raw_input()在从键盘获取了数据以后,会存放到等号右边的变量中 r...

qq_36828822的博客 305

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

2.python语法基础

2.python语法基础 标签(空格分隔): 4.1python 一 python的语法基础 1.python2版本注意添加默认为utf-8,位置在前两行 2.python的基本数据类型 2.1数据类型—None 2.2数据类型—Number 注:复合函数公式中的字母固定用j表示 3.数据类型—bool(布尔类型,只输出True或 False) 3.1代码展示 3.2延...

weixin_43487902的博客 248

python基础试题(2)

1.Python和Java、PHP、C、C#、C++等其他语言的对比? python是一种脚本语言,它的运行需要python解释器,属于解释型的语言,python本身就是由C语言开发出来的,而且是开源的,由此可见C语言的强大,;C语言属于中级语言,它介于高级和低级语言之间,C是编译型的语言,它的运行必须经过编译器的处理才能形成最终的执行代码,C语言的应用非常广泛,C语言最主要的用途就是系统底层的应用。 简单的说,它们都是编程语言。是在第三代和第四代编程语言。 都和C有关系。 底层解释器都是C写的。都存在进程

time_money的博客 1万+

Python2基础

本文为介绍了python的基础知识

qq_54334713的博客 1053

python基础教程txt免费-Python基础教程(第2版)

《Python基础教程(第2版)》内容涉及的范围较广,既能为初学者夯实基础,又能帮助程序员提升技能,适合各个层次的Python开发人员阅读参考。《Python基础教程(第2版)》是经典教程的全新改版.作者根据Python版本的种种变化,全面改写了书中内容,做到既能“瞻前”也能“顾后”。《Python基础教程(第2版)》层次鲜明、结构严谨、内容翔实,特别是在最后几章。作者将前面讲述的内容应用到了10...

weixin_37988176的博客 364

Python基础-测试代码-test2.py

Python基础-测试代码-test2.py 对类进行测试 # ~ coding=GBK import unittest # ~ 下面代码演示对一个类进行测试 # ~ 待测试的类AnonymousSurvey() class AnonymousSurvey(): '''收集匿名调查问卷的答案''' def __init__(self,question): '''存储一个问题,并为存储答案做准备''' self.question = question self.responses =

cssguzhe的博客 1170

【Python宇宙大探索 · 基础篇】小瑞瑞带你从零开始,2小时通关Python基础语法!

这篇文章是一篇面向初学者的Python编程入门教程,采用了生动有趣的"魔法师"比喻来讲解编程概念。教程内容包括: 编程与Python的魅力:将编程比作21世纪的魔法,强调Python语言简单强大的特点 入门实践: 从经典的"Hello World"开始 介绍变量和基本数据类型(字符串、整数、浮点数、布尔值) 讲解Python的动态类型特性 进阶内容: 数字运算(加减乘除等基本运算) 字符串操作(拼接、格式化f-string、常用方法) 用户交互(input函数的使用)

2501_91521769的博客 841

Python基础-函数-functions2.py

Python基础-函数-functions2.py # ~ coding=UTF-8 # ~ 此模块配合function1模块使用 import functions1 # ~ 让Python打开functions1.py文件,并将其中所有函数都复制到这个程序中, # ~ 运行程序后可在程序所在路径下看到多了一个"_pycache_"的文件夹, # ~ 文件夹中多了一个名称为"functions1.cpython-39"的Compiled Python文件 # ~ "-39"是因为电脑安装的Python

cssguzhe的博客 266

Python知识体系-Python2基础知识

Python2基础知识思维导图 文章目录Python2基础知识思维导图01基础知识102基础知识203数据类型04序列05字符串06列表元组07字典集合08条件循环09文件对象10错误与异常11函数112函数213模块14面向对象编程 本文说明: 本文隶属于Python知识体系中一部分 本文主要使用思维导图形式讲述Python基础知识,适合新学Python的小白。 01基础知识1 02基础知...

Scfan的博客天涯 413

Python 基础教程(第2版) 中文版+英文原版下载

Python基础教程 (第2版) 中文高清PDF版 Beginning Python: From Novice to Professional, 2nd Edition 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/09/27/1836416.html

weixin_30483697的博客 1167
上一篇: 安全见闻 -- 量子计算
下一篇: Python构建学工管理系统:教师与学生登录、信息管理与成绩处理
?crying
博客等级 码龄7年 449粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值