变量就是内存地址的名字
格式:变量名=值
用完也可把变量删除
name={} # 变量初始化
name="小王"
print(name) # 输出名字
del(name) # 删除变量
print(name) # 现在打印这行就会报错,因为变量已经被删了
输入:input()
输出:print()
标识符命名规则:
由数字、字母、下划线组成
不能数字开头
不能使用内置关键字
严格区分大小写
数字:整数 int、浮点数float、复数complex
a=2
b=3.3
c=1+2j
print(type(a)) # 使用type获取数据类型
print(type(b))
print(type(c))
a=5
b=2
print(a+b,a-b,a*b,a/b) #7 3 10 2.5
print(a%b) # 1
print(b**5) # 2的5次方 print(b*b*b*b*b*b) 结果为32
print(a//b) # 2
c=2
d=3
print(c==d) # 输出 False
print(c>=d) # 输出 False
print(c<d) # 输出True
print(c!=d) # 输出 True
可以用单引号、双引号或三引号来创建字符串
str1="你真的是一个傻子噢。"
str2="你才是!"
#字符串连接
print(str1+str2) # 你真的是一个傻子噢。你才是!
# 字符串重复
print(str2+str2+str2) # 你才是!你才是!你才是!
print(str2*5) #输出5次: 你才是!你才是!你才是!你才是!你才是!
获取字符串中的字符:
print(str1[6]) # 傻
1、截取字符串 范围为 [) ,str[start:end]就是在str中 截取第start到第end之间
2、start/end自己定义索引为多少,
3、start不写默认为0,end不写默认为最后
4、支持复索引,最后一个为-1,依次向前是-2,-3…
str="abcdefg"
start=2
end=5
print(str[start:end]) # cde
print(str[:end]) # abcde
print(str[start:]) # cdefg
print(str[start:-1]) # cdef
这样麻烦,而且必须是同一类型才可
# age='15'
# sex='男'
# print("我"+age+"性别"+sex)
格式化:
age=15
sex='男'
print("我%d,性别%s" %(age,sex)) # %(age,sex)如果是一个参数写不写都ok
\ ’ ‘’ \n \t(制表符,就是tab键)
注:引号前面加r说明里面的字符不做转义字符
age=15
sex='男'
print("我%d\n性别%s" %(age,sex))
print(r"我%d\n性别%s" %(age,sex))
列表是一个有序序列,序列中的每个元素都分配一个数字(位置,索引),可以用[],{}创建列表,可直接将序列放在list()中
具体操作举栗子:
# 创建列表
l1={1,2,3,4}
l2=[5,6,7,8]
l3=list('123445678')
l4=list("12345678")
l5=list("你好8")
# 打印
print(l1,l2)
print(l4)
print("l3[4]=",l3[4])
print('l5[2]=',l5[2]) #用索引访问列表中元素
print('l4[0]~l4[4]=',l4[0:4]) #截取
# 通过索引修改
l4[0]='asdfg'
print(l4)
del(l4[7]) # 删除
print(l4)
方法 | 含义 |
---|---|
append | 追加 |
extend | 扩展 |
insert | 插入 |
pop | 弹出(列表中相当于数据结构中删除堆顶元素) |
remove | 移除指定的元素 |
clear | 清空 |
index | 查询索引 |
reverse | 反转 |
sort | 排序 |
eg:
l1=[1,2,3]
l2=[7,8,9]
l1.append(4)
print(l1) # [1, 2, 3, 4]
l1.append(l2)
print(l1) # [1, 2, 3, 4, [7, 8, 9]]
l1.extend(l2)
print(l1) # [1, 2, 3, 4, 7, 8, 9]
l1.pop() #相当于数据结构中删除堆顶元素
print(l1) # [1, 2, 3, 4, [7, 8, 9], 7, 8]
元祖与列表类似,用()来创建元祖,可以直接将序列放在tuple()中
t1=(1,2,3,4)
t2=tuple("7890")
print(t1) # (1, 2, 3, 4)
print(t2) # ('7', '8', '9', '0')
print(t1[0]) # 1 # 访问元祖中的数据
元祖常用操作与列表基本相同,但元祖中的元素不能被修改和删除
,而列表可以
元祖常用方法:与列表相似
方法 | 含义 |
---|---|
len | 获取长度 |
max | 获取元祖中最大值 |
min | 获取元祖最小值 |
元祖与列表的转化:
l1=[1,2,3,4]
t3=tuple(l1)
print(t3) # 列表转元祖:(1, 2, 3, 4)
l2=list(t3)
print(l2) # 元祖转列表:[1, 2, 3, 4]
是一种可变容器模型,可存储任意类型对象
以键值对存储数据key-value形式,在{}中
# 创建
d={'name': '小王', 'age' : '18' , 'sex' : '女'} # 注意格式
print(d) # {'name': '小王', 'age': '18', 'sex': '女'}
# 访问
print(d['name']) # 小王
print(d.get('name')) # 小王
注:
用get访问,如果key不存在,会返回None(空)
用[]访问,key必须是存在的,如果不存在程序运行异常
方法 | 含义 |
---|---|
keys | 获取所有的key |
values | 获取所有值 |
pop | 根据键弹出 |
popitem | 弹出最后一组键值对 |
update | 键值对 |
clear | 清除数据 |
#获取所有的key
print(d.keys()) # 打印:dict_keys(['name', 'age', 'sex'])
#获取所有的value
print(d.values()) # 打印:dict_values(['小王', '18', '女'])
#获取所有键值对
print(d.items()) # 打印:dict_items([('name', '小王'), ('age', '18'), ('sex', '女')])
pop 打印出key对应的value后,字典中的key-value也被删除
popitem是打印最后一个key-value值,然后key-value被删除
# 添加
d['school']='西安'
print(d) # {'name': '小王', 'age': '18', 'sex': '女', 'school': '西安'}
# 修改
d['name']='李'
print(d) # {'name': '李', 'age': '18', 'sex': '女', 'school': '西安'}
# 删除
del d['age']
print(d) # {'name': '李', 'sex': '女', 'school': '西安'}
# pop 打印出key对应的value后,字典中的key-value也被删除
#popitem是打印最后一个key-value值,然后key-value被删除
print(d.pop('name')) # 李
print(d) # {'age': '18', 'sex': '女'}
print(d.popitem()) # ('school', '西安')
print(d) # { 'sex': '女'}
注:
key是不能修改不能重复的,它与value是一个映射关系,所以key存在就是修改操作,不存在就是添加操作
,那刚刚前面提到过的列表与元祖,元祖就可以作为key,因为它的元素不能被修改和删除,如果列表作为key就间接修改了key,则会报错
用来存储一个无序的不重复的元素序列,标识符为{},中间元素用 , 隔开
s={"123","456","789"} #创建
print(s) #打印顺序不一定,因为他是无序的
s2=set("abcd") # 创建
print(s2)
####################################################
s3=set() # 可创建空的
print(s3)
s4=set("12341234") # 里面有重复的元素
print(s4)
注:
差集 - (分前后)、 交集 & 、并集 |
方法 | 含义 |
---|---|
add | 添加元素 |
remove | 移除指定的元素 |
pop | 随机移除元素 |
union | 返回两个集合的并集 |
difference | 返回两个集合的差集 |
intersection | 返回集合的交集 |
symmetric_difference | 返回两个集合中不重复元素的集合 |
如果添加的元素存在了,不会报错,但元素也不会被加进来
空值:通常作为默认值或占位值来使用
a=None
print(a) # None
布尔:存一个真(True)或假(False)的数值
布尔值转换:
补充:
逻辑运算符:逻辑与、或、非: and or not
b1=True
b2=not b1
print(b2) # False