(1) 变量的含义:
可以改变的量,具体指的是内存的一段空间
可以说它是以个代表,代表很多数,代表其他东西。比如说桌子,会代表各种类型的桌子。
(2) 变量的声明:
变量的声明有很多种方式如
1) a = 1 2) a,b = 3,4 3)a = b = 33
b = 1 #把3赋值给a, 将33这个值给a和b
print(a,b) #将4赋值给b,
(3)变量的命名:
字母数字下划线,数字不能放最前
严格区分大小写,关键字符不出现
变量命名有意义,中文字符没的见
在python中查看所有关键字
import keyword
res = keyword.kwlist
print(res)
'''
['False', 'None', 'True', 'and', 'as', 'assert',
'break', 'class', 'continue', 'def', 'del', 'elif',
'else', 'except', 'finally', 'for', 'from', 'global',
'if', 'import', 'in', 'is', 'lambda', 'nonlocal','not',
'or', 'pass', 'raise', 'return', 'try', 'while',
'with', 'yield']
'''
utf-8 国际标准编码(可编程的Unicode编码集)呗称为万国码:用3个字节代表一个中文用一个字节代表一个英文或符号。 GBK,在国际编码中用2个字节代表一个中文。用一个字节代表一个英文或者符号代表一个字节 用中文命名变量,在语法上允许,但严格禁止。
(4)变量的交换
在python中有自己独特的变量交换方式
# 这是python独特的变量交换方法
a = 10
b = 11
a,b = b,a
print(a,b)
# 通用方法是找个中间变量。计算机不会像人一样思考,这种情况
# 就像是俩人要通过独木桥过对岸一样。得让一个人先有地方站
# 也就是说要设置一个中间变量temp
a = 33 # 将33赋值给a
b = 55 # 将55赋值给b
temp = a # 先让a进入一个temp中
a = b # 再将b放入a的位置,此时啊已经跑到temp中,b已经跑到a那
b = temp #再将在temp中的a放入到b中
python中没有定义常量的用法。通常默认将变量名全部大写的视为常量如身份证号
ID = “210201199810102014”
呃这里也就介绍一些函数的用法其他的倒也没啥
type()函数用来获取变量的对象。
id() 获取该变量所指向的那个值的地址
在python中
0b表示2进制。 如:0b10101
0o表示8进制。 如:0o12712
0d表示10进制。 如:0d999
0x表示16进制。 如:0xABCD
如果想了解的话可以参考王爽老师编著的《汇编语言》
两种表示方法一种小数表示一种是科学技术法
默认True的值为1,False的值为0
两种表示方式:
a + bj是一种另一种用comple(x,y)表示x+yj
用引号引起来的就是字符串
单引号’ ’ 、双引号“”、三引号’’’
字符串的特性:可获取,不可修改,有序
字符串不能够修改
这里要介绍下转义字符:
转义字符:将有意义的字符变得无意义,将无意义的字符变得有意义
语法:+ 某字符
\n:代表换行
\t:代表一个缩进,水平制表符
\r:将\r后面的字符串拉到当前行首
转义字符在字符串中出现时会按转义字符的意思表示。
所以请在python上输出如下内容
# (1)单引号引起来的字符串
strvar = '今天天气有雾霾'
print(strvar,type(strvar),id(strvar))
# (2)双引号引起来的字符串
strvar = "小楼昨夜又东风"
print(strvar,type(strvar),id(strvar))
strvar = "小楼昨'夜'又东风" # 外面是双引号,里面需要单引号总之两者要分开输入
print(strvar)
strvar = "故国不堪回首\n月明中"
print(strvar)
strvar = "故国不堪回首\r\n月明中"
print(strvar)
strvar = "故国不堪回首\t月明中"
print(strvar)
strvar = "故国不堪\n回首\r月明中"
print(strvar)
strvar = "故国不堪回\"首\"月明中" # 将有意义的双引号变得无意义
print(strvar)
print(strvar,type(strvar),id(strvar))
#回忆下type是什么意思,id是什么意思
# (3)三引号引起来的字符串 (三引号字符串,支持跨行操作)
strvar = """
本来无一'物',
何处惹尘"埃"。
"""
print(strvar)
strvar = '''
床前明月光,
地上鞋两双
'''
print(strvar)
# (4)元字符串 r + "字符串" (让字符串里面的转义字符失效)
strvar = r"今天拉肚\r子\t了\n么?"
print(strvar)
(5)字符串的格式化
"""
%d : 整型占位符
%f :浮点型占位符
%s :字符串占位符
语法: 字符串 % (值1,值2,。。。。。)
"""
# %d
strvar = "谁昨天买了%d个娃娃" % (5)
print(strvar)
# %2d 站两个位置,默认居右
strvar = "那个谁昨天买了%2d个娃娃" % (5)
print(strvar)
# %-4d 站两个位置,默认居左
strvar = "有个谁昨天买了%-4d个娃娃" % (5)
print(strvar)
# %f 小数点后默认精度保留6位
strvar = "华为出了一款折叠手机,价格为%f" % (9.99)
# %f 精确位数的时候,存在四舍五入
strvar = "华为出了一款折叠手机,价格为%.1f" % (9.99)
print(strvar)
# %s
aa = "刘德华是一个大帅锅"
strvar = "%s" % (aa)
print(strvar)
# 综合案例
strvar = "老板给开工资了,一共%.2f ,看好了一辆车,价格%d元,心情在%s" % (9.99,10,"崩溃的边缘")
print(strvar)
# 在直接做输出时是这个样子的
print("老板给开工资了,一共%.2f ,看好了一辆车,价格%d元,心情在%s" % (9.99,10,"崩溃的边缘"))
# 当占位符只有一个时可以不用括号。
列表的特性:可获取、可修改、有序
# 声明一个空列表
listvar = []
print(listvar,type(listvar))
# (1)列表的获取,自左向右索引(相应元素的下标)从0开始
# 自右向左索引从-1开始
# 0 1 2 3 4 5
listvar = [5,False,2-4j,5.16,"呵呵","嘿嘿"]
# -6 -5 -4 -3 -2 -1
res = listvar[4]
print(res)
res = listvar[-2]
print(res)
res = listvar[-1]
print(res)
# (2)列表的修改
listvar = [5,False,2-4j,5.16,"呵呵","嘿嘿"]
listvar[-2] = 3.14
print(listvar)
listvar[1] = True
print(listvar)
#len()函数 计算容器类型数据中元素的个数
lengthvar = len(listvar)
print(res)
res = listvar[lengthvar-1] #listvar[5]
print(res)
元组:
元组的特性:可获取,不可修改,有序
区分是否是元组的标志性符号是逗号,声明一个空元组可以用()
tuplevar = ()
print(tuplevar,type(tuplevar))
tuplevar = (1,)
tuplevar = 1,2,3
print(tuplevar,type(tuplevar))
# 元组的获取
tuplevar = ("白百合","李小璐","张柏芝","马蓉","洪世贤")
res = tuplevar[1]
print(res)
# error 元组不能够修改
'''
tuplevar[-1] = 123
print(tuplevar)
集合类型set:
集合特征: 自动去重,无序
集合的用途:用于做交集,差集,并集,补给(做交叉并补的)
# 1.集合无序
setvar = {"刘德华","张学友","郭富城","王文"}
# print(setvar)
# 每次输出的内容都不相同
# (1)因为无序无法通过索引获取值
# print(setvar[0])
# (2)因为无序无法通过索引修改值
# setvar[1] = "123"
# 2.集合自动去重
setvar = {"王宝强","马蓉","宋哲","宋哲"}
print(setvar,type(setvar))
# 3.定义一个空集合
setvar = {}
print(setvar,type(setvar))
# 其类型是空字典,不是空集合
setvar = set()
print(setvar,type(setvar))
#定义一个空集合可以用set()来定义
字典类型:dict
字典特征:键值对存储数据,有序键和值之间用冒号隔开,键值对之间用逗号隔开
了解:3.6版本,把字典的字面顺序记录下来,在从内存拿去数据的时候,根据字面顺序重新排序,所以看起来像有序
3.6版本之前都是无序的,3.6版本经过算法优化变成有序,但本质上无序
(不可变的数据(可哈希)):Number(int float bool complex) str tuple
(可变的数据(不可哈希)): list set dict
11111111111111111111111111111111111111111111111111111111111111数字分割线
集合、列表、字典不能拿来做字典的键:也就是说这个键值得是唯一的不可变的。
# 语法: dictvar = {"a":1,"b":2,"c":3}
dictvar = {"top":"狗头","middle":"安其拉","bottom":"鲁班七号",'jungle':"达摩","support":"蔡文姬"}
print(dictvar)
# 获取字典当中的值
res = dictvar['bottom']
res = dictvar['jungle']
print(res)
# 修改字典当中的值
dictvar['support'] = "婕拉"
print(dictvar)
# 字典的键必须是不可变的
'''在命名字典键的时候,推荐使用字符串,按照变量命名的方式来做'''
dictvar = {1:1,(1,2,3):3,False:4,3.14:999,4-2j:888,"王宝强":"大帅锅"}
print(dictvar)