变量
什么是变量
变量就是可以改变的量,比如:
# x+y = 10
# x = 5 y = ? --->5
# x = 6 y = ? --->4
#那么这个x,y就是变量
变量的赋值:
str1 = "有喜欢的人一定要表白~你丑没关系,万一她瞎呢?"
print(str1)
print(str1)
print(str1)
#第二种赋值方式
str1 = str2 = -1000
print(str1,type(str1),id(str1))
print(str2,type(str2),id(str2))
变量的命名规范:
- 中文可以使用,但是不推荐,且一般没人用
- 可以使用数字,但是数字不能在开头
- 变量名称只能使用数字、字母、下划线
- 可以使用下划线,但是下划线不能开头
- 单下划线开头表示变量很重要,不能随意更改
- 双下划线开头表示为私有变量,其他程序无法调用
- 严格区分大小写
- 变量名称要具有描述性
- 不能使用关键字当作变量名
- 当变量名与python默认关键字冲突时会报错
- 当变量名与python默认函数名冲突时会覆盖掉函数的功能
数据类型
python可以自定义数据类型,数据类型,默认的数据类型一共有六种
- Numbers 数字类型
- String 字符串
- List 列表
- set 集合
- dict 字典
- Tuple 元组
Numbers 数字类型
-
int 整数型,即整数
var = 1 print(var) print(type(var)) print(id(var))
-
float 浮点数,即小数
var = 3.141592654 #科学记数法 var1 = 3141592654e-9 #====>10的-9次方 print(var,var1) print(type(var),type(var1))
-
complex 复数
#实数 5 #虚数 i 一个数的平方等于-1 var = 5 + 2j print(var) print(type(var))
-
bool 布尔值
- 布尔值只有两个值:True,False;一般在判断语句中使用
- 当其他类型数字转换为布尔值时,只有0为False,其他任何数字都为True
# True 表示肯定的语句 # False 表示否定的语句 if 5 > 3: print("有纹身的都怕热,镶金牙的爱咧嘴。")
String 字符串
声明字符串一共有三种方式:
-
第一种 单引号 变量 = '字符串内容'
str1 = '有纹身的都怕热,镶金牙的爱咧嘴.' print(str1,type(str1))
-
第二种 双引号
str2 = "有纹身的都怕热,镶金牙的爱咧嘴." print(str2,type(str2))
-
第三种 三引号
- 三引号可以定义多行字符串,但是换行的地方输出时同样也会换行
str3 = """有纹身的都怕热,镶金牙的爱咧嘴.""" print(str3,type(str3))
三种方法的使用:
- 当字符串中有单引号或者双引号时,定义的引号用其他两种
- 当既有单引号又有双引号时,可以用转义字符,也可以用三引号定义
str1 = """ "金星"说:"人不犯我,我不犯人,人若犯我,礼让三分,人若再犯,铲草除根~~~" """
print(str1)
转义字符:
转义字符 作用描述 使用率
\ 续行符 *
\\ 反斜杠符号(\) ***
\' 单引号 *****
\" 双引号 *****
\a 响铃
\b 退格(backspace)
\e 转义
\000 空
\n 换行 *****
\v 纵向制表符
\t 横向制表符 *****
\r 回车 *****
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
列表
- 列表就是一系列元素的顺序组合,标识符是[ ],里边的每个元素用逗号区分,列表中可以放置任何数据类型,元素可以随时修改。
- 列表中可以嵌套任意其他数据类型
# 0 1 2 3 正向序号 (索引-->index)
list1 = ["a","b","c","d"]
# -4 -3 -2 -1 反向序号 (索引-->index)
print(lise1,type(list1))
# 通过索引取值
print(list1[0],list1[-4])
print(list1[3],list1[-1])
# 通过索引修改元素
list1[2] = "e"
print(list1)
# 可以嵌套列表或其他数据类型
list2 = ["a","b",1,2,["c",3]]
print(list2,type(list2))
# 嵌套取值/改值
# 0 1 2
list3 = ["a","b",[1,2,["c","d"]]]
list3[2][2][1] = "f"
print(list3)
元组
- 元组是一系列元素的顺序组合,标识符是逗号,初始化之后元组内的元素不能再做修改
- 元组中可以嵌套任意其他数据类型
# 空元组定义和单一元素元组定义
tuple1 = ()
print(tuple1,type(tuple1))
tuple2 = (1,)
print(tuple2,type(tuple2))
# 0 1 2 3 (正向序号)
tuple1 = ("a","b","c","d")
# -4 -3 -2 -1 (反向序号)
# 通过索引取值
print(tuple1[0],tuple1[-1])
#组合后的元组不能进行修改
# tuple1[3] = "f"
# print(tuple1)
#嵌套元组取值
tuple3 = ("a",1,("c","2"))
print(tuple3,type(tuple3))
# 嵌套的列表可以通过索引修改列表内内容,但是元组的内存地址不发生变化
tuple4 = ("a","b",[1,2])
print(tuple4,id(tuple4))
tuple4[2][0] = "c"
print(tuple4,id(tuple4))
集合
- 一组特定数据的无序组合 ,无法查找和修改,所有的元素不能重复,标识符:无
- 集合中只能嵌套元组
# 空集合定义
set2 = set()
print(set2,type(set2))
# 集合的元素只能是数字类型和字符串
set1 = {1,2,3,"a","b",3,1}
print(set1,type(set1))
# set2 = {1,2,{3,4,"a"}}
# print(set2)
# 常用做运算:补集 交集 差集 并集
字典
- 字典就是具有键值映射关系的一组无序数据组合,可以修改字典的标志符号:{}
- 字典的键可以嵌套完全不可更改的数据类型(如,元组嵌套元组),键可以嵌套任意数据类型
#冒号左边为字典的键 冒号右边为键对应的值
#字典的定义
dict1 = {1:2,"花和尚":"鲁智深",9:"史进",1.2:"花荣"}
print(dict1,type(dict1))
#字典只能通过键来索引
print(dict1["花和尚"])
# 字典可以通过键来修改值
dict1[9] = "九纹龙"
print(dict1)
# 字典中可以嵌套列表、元组、集合和字典,但只能作为值出现
dict2 = {"韩寒":"三重门","四大名著":{"吴承恩":"西游记","曹雪芹":"红楼梦","施耐庵":"水浒传","罗贯中":"三国演义"}}
print(dict2["韩寒"])
print(dict2["四大名著"]["曹雪芹"])
分类
-
非容器类数据类型:number 数字类型
-
容器类数据类型:
string 字符串 有序容器
list 列表 有序容器
tuple 元组 有序容器
set 集合 无序容器
dict 字典 无序容器
练习
1、li=["hello",'seven',["mon",["h","kelly"],'all'],123,446]
a. 请输出 “all”
b. 请输出“kelly”
c. 请输出1232、tu=("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
a.tu变量中的第一个元素"alex"是否可以被修改,如果可以请修改为"ALEX"
3、dict={'k1':"v1","k2":"v2","k3":[11,22,33]}
a.请在修改字典中 “k1” 对应的值为 “alex”,输出修改后的字典
网友评论