'''元组'''
# 元组数据可以进行索引,并且内部数据类型可以不同,但是元组是不可变的
tuple1 = (1, 'hello', True, [1, 2, 3])
print(tuple1[0]) # 1
print(tuple1[3][1]) # 2
# 虽然元组是不可变的,但是可以对内部的元素进行修改
tuple1[3][1] = 4
print(tuple1) # (1, 'hello', True, [1, 4, 3])
'''集合'''
# 集合内部不能有重复元素,创建空集合时必须要用set(),不能用{},因为{}是用来创建空字典的
set1 = set()
set1.add(1)
set1.add(2)
print(set1) # {1, 2, 7}
# 集合可以进行交集、并集、差集、异或等操作
set2 = {1, 2, 3, 4}
print(set1 & set2) # {1, 2}
print(set1 | set2) # {1, 2, 3, 4, 7}
print(set2 - set1) # {3, 4}
print(set1 ^ set2) # {3, 4, 7} 两个集合中不同时存在的元素
'''字典'''
# 字典是无序的键值对集合,创建空字典时可以用dict(), 也可以用{}
dict1 = dict()
print(dict1) # {}
dict2 = {}
print(dict2) # {}
dict1['陆山君'] = 'Tiger'
dict1[3] = '剑仙'
print(dict1)
print(dict1.keys()) # 输出所有的键
print(dict1.values()) # 输出所有的值
dict3 = {'yuling':'love you','王者荣耀':'xswl', '学习':'使我快乐'}
print(f'dict3 : {dict3}')
# type与isinstance函数
# type不会认为子类是一种父类类型,而isinstance会认为子类是一种父类类型
class A:
pass
class B(A):
pass
print(type(A()) == A)
print(isinstance(A(), A))
print(type(B()) == A)
print(isinstance(B(), A))
a = 11
print(isinstance(a, int))
# 切片 [A:B] , A为起始索引,B为结束索引,B可以省略,省略时取到列表末尾,当B不省略时区间范围为[A, B)
b = 'hello'
print(b[1:-1])
print(b[1:4])
print(b[1:])
print(b[:4])
# 列表
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ] # 定义一个列表
tinylist = [123, 'runoob']
print(list + tinylist) # 连接两个列表
# 列表索引
def reverseWord(input):
input = input.split('.')
print(f'splited_words:{input}')
input = input[-1::-1] # 第一个参数-1表示从列表最后一位开始,第二个参数为空表示移动到列表末尾,第三个参数位-1表示逆向索引且步距为1
print(f'reversed_words:{input}')
input = 'www.baidu.com.cn'
reverseWord(input)
# 元组
# 元组与列表基本一样,不同之处就在于元组不能改变
A = (1, 2, 3, 4, 5)
b = A[-1::-2] # 也可以进行类似的逆向索引
print(b) # (5, 3, 1)
# 数据类型转换
# 隐式数据类型转换
# Python 会将较小的数据类型转换为较大的数据类型,以避免数据丢失
a = 1
b = 1.1
c = a + b
print(c, type(c))
# 显式数据类型转换
a = int(1) # 1
b = int(3.2) # 3
c = int('2') # 2
print(a, b, c)
# d = int('2.3') # 报错
a = float(1) # 1.0
b = float(3.2) # 3.2
c = float('2') # 2.0
d = float('2.3') # 2.3
print(a, b, c, d)
# python运算符
# 1. python位运算符
a = 0b00111100
b = 0b00001101
print(bin(a & b))
print(bin(a | b))
print(bin(a ^ b))
print(bin(~a))
# 2. python成员运算符
a = [1, 2, 3, 4, 5]
b = [4, 5, 6, 7, 8]
if 1 in a:
print('True')
print(1 not in a)
print(4 in b)
print(2 in b)
# 3. python身份运算符 : is 和 is not
a = 10
b = 10
print(f'1 - a is b : {a is b}')
print(f'1 - a is not b :{a is not b}')
print(f'1 - id(a) == id(b) : {id(a) == id(b)}')
b = 11
print(f'2 - a is b : {a is b}')
print(f'2 - a is not b :{a is not b}')
print(f'2 - id(a) == id(b) : {id(a) == id(b)}')
# 转义字符
# \ 在行尾时表示续行符
print('line1 \
line2\
line3')
# \\ 反斜杠符号
print('\\')
# \' 单引号
print('\'')
# \" 双引号
print("\"")
# \b 退格
print('hello\b world') # hell world
# \v 纵向制表符
print('hello\vworld\vnihao')
# \t 水平制表符 表示占位,一般默认占位8个空格,默认情况下hello\t中hello为5个字符,\t填充3个字符;hell\t中hell为4个字符,\t填充4个字符
print('hello\t world')
# \r 将\r后面的内容移到开头,并逐一替换开头部分的字符,直至\r后面的内容全部替换完成,知道遇到下一个\r再重新从开头替换
print('hello\r world\r nihao xixihei\r pigpig') # pigpig xixihei
import time
# for i in range(101):
# print("\r{:3}%".format(i),end=' ')
# time.sleep(0.05)
# 格式化操作
num = 3
print("num is %+04d" % num)
python基本数据类型与基础语法
最新推荐文章于 2024-08-06 17:45:33 发布