day02 数据类型、列表、元组、字典、集合

96 阅读3分钟

Python 是一种高级编程语言,支持多种基础类型,以下是一些常见的 Python 基础类型:

  1. 整型(Integer):用于表示整数,例如 1、2、3、-5 等。
  2. 浮点型(Float):用于表示带有小数部分的数字,例如 3.14、2.718 等。
  3. 复数型(Complex):用于表示复数,例如 3+4j、5-6j 等。
  4. 布尔型(Boolean):用于表示布尔值,即真(True)或假(False)。
  5. 字符串(String):用于表示文本数据。
  6. 列表(List):用于表示有序的元素集合。
  7. 元组(Tuple):用于表示有序的元素集合,与列表类似,但不可修改。
  8. 集合(Set):用于表示无序的唯一元素集合。
  9. 字典(Dictionary):用于表示键值对的数据结构。

这些基础类型在 Python 中具有不同的特性和用法,可以用于构建各种复杂的数据结构和算法。

放到自己的编译器中运行一下,最好手动都敲一遍
#变量
name = "sdlkjasldfjldfjlsaf啊"
print(id(name))
print(type(name))
name2 = "sdlkjasldfjldfjlsaf啊"
print(name == name2)#比较值
print(name is name2)#比较内存地址
#基础类型
#整形,浮点型
num = 3
print(type(num))
#字符串(格式化字符串速度:f>format>%)
mystr = "my name is 'vv'"#多个引号使用不同的
print(mystr)
mystr = "my name is \"vv\""#转义字符
print(mystr)
a,b = "my name is ","vv"
print('my name is %s'%'vv')
print('my name is %s,my age is %d '% ('vv',33)) 
print('my name is {},my age is {}'.format("vv",34))
print('my name is {name},my age is {age}'.format(name = 'vv',age=45))
print('my name is {0},age is {1}'.format('vv',45))
print('my name is {0:*^10}'.format('vv'))#*填充符号,^左右两边,>左边,<右边
print('my name is {:.2f}'.format(2.3448575))#浮点型,小数2位

name,age = 'vv',45.343434
print(f'my name is {name},age is {age:.2f}')
print(f'my name is {name}age is {age}')
print(a+b)
print(a*5)
print(mystr[0])
#列表
list = ['你好','学习','天天','向上',3,False,[3,['d','b']]]
print(type(list))
print(list[6][0])
print(list[-1][0])#从后开始数
print(list[6][1][0])
#字典
map = {"key1":"value1","key2":list}
print(type(map))
print(map["key1"])
print(map["key2"][6][1][0])
#元组
tuple = ('1','2','4',4)
print(type(tuple))
print(tuple[0])
print(tuple[3])
#集合
set = {1,2,3,'4'}
print(type(set))
for i in set:
    print(f"值为{i}类型为{type(i)}")
#布尔
flag = 8==8
print(type(flag))
print(flag)
#None
print(type(None))

整型进制转换,字符串操作

print(bin(12))#0b1100
print(oct(12))#0o14
print(hex(12))#0xc
print(int('0b1100',2))
print(int('0o14',8))
import struct
float_num = 3.14
print(struct.pack('f',float_num))
print(struct.unpack_from('f',b'\xc3\xf5H@'))
#字符串 索引 切片 strip(str特有的) split(拆分) len(长)
print('dfsf'[2])#索引
print('12378'[1:4])#切片
print("123456789"[1:7:2])#增加步长2
print('123456789'[7:1:-2])#反向步长切片,这时-2就不能省略,因为反向切片,必须反向的步数,缺省为1所以取不到任何值
print('123456789'[::-1])#切片所有,反向,所以str倒置过来了
print('  dfas dfa '.strip())
print('###--你好--##'.strip('#'))
print('###--你好--##'.lstrip('#'))
print('###--你好--##'.rstrip('#'))
print('   lkjdll  lklj    '.split())#拆分为列表,默认为空格,并且拆分后去除空格元素
print('   lkjdll  lklj    '.split(" ",1))#拆分为列表
print('   lkjdll  lklj    '.rsplit(" ",1))#从右开始拆分,只拆1次
print(len('dfa'))
print('abc'.lower())
print('abc'.upper())
print('abc'.swapcase())#切换大小写
print('abc'.find('B'))#index方法一样的效果,但是find找不到返回-1,index报错
print('abc'.startswith('a'))
print(' '.join('abc'))
print(' '.join(["1",'2']))#必须是字符串类型
print('abc'.replace('a','n'))
print('8888'.isdigit())#所有字符是数字
print('dsfa123你好'.isalnum())#所有字符是字母、中文和数字
print('abc'.isalpha())#所有字符是字母和中文字

列表常见操作