变量只是用于存储值的保留内存位置.这意味着当你创建一个变量时,你在内存中保留了一些空间.
根据变量的数据类型,解释器分配内存并决定可以存储在保留中的内容.记忆.因此,通过为变量分配不同的数据类型,可以在这些变量中存储整数,小数或字符.
将值赋给变量
Python变量不需要显式声明来保留内存空间.为变量赋值时,声明会自动发生.等号(=)用于为变量赋值.
=运算符左边的操作数是变量的名称和=运算符右边的操作数是存储在变量中的值.例如 :
#!/usr/bin/python3counter = 100 # An integer assignmentmiles = 1000.0 # A floating pointname = "John" # A stringprint (counter)print (miles)print (name)
这里,100,1000.0和"John"分别是分配给计数器,里程和名称变量的值.这会产生以下结果 :
1001000.0John
多个赋值
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 vardel var_a, var_b
Python支持三种不同的数字类型 :
int(有符号整数)
float(浮点实数值)
复数(复数)
全部Python3中的整数表示为长整数.因此,没有单独的数字类型.
示例
以下是数字和减号的一些示例;
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&plus表示的一对有序实数浮点数的ts; yj,其中x和y是实数,j是虚数.
Python字符串
Python中的字符串被标识为连续的一组引号中表示的字符. Python允许使用一对单引号或双引号.可以使用切片运算符([]和[:])获取字符串子集,索引从字符串开头的0开始,从-1开始到结束.
plus(+)符号是字符串连接运算符,星号(*)是重复运算符.例如 :
#!/usr/bin/python3str = 'Hello World!'print (str) # Prints complete stringprint (str[0]) # Prints first character of the stringprint (str[2:5]) # Prints characters starting from 3rd to 5thprint (str[2:]) # Prints string starting from 3rd characterprint (str * 2) # Prints string two timesprint (str + "TEST") # Prints concatenated string
这将产生以下结果 :
Hello World!Hllollo World!Hello World!Hello World!Hello World!TEST
Python列表
列表是Python中最通用的复合数据类型.列表包含以逗号分隔的项目,并用方括号([])括起来.在某种程度上,列表类似于C中的数组.它们之间的区别之一是属于列表的所有项目可以是不同的数据类型.
存储在a中的值可以使用切片运算符([]和[:])访问列表,索引从列表开头的0开始,然后一直运行到结束-1.加号(+)是列表并置运算符,星号(*)是重复运算符.例如 :
#!/usr/bin/python3list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]tinylist = [123, 'john']print (list) # Prints complete listprint (list[0]) # Prints first element of the listprint (list[1:3]) # Prints elements starting from 2nd till 3rd print (list[2:]) # Prints elements starting from 3rd elementprint (tinylist * 2) # Prints list two timesprint (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/python3tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )tinytuple = (123, 'john')print (tuple) # Prints complete tupleprint (tuple[0]) # Prints first element of the tupleprint (tuple[1:3]) # Prints elements starting from 2nd till 3rd print (tuple[2:]) # Prints elements starting from 3rd elementprint (tinytuple * 2) # Prints tuple two timesprint (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/python3tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]tuple[2] = 1000 # Invalid syntax with tuplelist[2] = 1000 # Valid syntax with list
Python字典
Python的字典是一种哈希 - 表格类型.它们像在Perl中找到的关联数组或散列一样工作,并由键值对组成.字典键几乎可以是任何Python类型,但通常是数字或字符串.另一方面,值可以是任意Python对象.
字典用大括号({})括起来,可以使用方括号([])分配和访问值.例如 :
#!/usr/bin/python3dict = {}dict['one'] = "This is one"dict[2] = "This is two"tinydict = {'name': 'john','code':6734, 'dept': 'sales'}print (dict['one']) # Prints value for 'one' keyprint (dict[2]) # Prints value for 2 keyprint (tinydict) # Prints complete dictionaryprint (tinydict.keys()) # Prints all the keysprint (tinydict.values()) # Prints all the values
这会产生以下结果 :
This is oneThis 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) 将整数转换为八进制字符串. |