python学习 —— 基本数据类型

python不同于C,变量没有类型,也不需要声明;但是在使用变量前必须赋值,只有赋值以后才会被创建;

我们此处所说的 类型 是指变量所指的内存中对象的类型;

查询、判断变量所指的数据类型可以使用 type() 函数、isinstance() 函数;【isinstance、type函数用法及比较】

python可以同时给多个变量赋值;一个变量也可以通过赋值指向不同的对象;

可以使用 del 语句删除单个或多个对象,如下:

a, b = 1, 2
del a, b

python中有6个标准的数据类型:

不可变(3个):数字(number)、字符串(string)、元组(tuple);

可变(3个):列表(list)、字典(dictionary)、集合(set);

其中字符串、元组、列表属于序列(sequence);

如要进行数据类型的转换,只需将数据类型作为函数名即可,如将对象 a 转换为字符串:str(a);

 


目录

1、数字(number):

2、字符串(string):

3、元组(tuple):

4、列表(list):

5、字典(dictionary):

6、集合(set):


1、数字(number):

int整型(python3中没有long)
float浮点型
bool布尔型(True、False,对应值为1和0,可以和数字相加)
complex复数(表示为 a+bj 或complex(a, b))

数值运算:

运算运算方式结果
5 + 4加法9
3.5 - 2减法1.5
2 * 9乘法18
5 / 2除法(得到一个浮点数)2.5
5 // 2除法(取商)2
5 % 2取余1
5 ** 2乘方25

混合运算时,python会将整型转化为浮点型;

 

2、字符串(string):

字符串用单引号 ' 或双引号 " 括起来;

字符串的截取操作:

str[头下标:尾下标:步长]

注释:

  1. 下标为负代表从后向前数,如:-1 对应最后一个字符;
  2. 头下标对应位置可以取到;
  3. 尾下标对应位置取不到;
  4. 步长可正可负;

演示如下:

a_str = 'abcdefghijklmn'

print('字符串的长度:', len(a_str))
print('截取cdefg:', a_str[2: 7])
print('截取klmn:', a_str[10:])
print('截取klmn:', a_str[-4:])
print('efghi倒序输出:', a_str[8: 3: -1])
print('efghi倒序输出:', a_str[-6: -11: -1])
print('输出bdfh:', a_str[1: 8: 2])

 

字符串的拼接:(演示如下)

a_str = 'abcde'
b_str = '12345'

print('拼接a_str和b_str:', a_str + b_str)
print('重复输出3次a_str:', a_str * 3)

 

可以使用反斜杠 \ 转义特殊字符【转义字符总结】,若不想让反斜杠发生转义,在字符串前添加 r 即可(表示原始字符串):

演示如下:

print('输出字符串:', 'ab\ncde')
print('禁止转义后的字符串:', r'ab\ncde')

此外,反斜杠也可以作为续行符,表示下一行是上一行的延续;

python中字符串不可变,不能通过索引位置对其重新赋值,如:str[2] = 'w',会导致错误;

 

3、元组(tuple):

元组与列表类似;

与列表的不同之处:

  1. 元组的元素写在小括号()中;
  2. 元组的元素不能修改;

可以将字符串看作一种特殊的元组;

虽然元组的元素不可变,但是它可以包含一些可变的对象,如列表;

构造包含0个或1个元素的特殊规则演示如下:

a_tuple = ()   # 空元组
b_tuple = (1, )   # 只包含一个元素时,必须在后面加逗号

 

4、列表(list):

列表中的元素可以是任何类型(数字、字符串、列表、元组 ......);

列表与字符串一样可以被索引或截取,被截取后返回一个包含截取元素的新列表;

截取思想、规则与字符串相同;也可以使用 + 、* 进行列表的连接与列表的重复(同字符串);

与字符串不同的是:列表中的元素可以改变,演示如下:

a_list = [1, '2ad', 4, 'fg', [1, 2, 3]]
print(a_list)

a_list[1] = 2
print(a_list)

a_list[2:] = [3, 4, 5]
print(a_list)

 

5、字典(dictionary):

字典是无序对象的集合;

字典中的元素(键值对)是通过 键 来存取的,而不是通过偏移来存取;

a_dict = {键key1: 值value1, 键key2: 值value2, ...}

键key必须使用不可变的类型,且同一字典中键key必须是唯一的;

创建空字典用 {};

演示如下:

a_dict = {}
print('空字典:', a_dict)

a_dict[1], a_dict['a'] = 'z', 20
print('添加两个键值对后:', a_dict)
print('输出key为1对应的value:', a_dict[1])
print('输出所有的key:', a_dict.keys())
print('输出所有的value:', a_dict.values())

b_dict = dict([('a', 'aa'), ('b', 'bb'), ('c', 'cc')])
print('直接从键值对序列中构建字典:', b_dict)

print({x: x**2 for x in range(6)})
print(dict(aaa='a', bbb='b', ccc='c'))

 

6、集合(set):

集合由一个或数个形态各异的大小整体组成,构成集合的事物或对象称为元素或成员;

可以使用大括号 {} 或 set() 函数创建集合(创建空集合必须用 set() 函数);

输出集合时,重复的元素会被自动去掉;

parame = {value1, value2, ...}

set(value)

演示如下:

a_set = {'a', 'b', 'a', 'r', 'c', 'c', 'f', 'w'}
print('a_set:', a_set)

b_set = {'abcccdeefff'}
print('b_set:', b_set)

c_set = set('adfgvcartcc')
print('c_set:', c_set)

print('a_set 与 c_set 的差集:', a_set - c_set)
print('a_set 与 c_set 的并集:', a_set | c_set)
print('a_set 与 c_set 的交集:', a_set & c_set)
print('a_set 与 c_set 的不同元素:', a_set ^ c_set)

if 'w' in a_set:
    print('w 在集合 a_set 中')
else:
    print('w 不在集合 a_set 中')

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值