数学集合运算
A = {1, 2, 3, 4, 5, 6}
B = {4, 5, 6, 7, 8}
print(A & B)
print(A | B)
print(A - B)
print(B - A)
print(A ^ B)
print({100, 200, 300} > {1, 2})
print({100, 200, 300} > set())
print({100, 200, 300} > {100, 300})
A = {'stu1', 'stu3', 'stu6', 'stu7', 'stu8', 'stu9'}
B = {'stu2', 'stu3', 'stu5', 'stu6', 'stu7', 'stu8'}
C = {'stu2', 'stu4', 'stu6', 'stu8', 'stu10'}
r1 = A | B | C
print(len(r1))
r2 = A - B - C
print(f'只选了第一个学科的人: {r2}, 数量: {len(r2)}')
r3 = A & B & C
print(f'选了三门学科的学生:{r3}, 数量:{len(r3)}')
r4 = A ^ B ^ C - r3
print(f'只选了一门学科的学生:{r4}, 数量: {len(r4)}')
r5 = r1 - r3 - r4
print(f'只选了两门学科的学生:{r5}, 人数:{len(r5)}')
字符串和字符
"""
1)容器型数据类型(一种同时保存多个文字符号的容器);
将引号(既可以是一个引号开头和结尾,也可以是三个引号开头和结尾)作为容器的标志,里面的每个符号就是字符串的元素。
2)字符串是不可变的;字符串是有序的
3)字符串中的元素可以是任何文字符号,字符串的元素又叫字符
"""
str1 = 'abc'
str2 = "abc"
str3 = '''abc'''
str4 = """abc"""
print(type(str1), type(str2), type(str3), type(str4))
str5 = 'mnKN123,.?%$¥😊换手机'
str6 = '''abc
123'''
print(str6)
str7 = 'abc\n123'
print(str7)
str8 = ''
"""
字符串中的每个独立的符号就是字符串的元素,又叫字符;字符串中的字符分为两种:普通字符、转义字符
1)普通字符:在字符串中表示符号本身的字符就是普通字符
2)转义字符: 在特定符号前加\表示特殊意义或者特殊功能的字符就是转义字符
常用的转义字符:
\n - 换行
\t - 水平制表符(相当于按了tab键)
\' - 普通的单引号
\" - 普通的双引号
\\ - 一个普通反斜杠
注意:在计算字符串长度的时候一个转移字符的长度是1
"""
print('abc和123,.')
print('\k\n123')
print('\a你好\f')
print('\tabc\n123')
print('it\'s me')
print("it's me")
print("I say:\"good good study, day day up!\"")
print('I say:"good good study, day day up!"')
print('\\abc')
path = 'C:\\name\\abc\\best\\code\\test.py'
print(path)
str1 = '\tabc\n123\\你好'
print(len(str1))
str2 = r'\tabc\n123\'=\"=\\='
print(str2)
path = r'C:\name\abc\best\code\test.py'
print(path)
字符编码
"""
# 1. 字符编码
"""
计算机只具备保存数字的能力,为了能够让计算机存储文字符号,给每一个符号对应了一个固定的数字,每次在需要存储文字符号的时候就存储这个符号对应的数字。
每个字符对应的那个固定的数字,就是这个字符的编码值。
"""
# 2. 编码表 - 保存每个文字符号和对应的编码值的表
"""
常见的编码表有两种:ASCII码表、Unicode编码表(Python)
1)ASCII码表: 只有128个字符(全是美国常用的符号)
数字字符在大写字母的前面
大写字母在小写字母前面
字母和数字字符都是连续递增
大写字母和小写字母之间有间隙
(0-48;A-65; a-97)
2)Unicode编码表
Unicode编码表中前128个字符就是ASCII码表中的字符
Unicode编码表中包含了世界上所有的国家所有的民族的所有的语言的符号(万国码)
中文编码范围:4e00 ~ 9fa5
"""
print(chr(97))
print(chr(65))
print(chr(0x4e00))
print(chr(0x9fa5))
for x in range(0x4DC0, 0x4DFF+1):
print(chr(x), end=' ')
print()
print(ord('a'))
print(ord('余'))
print(ord('婷'))
str1 = '一\u4e00'
print(str1)
str2 = 'a=\u0061'
print(str2)
char1 = '块'
print('\u4e00' <= char1 <= '\u9fa5')
str1 = '第一个盲文符号:\u28ee'
print(str1)
字符串基本操作
str1 = 'hello world!'
print(str1[0], str1[-1], str1[4])
str1 = 'hello world!'
print(str1[1:-1:-2])
print(str1[1:-1:2])
print(str1[1:-3])
print(str1[2:])
str1 = 'hello world!'
for x in str1:
print(x)
for x in range(len(str1)):
print(x, str1[x])
str1 = 'abc'
str2 = 'hello'
str3 = str1 + str2
print(str3)
str1 = 'abc'
new_str = str1 + 'd'
print(new_str)
str1 = 'abc'
new_str = ''
for x in str1:
new_str += x + '+'
print(new_str[:-1])
str1 = 'a开始28hsks0sn89就是'
new_str = ''
for x in str1:
if not '0' <= x <= '9':
new_str += x
print(new_str)
str1 = 'a开始28hsks0sn89就是'
new_str = ''
for x in str1:
if '0' <= x <= '9':
new_str += '*'
else:
new_str += x
print(new_str)
str1 = 'abc'
print(str1 * 3)
print('a' in 'abc')
print('ab' in 'abc')
print('ac' in 'abc')
"""
两个字符串比较大小比较的是第一对不相等的字符的编码值的大小。
比较运算的应用: - 判断字符的性质
判断x是否是数字字符: '0' <= x <= '9'
判断x是否是小写字母: 'a' <= x <= 'z'
判断x是否是大写字母: 'A' <= x <= 'Z'
判断x是否是字母: 'a' <= x <= 'z' or 'A' <= x <= 'Z'
判断x是否是中文: '\u4e00' <= x <= '\u9fa5'
"""
print('abc' == 'abc')
print('abc' == 'bac')
print('abc' > 'mn')
print('zbc' > 'mn')
print('Zbc' > 'mn')
list1 = [10,20,30]
print(list1)
list2 = ["abc", 100]
print(list2)