Python变量和数据类型

Python变量的定义和数据类型 简单易懂,只讲干货 阅读详情

1.1 变量

在Python中,变量是一个存储信息的容器,用于保持数据值。Python是动态类型语言,这意味着在创建变量时不需要声明数据类型;与之相对的是静态语言,在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言。动态类型语言的类型会在赋值时自动确定,同时变量的类型也可以在其生命周期中改变。

1.1.1 变量的创建和变量的命名规则

在Python中,变量在首次赋值时自动确定:

x = 5
name = "Alice"

这里,x是一个整数类型的变量,name是一个字符串类型的变量。

Python中的变量可以在运行时改变类型(动态性):

x = 4       # x 是一个整数类型
x = "Sally" # x 现在是一个字符串类型

变量名必须遵循一些 规则:

  • 必须以字母(a-z, A-Z)或下划线(_)开头。
  • 其余部分可以包含字母,数字(0-9)和下划线。
  • 变量名是大小写敏感的,这意味着Name和name是两个不同的变量。
  • 不允许使用Python关键字作为变量名。
  • 应避免使用Python内置函数和类名作为变量名,以免造成冲突。

PS:后两条规则不需要记忆,因为在IDE中都会显示不同的颜色。

# 合法的变量名
my_var = "Python"
_var = 23
myVar = "Python"
MYVAR = "Python"
myvar2 = "Python"

# 非法的变量名
2myvar = "Python" # 不能以数字开始
my-var = "Python" # 不能包含减号
my var = "Python" # 不能包含空格

1.1.1.1 Python 关键字

关键字是保留的单词,用于定义语言的结构和布局。在Python中,关键字不能用作变量名、函数名或任何其他标识符名称。截至Python 3.10版本,以下是所有的Python关键字:

False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield

这些关键字的含义和用法是固定的,每个关键字在Python语言中都有特定的功能。

1.1.1.2 Python 内置函数

Python 内置函数是随Python解释器提供的一组函数,无需导入任何模块即可直接使用。这些函数可以简化标准任务,并且是任何环境下Python的核心部分。截至Python 3.10版本,以下是一些常用的内置函数:

  • abs(): 返回一个数的绝对值。
  • all(): 如果可迭代对象的所有元素都为真(或可迭代对象为空),则返回True。
  • any(): 如果可迭代对象的任一元素为真,则返回True。
  • bin(): 将一个整数转换为一个二进制字符串。
  • bool(): 将一个值转换为布尔值。
  • callable(): 检查对象是否可调用。
  • chr(): 返回对应于整数 i 的Unicode字符。
  • dict(): 创建一个新字典。
  • dir(): 尝试返回对象的属性列表。
  • divmod(): 返回一对数的商和余数。
  • enumerate(): 返回一个枚举对象。
  • eval(): 解析并执行表达式。
  • filter(): 使用过滤器函数过滤可迭代对象。
  • getattr(): 获取对象的属性值。
  • globals(): 返回当前全局符号表的字典。
  • hasattr(): 检查对象是否有给定属性。
  • hash(): 返回对象的哈希值。
  • help(): 调用内置的帮助系统。
  • hex(): 将一个整数转换为一个十六进制字符串。
  • id(): 返回对象的唯一标识符。
  • input(): 允许用户输入。
  • int(): 将一个值转换为整数。
  • isinstance(): 检查对象是否是类的实例。
  • issubclass(): 检查一个类是否是另一个类的子类。
  • iter(): 获取迭代器。
  • len(): 返回对象的长度。
  • list(): 创建一个新列表。
  • map(): 将函数应用于可迭代对象的每个项。
  • max(): 返回最大值。
  • min(): 返回最小值。
  • next(): 返回迭代器的下一个元素。
  • object(): 返回一个新的无特征对象。
  • oct(): 将一个整数转换为八进制字符串。
  • open(): 打开文件并返回对应的文件对象。
  • ord(): 返回一个字符的Unicode编码。
  • pow(): 返回x的y次方。
  • print(): 打印给定的对象。
  • range(): 生成一个数值序列。
  • repr(): 返回对象的字符串表示。
  • reversed(): 返回一个反向的迭代器。
  • round(): 四舍五入到给定的精度。
  • set(): 创建一个新集合。
  • setattr(): 设置对象的属性值。
  • slice(): 返回一个切片对象。
  • sorted(): 返回已排序的列表。
  • str(): 创建一个新字符串对象。
  • sum(): 对一个序列进行求和。
  • tuple(): 创建一个新元组。
  • type(): 返回对象的类型。
  • vars(): 返回对象的__dict__属性。
  • zip(): 创建一个聚合了来自每个可迭代对象的元素的迭代器。

1.1.1.3 Python 类名

在Python中,类名指内置的类名和用户自定义类的名称。以下是一些常见的内置类名:

  • int: 表示整数类型。
  • float: 表示浮点数类型。
  • complex: 表示复数类型。
  • list: 表示列表类型。
  • tuple: 表示元组类型。
  • dict: 表示字典类型。
  • set: 表示集合类型。
  • frozenset: 表示不可变集合类型。
  • str: 表示字符串类型。
  • bytes: 表示字节序列。
  • bytearray: 表示可变的字节序列。
  • memoryview: 表示内存视图对象。
  • object: 所有类的基类。
  • type: 类的类型;它本身也是一个类。
  • bool: 表示布尔类型。
  • enumerate: 枚举类型,用于返回枚举对象。
  • filter: 过滤器类型,用于构造迭代器。
  • map: 映射类型,用于构造迭代器。
  • range: 范围类型,用于表示不可变的序列数。
  • slice: 切片类型,用于表示由 slice() 构造的切片对象。
  • Exception: 所有异常的基类。

这些类名在Python中被广泛使用,是创建和操作相应数据类型对象的基础。

创建自定义类时,建议遵循大驼峰命名约定(CamelCase),即每个单词的首字母都大写,例如 MyClass。这有助于区分内置类名和用户自定义的类名。

1.1.2 变量的赋值和变量的作用域

变量可以通过=符号进行赋值,也可以使用多重赋值或链式赋值:

# 多重赋值
a, b, c = 5, 3.2, "Hello"

# 链式赋值
a = b = c = "Python"

变量的作用域决定了在哪里可以访问这个变量。在Python中,有以下几种作用域:

  • 局部作用域(Local):在函数或者类的方法中定义的变量,只能在该函数内部访问。
  • 全局作用域(Global):在函数之外定义的变量,可以在整个程序内访问。
  • 内置作用域(Built-in):Python的内置名称空间。
def my_function():
    local_var = 5  # 局部变量
    print(local_var)

global_var = 10  # 全局变量
my_function()
print(global_var)

这一块内容在函数章节需要被深刻理解。

1.1.3 可变对象和不可变对象

在Python中,变量实际上是对对象的引用。当创建一个变量时,就创建了一个对象,并将变量指向它。例如:

x = [1, 2, 3]

这里,x是指向列表对象[1, 2, 3]的引用。

  • 不可变类型(immutable): 一旦创建,其内容不能改变。字符串、整数、浮点数和元组都是不可变的。
  • 可变类型(mutable): 对象的内容可以改变。列表、字典和集合都是可变的。
    在Python中,有些对象是可变的(例如列表、字典、集合),而有些对象是不可变的(例如整数、浮点数、字符串、元组)。不可变对象一旦创建,其内容不能改变。
a = 1000
print(id(a))

a += 1
print(id(a))

首先写a = 1000,会先创建一个int 1000 的物件,并将a 指向int 1000 物件的位置,可以用id(a) 来看到他的记忆体位置是第一个。

再来修改a += 1时,会产生新的int 1001,并将a 指向这个新产生的物件,用id(a) 来看到他的记忆体位置变成第二个。

从 Code 中可以看出,当修改a 时,并不会去修改1000 这个物件的值,而是会重新创造出一个新的物件,称之为Immutable objects。

详细内容请见Python 基礎教學:什麼是 Immutable & Mutable objects

1.1.4 删除变量

可以使用del语句来删除变量,这会从名称空间中移除变量的名字。

x = "hello"
del x

1.1.5 变量类型和数据类型的关系

Python中的变量不仅可以是基本数据类型,如整数、浮点数、布尔值和字符串,还可以是数据结构,如列表、元组、字典和集合等。

  • 整数(int): 不带小数的数字。
  • 浮点数(float): 带小数的数字。
  • 字符串(str): 文本数据,用单引号或双引号括起来。
  • 布尔值(bool): 只有True或False的逻辑值。
  • 列表(list): 有序的元素集合,元素可以是不同类型。
  • 字典(dict): 键值对集合。
  • 元组(tuple): 不可变的有序元素集合。
  • 集合(set): 无序且元素唯一的集合。
# 基本数据类型
num = 10        # 整数
price = 10.99   # 浮点数
flag = True     # 布尔值
name = "Alice"  # 字符串

# 数据结构
numbers = [1, 2, 3]            # 列表
coordinates = (10.0, 20.0)     # 元组
person = {"name": "Alice", "age": 25} # 字典
unique_numbers = {1, 2, 3}     # 集合

1.2 数据类型

计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。1 在Python中,能够直接处理的数据类型有三类:字符串(string)、数字(number)、布尔值(boolean)。

内置函数转换对象
type()查询类别
bool()布尔值
complex()复数
float()浮点数
int()整数
str()字符串

1.2.1 数值(number)

主要用于各种数学运算。int 用于整数运算,float 用于需要小数的运算,而 complex 用于复数学领域。

类型描述示例
整型int正或负的整数,无小数点10
长整型long无限大小的整数6321L
浮点数float整数和小数构成2.23, 2.5e2
复数complex实数和虚数构成2+3j
a = 5
b = 5.10
c = 1+2j
print('打印数字以及对应的数据类型:',a,type(a))
print('打印数字以及对应的数据类型:',b,type(b))
print('打印数字以及对应的数据类型:',c,type(c))
# Another way to create a complex number
c = complex(1, 2)
print("c: ", c)
print("再次打印c以及对应的数据类型:", type(c))

对于很大的数,例如10000000000,很难数清楚0的个数。Python允许在数字中间以_分隔,因此,写成10_000_000_000和10000000000是完全一样的。十六进制数也可以写成0xa1b2_c3d4。1

整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。1

1.2.2 字符串(string)

str: 字符串类型,用于表示文本数据。字符串是不可变的序列类型。

字符串或串(String)是用于处理文本 的数据类型:


python中一般用单引号' ',双引号" ",三单引号''' ''',三双引号""" """来标识字符串,三引号用于多行文本。

d = 'Hi'
print('打印对应的数据类型:',d,type(d))
rand = "hello kitty"
print(rand)
fruits = '🍌','🍒','🍐','🍈','🍇','🍓','🍉'
print(fruits)

1.2.2.1 转义字符(Escape Characters)

转义字符描述
\nend the current line of text and start a new one (换行)
\tskip to the next “tab stop” in the text (制表符)
’do not interpret the ’ as a string delimiter
"do not interpret the " as a string delimiter
\put a backslash character into the string
t = '*\t*\n**\t**\n***\t***\n'
print(t)

1.2.2.2 原始字符串(Raw Strings)

在Python中,前缀 r 表示原始字符串(raw string)。这意味着在这个字符串中,反斜杠 \ 是没有特殊含义的,它们会被直接按字面意思处理,而不会被解释为转义字符。这在处理包含很多反斜杠的字符串时非常有用,比如文件路径。

print('C:\some\name') # here \n means newline!
print(r'C:\some\name') # note the r before the quote

1.2.2.3 格式化字符串文字(F-Strings)

f-string提供了一种非常快速且可读性强的方式来嵌入Python表达式到字符串常量中。

  1. 在大括号 {} 中,可以直接写入Python表达式,它们会在运行时被计算和替换。
  2. 花括号中的表达式可以有一个可选的格式说明符,也可以指定填充参数来填充空白。
  3. 格式化输出特定数字,可以指定四舍五入的单位。
  4. 还可以输出一致长度使得数据列表。
name = "World"
print(f"Hello, {name}!")

print(f"Let's test string alignment and minimum width|{name:<20}|")
print(f"Let's test string alignment and minimum width|{name:^20}|")
print(f"Let's test string alignment and minimum width|{name:>20}|")
print(f"Let's test string alignment and minimum width|{name:0>20}|")

pi = 3.14159265
print(f'Pi is equal to {pi:.4f}')

for i in range(5, 16):
    print(f'{i:03}')

1.2.2.4 字符操作(String Operations)

SyntaxExampleOutput
Concatenation“hello”+“world”helloworld
Indexing (from beginning)“helloworld”[0]h
Indexing (from end)“helloworld”[-1]d
Slicing“helloworld”[2:4]ll
String lengthlen(“helloworld”)10
Membership test“o” in “helloworld”True
Comparison“helloworld”<“hello”False
Replication“hello”*2hellohello
string = 'hello World!'
print('原字符串(注意空格也占据一个字符):         ',string)
print('字符串的第一个元素(注意索引为0):          ',string[0])
print('字符串的倒数第一个元素(支持负索引):       ',string[-1])
print('字符串索引2至5(注意索引的话左包含右不包含):',string[2:6])
print('字符串索引2至最后:                       ',string[2:])
print('字符串索引-2至最后:                      ',string[-2:])
print('字符串重复2遍:',string * 2)
print('字符串的拼接:',string + ' and Wind welcomes everyone!')
print('字符串的比较:',string < ' and Wind welcomes everyone!')

1.2.2.5 字符串相关函数

方法功能
capitalize()大写句首的字母
upper()将小写字母变成大写字母
lower()将大写字母变成小写字母
split()把句子分成单词
find(x)找到给定词x在句中的索引,找不到返回-1
replace(x,y)把句中x替代成y
strip(x)删除句首或句尾含x的部分
print('将首字母变成大写:','hello word !'.capitalize())
print('将小写字母变成大写字母:','hello word !'.upper())
print('将大写字母变成小写字母:','HELLO WORD !'.lower())
print('把句子分成单词:','hello word !'.split())
print('把句中x替代成y:','hello word !'.replace('word','python'))

1.2.3 布尔值(boolean)和空值(None)

  • bool: 用于表示逻辑值。可以有两个值:True 或 False。
  • NoneType: 它有一个单一的值 None。它通常用来表示缺少值,或者当没有任何东西返回时。

布尔值只有 True和False两个值,布尔值在数字运算中, True代表1,False代表0。

  1. 关系运算和逻辑运算返回的就是布尔值,如 1>2 等。
  2. 布尔值可以用and、or和not运算。
    • and运算是与运算,只有所有都为True,and运算结果才是True;
    • or运算是或运算,只要其中有一个为True,or运算结果就是True;
    • not运算是非运算,它是一个单目运算符,把True变成False,False变成True。
print(type(True))
print(True + 1)
print(1 > 2)
print(True and False and True)
print(5 > 3 and 3 > 1)
print(True or False)
age = 14
if age >= 18: #<------布尔值判断
   print('adult(成年人)')
else:
   print('teenager(青年人)')

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

e = True
f = None
print("The type of variable e is", type(e))
print("The type of variable f is", type(f))

1.3 控制台输出(print)

在Python中,print() 函数非常灵活,几乎可以打印任何可以被字符串表示的对象,包括字符串本身、数值、对象等等。print() 的基本使用非常简单,但它也提供了许多参数来定制输出格式。

以下是 print() 函数的一些基本特性和使用方式:

1.3.1 基本用法

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
  • *objects:这是位置参数,可以是任意数量的对象,这些对象将依次被转换为字符串并打印出来。
  • sep=' ':字符串之间的分隔符,默认是空格。
  • end='\n':字符串末尾的结束符,默认是换行符。
  • file=sys.stdout:输出流的目标,默认是标准输出。
  • flush=False:立即把内容输出到流文件,不进行缓存。
print(value1, value2, value3, ...)
  • value1, value2, value3, ...:可以指定一个或多个值,这些值将被依次打印出来。

1.3.2 关键参数

  • sep:指定输出时各值之间的分隔符,默认为一个空格。

    print('Apple', 'Banana', 'Cherry', sep=', ')
    # 输出:Apple, Banana, Cherry
    
    print("Python", "is", "NB", sep="-")
    # 输出:Python-is-NB
    
  • end:指定打印完所有值后的结束符,默认为换行符 (\n)。

    print('Hello', end=' ')
    print('World')
    # 输出:Hello World
    
    print("Hello, World!", end=" <3\n")
    # 输出:Hello, World! <3
    # 并开始新的一行
    
  • file:标准输出是 print() 函数的默认目标,但是可以通过 file 参数将输出重定向到文件或者其他类文件对象(任何有 write() 方法的对象)。

    with open('file.txt', 'w') as file:
        print('Hello, file!', file=file)
    # 将输出写入到 'file.txt' 文件中
    
    with open('output.txt', 'w') as f:
       print('Save this to a file', file=f)
    
  • flush:布尔值,指定是否强制将输出刷新到流,默认为 False。如果为 True,则会将输出立即推送到文件或者终端,有助于实时观察输出结果。

1.3.3 高级字符串格式化

print() 函数通常与字符串格式化方法一起使用,如 % 操作符、str.format() 方法或者 f-strings。

# 使用 % 操作符
name = 'World'
print('Hello, %s!' % name)
# 输出:Hello, World!

# 使用 str.format() 方法
print('Hello, {}!'.format(name))
# 输出:Hello, World!

# 使用 f-strings
print(f'Hello, {name}!')
# 输出:Hello, World!

  1. Resource ↩︎ ↩︎ ↩︎

Python变量和基本数据类型 变量是存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。Python 中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号用来给变量赋值。等号运算符左边是一个变量名,等号运算符右边是存储在变量中的值。 阅读详情

相关推荐

LM Studio 模型加载与转换实战指南:从GGUF格式到本地部署

本文提供了使用LM Studio加载与转换GGUF格式大语言模型的完整实战指南。详细阐述了为何GGUF格式是本地部署的最佳选择,并逐步指导用户如何将非GGUF模型(如Transformers格式)转换为GGUF格式,以及在LM Studio中进行加载、配置GPU卸载等关键优化,最终实现流畅的本地离线对话体验。

weixin_29061425的博客 920

Python(三):变量与数据类型

Python中的变量无需声明类型,类型随赋值动态确定。丰富的数据类型支持多样化的数据存储和操作,二进制类型适合处理非文本文件和数据流,NoneType表示缺失或无值状态。

欧阳方超的专栏 754

VESC电调高级调参指南:电机校准与性能优化实战解析

本文详细解析了VESC电调的高级调参方法,包括电机校准与性能优化实战技巧。从基础参数设置到高级机械参数优化,再到动态性能调优,提供了全面的调参指南。特别针对电机类型、功率设置、电池参数配置等关键环节给出实用建议,帮助用户充分发挥VESC电调的性能潜力。

weixin_30772105的博客 196

Python基础知识篇——变量与数据类型

Python基础知识篇——变量与数据类型一、数据类型基础数据类型复合数据类型二、数据类型转换三、变量命名规范 一、数据类型 计算机里所有的数据都可以看作对象,变量在程序中起到指向数据对象的作用。 python常用的数据类型分为基础数据类型(number,str),复合数据类型(list,tuple,dict,set) 基础数据类型 1.number(数值型) int float (没有double) complex bool 注意: 1.bool类型只有True,False两个取值(首字母大写),因为boo

yun_gao_的博客 2534

颠覆性创新的测量框架与跨领域实证分析

颠覆性创新作为科技发展的重要驱动力,其核心在于实现知识体系的范式转换。从技术原理看,这类创新通常具备知识替代、网络重构和跨领域渗透三大特征,通过引用网络分析和文本挖掘等方法可量化评估其影响力。在工程实践中,CD指数、DI指数等测量工具帮助研究者识别具有突破潜力的成果,而深度学习等新兴技术进一步提升了评估精度。当前AI、半导体等领域的热门技术发展表明,模块化架构和产业协同能有效促进颠覆性创新。面对全球范围内创新颠覆性下降的趋势,优化科研评价体系、构建跨学科协作网络成为关键应对策略。

weixin_29735807的博客 321

小米手机安装Burp证书失败原因与DER格式改造指南

CA证书是HTTPS抓包和移动安全测试的基础组件,其本质是遵循X.509标准的数字凭证,依赖ASN.1/DER编码格式与完整证书链实现可信验证。Android系统默认支持PEM和DER两种编码,但MIUI自14版本起强化安全策略,仅识别DER二进制格式,并强制校验Subject Alternative Name(SAN)、Basic Constraints及证书链完整性。这种企业级加固逻辑导致Burp Suite导出的PEM格式.cer文件在小米设备上‘安装成功但无效’。本文聚焦证书格式转换、SAN字段注入

weixin_33646989的博客 625

Python基础——变量和数据类型

今天我们开始学习Python编程的基础——变量和数据类型。这些概念是学习编程的第一步,也是非常重要的一步。无论是在开发中还是面试中,理解这些基本概念都是必不可少的。在这篇文章中,我会用简单易懂的语言来解释什么是变量、什么是数据类型,并提供一些例子。如果有任何不清楚的地方,欢迎大家在评论中提出~在编写程序时,我们经常需要保存和操作数据。这些数据需要存储在计算机的内存中。为了方便地管理和操作这些数据,我们使用变量来存储它们。变量可以看作是数据的标签,我们通过给数据起名字来方便地引用和修改它们。

weixin_44283682的博客 1635

基于SSM的足浴管理系统(源码+开题)

研究内容: 本研究的内容主要包括以下几个方面:首先,我们需要对现有的足浴管理系统进行深入的研究和分析,了解其优缺点;最后,我们需要对新设计的系统进行评估和优化,以满足用户的需求和提升系统的使用体验。因此,开发一种基于SSM的足浴管理系统,能够有效地解决这些问题,提高足浴服务的质量和效率。研究目的: 本研究的主要目的是设计和实现一个功能完善、操作简便、用户体验良好的基于SSM的足浴管理系统。通过对系统的研究和设计,我们希望能够为足浴服务行业提供一个高效、便捷的工具,从而推动足浴服务行业的发展。

林科程序设计 1685

为什么 Python 不用声明类型?

变量为什么需要类型? 这个问题点像手机为什么叫手机,电脑为什么叫电脑,这种“日用而不知”的感觉。 为什么有些语言需要申明类型,而有些语言却不需要申明类型? 前者如 C/C++、Java,后者有 Python、JS 。 首先,在讨论为什么需要类型之前,先聊聊类型。 一、 类型 我们都知道,不管是中文、英文还是编程语言,都具有语法,语法规定了词怎么组成句子是符合规范的。 int a = 10;是可以的,但是a int = 10;却不符合 C 语法规范。 10 + 10是正确的,但是10 + “hello”却是一

zihong523的博客 3117

量化交易——量化选股(多因子选股)

就是用过去的股票的收益率对多因子进行回归,得到一个回归方程,然后再把最新的因子值代入回归方程得到一个对未来股票收益的预判,然后再以此为依据进行选股。的方法是建立在市场无效或弱有效的前提之下,随着使用多因子选股模型的投资者数量的不断增加,有的因子会逐渐失效,而。就是根据各个因子的大小对股票进行打分,然后按照一定的权重加权得到一个总分,根据总分再对股票进行筛选。另一方面,一些因子可能在过去的市场环境下比较有效,而随着市场风格的改变,这些。波动的影响,避免在市场极度狂热或悲观的情况下作出非理性的。

jiucaixiuyang的博客 1787

基于Simulink的电机功率因数校正仿真

PF=SP​=视在功率有功功率​=cosϕ⋅Irms​I1​​(非正弦时)位移因数(cosϕ):基波电压电流相位差畸变因数(I1​/Irms​):谐波导致电流有效值增大本文带你完成了电机系统功率因数校正的Simulink仿真,实现了:✅ 理解了低功率因数的成因与危害✅ 搭建了无PFC、无源PFC、有源PFC三种对比模型✅ 掌握了Vienna整流器建模与dq解耦控制方法✅ 实现了PF与THD的自动计算与评估✅ 验证了有源PFC在PF、THD、稳定性上的全面优势。

amy_mhd的博客 154

(一)Python基础语法

文章目录一、变量与数据类型二、列表基础 [ ]三、操作列表 [ ]—遍历 一、变量与数据类型   Python数据类型不用声明,编译器自动识别,常见数据类型如下;Python的每一行代码结尾不需要添加分号;Python的代码块内需遵循严格缩进规则;Python3在打印消息时习惯性加上括号;python的单行注释采用#, 多行注释采用"""…"""。 整型(int) 浮点型(float) 布尔型(bool) 字符串(string): 分 单引号 / 双引号 两类,用法:字符串大小写修改,字符串拼接,str

Mr.翟的博客 1403

Qt C++ 卫星数据接收与处理界面

打开 `MainWindow.ui`,你会发现我们完全是在代码中 (`setupUI`) 创建的 UI。* 访问 [QCustomPlot 官网](https://www.qcustomplot.com/) 下载最新版本的 `qcustomplot.h` 和 `qcustomplot.cpp` 文件。* 对于 FFT,可以使用专门的库如 [FFTW](http://www.fftw.org/),或者 Qt 5.15 及以上版本中提供的 `QFFT` 和 `QComplex` 类。

寒寒豆豆软件公司的博客 150

Python的变量和数据类型

在上一篇《Python语言概述》中简单的介绍了一些关于Python的特性,包括Python的主要应用领域、输入、输出、Python 中的标准算术运算符等等。这一篇文章我们主要来学习一下 Python的变量和数据类型。我们将在这一篇学习可在Python程序中使用的各种数据,还将学习如何将数据存储到变量中,以及如何在程序中使用这些变量。

晴空๓ 4231

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

变量和数据类型——Python

计算机语言中变量的概念源于数学。在数学中,变量指用拉丁字母表示的、值不固定的数据;在计算机语言中,变量指能存储计算结果或表示值的抽象概念——程序在运行期间用到的数据会被保存在计算机的内存单元中。为了方便取内存单元中的数据,Python 使用标识符来标识不同的内存单元,从而使标识符和数据建立联系。变量名 = 值date = 100100。

2401_87199769的博客 1129

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【Python】深入认识Python数据类型和变量

Python提供了多种内置数据类型,包括数字类型、字符串类型、布尔类型、列表类型、元组类型、字典类型和集合类型。每种数据类型都有其独特的特点和使用场景。字符串是一系列字符的集合,用单引号或双引号表示。b = 'Python编程'列表是一种有序的可变集合,用方括号表示。列表中的元素可以是任何数据类型。# 访问列表元素print(my_list[0]) # 输出:1print(my_list[-1]) # 输出:[4, 5, 6]# 修改列表元素元组是一种有序的不可变集合,用圆括号表示。

Easonmax的博客 1116

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Python 变量和数据类型

本文介绍了Python中常用的三种数据类型:列表、元组和字典。列表是有序的元素集合,可以包含任意数量的元素。元组是有序的元素集合,与列表类似,但一旦创建就不能修改。字典是无序的键值对集合,每个键都唯一地映射到一个值。本文还简要介绍了另一个常用的数据类型——集合,它是无序的元素集合,每个元素都是唯一的。通过学习本文,您应该已经掌握了在Python中使用这些常用数据类型的基本操作。

Kali与编程 968

python变量和数据类型_python变量和数据类型

1、python变量类型、赋值:python中 变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符变量赋值:python中创建变量时不用指定类型每个变量都是在内存中创建,包括变量的标识、名称、具体的值每个变量必须赋值,用(=)进行赋值等号(...

weixin_39762348的博客 138

【Python基础】变量和数据类型:Python 的语言基石

本文旨在深入探讨Python编程中的核心概念——变量和数据类型。作为Python语言的基础,变量和数据类型的理解对于编写高效、可读的代码至关重要。本文将详细解释变量的定义、命名规则以及Python中各种基本数据类型的特性和使用方法。本文详细介绍了Python中的变量和数据类型,包括变量的定义、命名规则以及Python中的基本数据类型(数字类型、字符串类型、布尔类型、列表类型、元组类型、字典类型和集合类型)。

Guangli_R的博客 1068

【Python】2. 变量和数据类型

a = 10a为变量名,当我们创建很多变量的时候,就可以用名字来区分变量为赋值号,表示把右边的数据放到左边变量空间中【注意】:变量名需要遵守变量命名规则。

QQ3447387928的博客 3242

python中变量类型和数据类型_Python中变量和数据类型介绍

1、变量和数据类型1.1变量1.每个变量都存储了一个值——与变量相关联的信息。2.变量不仅可以为整数或浮点数,还可以是字符串,可以是任意数据类型。1.1.1变量的命名和使用变量名只能包含字母、数字和下划线,且数字不能打头。变量名不能包含空格,但可以使用下划线间隔。不能把python关键字和函数名作为变量名。变量名应既简短又具有描述性。慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。1...

weixin_39747341的博客 695

python变量和数据类型关系_【编程】Python变量和数据类型

在计算机语言中,变量用于存储信息,以便被引用或操作。它们也提供了用具体的名称将数据标签化的方法,这样读者或开发者都能更好的理解程序。Python 变量在Python中,每个变量都是一个对象。Python的变量命名遵循标准的字母数字命名法,开始字符必须是字母或下划线。基于变量的数据类型,解释器会为变量分配内存,并且确定什么可以存储到保留的内存当中。在使用变量之前,不必要声明变量和它的类型。变量名称是...

weixin_39676242的博客 230

Python-02变量和简单的数据类型

Python基础 变量命名规则  查看数据类型 显示类型转换 两种注释

qq_43279382的博客 1719

Python中的变量和数据类型

在Python中,可以使用int、float、str、list、tuple、dict和set等函数来进行数据类型转换。例如,可以使用int函数将字符串转换为整数,也可以使用str函数将整数转换为字符串。需要注意的是,进行数据类型转换时可能会出现异常,例如将字符串转换为整数时如果字符串中包含非数字字符就会出现ValueError异常。在Python中,常见的数据类型包括数字、字符串、列表、元组、字典和集合等。变量是用于存储数据的容器,可以在程序中多次使用。变量的使用非常简单,只需要在变量名前面加上等号即可。

一步一个脚印,踏实努力,向着目标前进 343
上一篇: 不删除其代码的情况下模拟关闭或者禁止其他宏的消息提示
下一篇: Python入门系列专栏目录及前言
偷心伊普西隆
博客等级 码龄7年 511粉丝 65原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值