Python 3 - 变量类型

变量只是用于存储值的保留内存位置.这意味着当你创建一个变量时,你在内存中保留了一些空间.

根据变量的数据类型,解释器分配内存并决定可以存储在保留中的内容.记忆.因此,通过为变量分配不同的数据类型,可以在这些变量中存储整数,小数或字符.

将值赋给变量

Python变量不需要显式声明来保留内存空间.为变量赋值时,声明会自动发生.等号(=)用于为变量赋值.

=运算符左边的操作数是变量的名称和=运算符右边的操作数是存储在变量中的值.例如 :

#!/usr/bin/python3

counter = 100          # An integer assignment
miles   = 1000.0       # A floating point
name    = "John"       # A string

print (counter)
print (miles)
print (name)

这里,100,1000.0和"John"分别是分配给计数器,里程和名称变量的值.这会产生以下结果 :

100
1000.0
John

多个赋值

Python允许您同时为多个变量分配单个值.

例如 :

a = b = c = 1

这里创建一个整数对象值为1,并且所有三个变量都分配给相同的内存位置.您还可以将多个对象分配给多个变量.例如 :

a, b, c = 1, 2, "john"

这里,两个值为1和2的整数对象分别分配给变量a和b,一个值为"john"的字符串对象分配给变量c.

标准数据类型

存储在内存中的数据可以有多种类型.例如,一个人的年龄存储为数字值,他或她的地址存储为字母数字字符. Python有各种标准数据类型,用于定义它们可能的操作以及每种操作的存储方法.

Python有五种标准数据类型 :

  • 数字

  • 字符串

  • 列表

  • 元组

  • 字典

Python数字

数字数据类型存储数值.为其分配值时会创建数字对象.例如 :

var1 = 1 
var2 = 10

您还可以使用 del 语句删除对数字对象的引用. del 语句的语法是 :

 del var1 [,var2 [,var3 [.... ,varN]]]]

您可以使用 del 语句删除单个对象或多个对象.

例如 :

del var
del var_a, var_b

Python支持三种不同的数字类型 :

  • int(有符号整数)

  • float(浮点实数值)

  • 复数(复数)

全部Python3中的整数表示为长整数.因此,没有单独的数字类型.

示例

以下是数字和减号的一些示例;

intfloatcomplex
100.03.14j
10015.2045.j
-786-21.99.322e- 36j
08032.3+ e18.876j
-0490-90.-  .6545+ 0J
-0x260-32.54e1003e+ 26J
0x6970.2-E124.53e-7j

复杂的数字由x&plus表示的一对有序实数浮点数的ts; yj,其中x和y是实数,j是虚数.

Python字符串

Python中的字符串被标识为连续的一组引号中表示的字符. Python允许使用一对单引号或双引号.可以使用切片运算符([]和[:])获取字符串子集,索引从字符串开头的0开始,从-1开始到结束.

plus(+)符号是字符串连接运算符,星号(*)是重复运算符.例如 :

#!/usr/bin/python3

str = 'Hello World!'

print (str)          # Prints complete string
print (str[0])       # Prints first character of the string
print (str[2:5])     # Prints characters starting from 3rd to 5th
print (str[2:])      # Prints string starting from 3rd character
print (str * 2)      # Prints string two times
print (str + "TEST") # Prints concatenated string

这将产生以下结果 :

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

Python列表

列表是Python中最通用的复合数据类型.列表包含以逗号分隔的项目,并用方括号([])括起来.在某种程度上,列表类似于C中的数组.它们之间的区别之一是属于列表的所有项目可以是不同的数据类型.

存储在a中的值可以使用切片运算符([]和[:])访问列表,索引从列表开头的0开始,然后一直运行到结束-1.加号(+)是列表并置运算符,星号(*)是重复运算符.例如 :

#!/usr/bin/python3

list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print (list)          # Prints complete list
print (list[0])       # Prints first element of the list
print (list[1:3])     # Prints elements starting from 2nd till 3rd 
print (list[2:])      # Prints elements starting from 3rd element
print (tinylist * 2)  # Prints list two times
print (list + tinylist) # Prints concatenated lists

这会产生以下结果 :

['abcd', 786, 2.23, 'john', 70.200000000000003]
abcd
[786, 2.23]
[2.23, 'john', 70.200000000000003]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']

Python元组

一个元组是另一种类似于列表的序列数据类型.元组由许多以逗号分隔的值组成.然而,与列表不同,元组括在括号内.

列表和元组之间的主要区别是 : 列表括在括号([])中,它们的元素和大小可以更改,而元组括在括号(()中),无法更新.元组可以被认为是只读列表.例如 :

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
tinytuple = (123, 'john')

print (tuple)           # Prints complete tuple
print (tuple[0])        # Prints first element of the tuple
print (tuple[1:3])      # Prints elements starting from 2nd till 3rd 
print (tuple[2:])       # Prints elements starting from 3rd element
print (tinytuple * 2)   # Prints tuple two times
print (tuple + tinytuple) # Prints concatenated tuple

这会产生以下结果 :

('abcd', 786, 2.23, 'john', 70.200000000000003)
abcd
(786, 2.23)
(2.23, 'john', 70.200000000000003)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')

以下代码无效元组,因为我们试图更新一个元组,这是不允许的.类似的情况可以使用list :

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
tuple[2] = 1000    # Invalid syntax with tuple
list[2] = 1000     # Valid syntax with list

Python字典

Python的字典是一种哈希 - 表格类型.它们像在Perl中找到的关联数组或散列一样工作,并由键值对组成.字典键几乎可以是任何Python类型,但通常是数字或字符串.另一方面,值可以是任意Python对象.

字典用大括号({})括起来,可以使用方括号([])分配和访问值.例如 :

#!/usr/bin/python3

dict = {}
dict['one'] = "This is one"
dict[2]     = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}

print (dict['one'])       # Prints value for 'one' key
print (dict[2])           # Prints value for 2 key
print (tinydict)          # Prints complete dictionary
print (tinydict.keys())   # Prints all the keys
print (tinydict.values()) # Prints all the values

这会产生以下结果 :

This is one
This is two
{'name': 'john', 'dept': 'sales', 'code': 6734}
dict_keys(['name', 'dept', 'code'])
dict_values(['john', 'sales', 6734])

字典在元素中没有顺序概念.说元素是"乱序"是不正确的;它们只是无序的.

数据类型转换

有时,您可能需要在内置类型之间执行转换.要在类型之间进行转换,只需使用类型名称作为函数.

有几个内置函数可以执行从一种数据类型到另一种数据类型的转换.这些函数返回一个表示转换值的新对象.

Sr.No.功能&说明
1

int(x [,base])

将x转换为整数.如果x是一个字符串,则base指定基数.

2

float(x)

将x转换为浮点数.

3

复杂(真实[, imag])

创建一个复数.

4

str(x)

将对象x转换为a字符串表示.

5

repr(x)

将对象x转换为表达式字符串.

6

eval(str)

计算一个字符串并返回一个对象.

7

tuple(s)

将s转换为元组.

8

list(s)

将s转换为列表.

9

set(s)

将s转换为集合.

10

dict(d)

创建字典. d必须是(键,值)元组的序列.

11

frozenset(s)

将s转换为冻结集.

12

chr(x)

将整数转换为字符.

13

unichr(x)

将整数转换为Unicode字符.

14

ord(x)

将单个字符转换为整数值.

15

hex(x)

将整数转换为十六进制字符串.

16

oct(x)

将整数转换为八进制字符串.