0
点赞
收藏
分享

微信扫一扫

Python学习-变量类型


1.单变量赋值

等号(=)用来赋值,左边是一个变量名,右边是存储在变量中的值 ,定义变量不需要声明类型,可以直接赋值使用。

例:

temp1 = 100 # 赋值整型变量
temp2= 10234.0234 # 浮点型
temp3= "天气不错!" # 字符串

2.多变量赋值

Python支持给多个变量赋值。

例:

a=b=c=d=1

Python还支持给多个不同类型的变量同时赋值。

例:

temp1,temp2,temp3 = 123,22.424,"天气还行"

3.数据类型及数字类型

Python有五个标准的数据类型:

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

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

  • int(有符号整型)
  • long(长整型[也可以代表八进制和十六进制])
  • float(浮点型)
  • complex(复数)

例: 

int

long

float

complex

10

51924361L

0.0

3.14j

100

-0x19323L

15.20

45.j

-786

0122L

-21.9

9.322e-36j

080

0xDEFABCECBDAECBFBAEl

32.3e+18

.876j

-0490

535633629843L

-90.

-.6545+0J

-0x260

-052318172735L

-32.54e100

3e+26J

0x69

-4721885298529L

70.2E-12

4.53e-7j

复数的表示可以是a + bj,或者 complex(a,b) ,long类型在Python3中好像已经不用了。

4.字符串

字符串在Python中很常用。

python的字串列表有2种取值顺序:

  • 从左到右索引默认0开始的,最大范围是字符串长度少1
  • 从右到左索引默认-1开始的,最大范围是字符串开头

Python学习-变量类型_数据类型

字符串截取:

字符串通过字符串变量[头下标:尾下标]

例:

str = "12345678"
a = str[0]
b = str[7]
c = str[-1]
d = str[-3]
e = str[2:]
f = str[:4]
g = str[1:5]
h = str[3:-1]*2
i = str[-5:-1]+'0000'

print(a,b,c,d,e,f,g,h,i)

输出为:

1 8 8 6 345678 1234 2345 45674567 45670000

str[0]表示取字符串的第一位

str[7]表示取第八位

str[-1]表示取最后一位,也就是倒数第一位

str[-3]表示取倒数第三位

str[2:]表示取从第三位开始到结束

str[:4]表示取从开始到第三位

ps:开始是从0开始,用字符串变量[头下标:尾下标] 截取的时候,是截止到尾下标的前一位,不包含尾下标。

str[1:5]表示取从第二位开始到第四位截止

str[3:-1]表示取从第四位开始到倒数第二位截止,*2表示输出2遍

str[-5:-1]表示从倒数第五位到倒数第二位,然后拼接上0000

5. Python列表

列表支持字符,数字,字符串甚至可以包含列表(即嵌套)。

列表用 [ ] 标识,是 python 最通用的复合数据类型。

列表中值的切割也可以用到列表变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

例:

list = [123,"apple",33.23]
new_list = [222,"banana",11.65,112,list]

print(list)
print(new_list)
print(new_list[0])
print(new_list[-1])
print(new_list[:-1])
print(new_list[1:3]*2)

输出:

[123, 'apple', 33.23]
[222, 'banana', 11.65, 112, [123, 'apple', 33.23]]
222
[123, 'apple', 33.23]
[222, 'banana', 11.65, 112]
['banana', 11.65, 'banana', 11.65]

列表的截取操作和字符串一样的操作。

6.Python元组

元组是另一个数据类型,类似于 List(列表)。

元组用 () 标识,内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表,赋值后就不能更改了。

因此如:

tuple = (123,"apple",33.23)

tuple(2)=3

就会报错:SyntaxError: can't assign to function call语法错误。

 

例:

tuple = (123,"apple",33.23)
new_tuple = (1,"banana",2.2,3,tuple)


print(tuple)
print(new_tuple)
print(new_tuple[0])
print(new_tuple[-1])
print(new_tuple[:-1])
print(new_tuple[1:3])

元组的截取操作也是一样的。

结果:

(123, 'apple', 33.23)
(1, 'banana', 2.2, 3, (123, 'apple', 33.23))
1
(123, 'apple', 33.23)
(1, 'banana', 2.2, 3)
('banana', 2.2)

7. Python字典

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

 

例:

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

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

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

结果:

 

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

8.强制数据类型转换

函数

描述

​​int(x [,base])​​

将x转换为一个整数

​​long(x [,base] )​​

将x转换为一个长整数

​​float(x)​​

将x转换到一个浮点数

​​complex(real [,imag])​​

创建一个复数

​​str(x)​​

将对象 x 转换为字符串

​​repr(x)​​

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

​​eval(str)​​

用来计算在字符串中的有效Python表达式,并返回一个对象

​​tuple(s)​​

将序列 s 转换为一个元组

​​list(s)​​

将序列 s 转换为一个列表

​​set(s)​​

转换为可变集合

​​dict(d)​​

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

​​frozenset(s)​​

转换为不可变集合

​​chr(x)​​

将一个整数转换为一个字符

​​unichr(x)​​

将一个整数转换为Unicode字符

​​ord(x)​​

将一个字符转换为它的整数值

​​hex(x)​​

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

​​oct(x)​​

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

 其中str()和repr()都可以将python中的对象转换为字符串类型,但是有区别,str是面向用户的,而repr面向程序员。

看不懂就举个栗子:

s = 'abcde'

print(str(s))
print(repr(s))

输出为:

abcde
'abcde'

 发现repr方法把引号加上了,再试试。

s = 'abcde\n'

print(str(s))
print(repr(s))

abcde

'abcde\n'

repr方法没有识别\n换行符,而是直接输出\n了。

再试试:

s = 'abcde\\'

print(str(s))
print(repr(s))

abcde\
'abcde\\'

 可以发现repr与str的区别了,可根据需求调用。

 笔记:

  • 变量赋值简单粗暴不需要声明类型, 灵活多变,非常好用。
  • 数字数据类是不可改变的数据类型,改变数字数据类型会分配一个新的对象。
  • 字符串的操作有基本的功能不需要再自己进行拼接遍历的操作。
  • 列表用 "[ ]" 标识类似 C 语言中的数组。
  • 元组用 "( )" 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
  • 字典用 "{ }" 标识。字典由索引 key 和它对应的值 value 组成。
  • 判断数据类型可以用type()函数,也可以用isinstance(a, int)这样来进行验证
举报

相关推荐

0 条评论