python3数据类型_Python3变量类型

基于变量的数据类型,解释器会分配对应的内存,并决定什么可以存储在保留内存中。因此,通过为变量分配不同的数据类型,可以存储这些变量在整数,小数或字符的形式。

赋值给变量

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”这几个值分别分配给counter,miles和 name 变量。这将产生以下结果-

100

1000.0

John

多重赋值

Python允许同时分配一个值给几个变量。例如 -

a = b = c = 1

这里,一个整数对象使用数值1来创建,并且所有三个变量都分配到相同的存储器位置。也可以将多个对象同时分配多个变量。例如 -

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

这里,两个整数对象使用值1和2分别指定给变量a和b,以及“john”字符串对象值赋给变量c。

标准数据类型

存储在内存中的数据可以是多种类型的。例如,一个人的年龄可存储为数值,而他或她的地址则可存储为字母、数字和字符。Python有用于定义存储方法操作的各种标准数据类型。

Python 有五个标准数据类型 -

数字

字符串

列表

元组

字典

数字数据类型存储数值。当分配一个值给创建数值对象。 例如

var1 = 1

var2 = 10

您也可以通过使用 del 语句删除引用的那一个数字对象。del 语句的语法是 -

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

可以通过使用del语句删除单个或多个对象。例如 -

del var

del var_a, var_b

Python支持四种不同的数字类型 -

int (有符号整数)

float (浮点实数值)

complex (复数)

在Python3所有整数表示为长整型。因此,没有单独为long的整数类型。

示例

下面是数字的例子 -

int

float

complex

10

0.0

3.14j

100

15.20

45.j

-786

-21.9

9.322e-36j

080

32.3+e18

.876j

-0490

-90.

-.6545+0J

-0x260

-32.54e100

3e+26J

0x69

70.2-E12

4.53e-7j

复数由一对有序组成,通过 x + yj 来表示实浮点数, 其中 x 和 y 是实数并且 j 是虚数单位。

字符串在 Python 为一组连续的引号表示的字符。Python允许对单引号或双引号对。 字符串子集可以用切片操作符 ([ ] and [:] ) :字符串的索引从0开始,并以-1结束。加号(+)号是字符串连接运算符和星号(*)是重复操作符。例如 -

#!/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复合数据类型。列表中包含用逗号分隔并使用方括号[]来包含项目。从某种程度上讲,列表类似于C语言中的数组。一个较大的区别是,所有在一个列表中的项目可以是不同的数据类型。

存储在一个列表中的值可以使用切片操作符([]和[:])进行访问:列表的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']

元组是另一个序列数据类型,它类似于列表。元组中使用单个逗号来分隔每个值。不像列表,元组的值是放列在圆括号中。

列表和元组之间的主要区别是:列表是包含在方括号[]中,并且它们的元素和大小是可以改变的,而元组元素是括在括号()中,不能进行更新。元组可以被认为是只读的列表。例如 -

#!/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')

以下使用元组的代码是无效,因为我们试着要更新元组,这是不允许的。列表中类似的情况是 -

#!/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字典是一种哈希表类型。它们工作的方式就类似在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

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

['dept', 'code', 'name']

['sales', 6734, 'john']

字典中没有元素顺序(排序)的概念。这是不正确的说,元素是“乱序”; 它们仅仅是无序的。

数据类型转换

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

有几个内置函数从一种数据类型转换到另一个。这些函数返回代表转换后的值的新对象。

函数

描述

int(x [,base])

转换x为整数。x是字符串则 base 为指定的基数

float(x)

转换x为一个浮点数

complex(real [,imag])

创建一个复数

str(x)

转换对象x为字符串表示

repr(x)

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

eval(str)

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

tuple(s)

转换s为一个元组

list(s)

转换s为一个列表

set(s)

转换s为一个集合

dict(d)

创建一个字典。 d必须是(键,值)元组序列

frozenset(s)

转换s为冷冻集

chr(x)

将一个字符转换为整数

unichr(x)

Unicode字符转换为整数

ord(x)

单个字符其转换为整数值

hex(x)

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

oct(x)

转换整数成为八进制字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值