Python学习,Day2

### Number ( int float bool complex)

#int 整型 (正整数 0 负整数)
intvar = 123

#type 获取值的类型
res = type(intvar)

#id 获取一个值的地址
res = id(intvar)

#二进制整型
intvar = 0b1111

#八进制整型
intvar = 0o125

#十六进制整型
intvar = 0x1010

### Number (int float bool complex)

#(1) float 浮点型 小数
#表达方式1
floatvar = 4.88
print(floatvar)
print( type(floatvar) )

#表达方式2 科学计数法
floatvar = 6.7e4
print(floatvar)
print( type(floatvar) )

#(2) bool 布尔型 True 真的 False 假的 只有两个值
boolvar = True
boolvar = False
print( boolvar )
print( type(boolvar) )

#(3) complex 复数
“”"
complex 实数 + 虚数
3+4j
3: 实数
4j: 虚数
j: 如果有一个数,他的平方等于-1,那么这个数就是j,表达的是高精度的类型;(科学家认为有)
“”"
#表达方式一
complexvar = 56-3j
complexvar = -3j
print( complexvar )
print( type(complexvar) )

#表达方式二
#语法 : complex(实数,虚数)
complexvar = complex(56,-3)
print( complexvar )
print( type(complexvar) )

### 字符串 str

“”" 用引号引起来的就是字符串 “”"

“”"
#转义字符 : \ + 某个字符
(1) 将有意义的字符变得无意义
(2) 将无意义的字符变得有意义

\n , \r\n : 换行
\t : tab缩进(水平制表符)[一般来说,一个锁进是4个空格的距离
\r : 将后面的字符直接拉到当前行行首
“”"

#(1) 单引号引起来的字符串
strvar = ‘今天是开课的第二天’
print(strvar)
print( type(strvar) )

#(2) 双引号引起来的字符串
#将无意义的字符变得有意义
strvar = “文哥是这个世界上,\n我认为最帅的男人”
strvar = “文哥是这个世界上,\r\n我认为最帅的男人”
strvar = “文哥是这个世界上,我认\t为最 帅的男人”
strvar = “文哥是这个世界上,\r我认为最帅的男人”
strvar = “文哥是这个世界上,\n我认为\r最帅的男人”
#将有意义的字符变得无意义
strvar = “文哥是这个世界上,浑身冒"金光"的男人”
print(strvar)
print( type(strvar) )

#(3) 三引号引起来的字符串 ‘’’ “”"(支持跨行的效果)
strvar = ‘’’
我感觉我走错了房间,
貌似python31的同学是’祖安’服务器请来的"救兵"
‘’’
print(strvar)
print( type(strvar) )

#(4) 元字符串 r"字符串" 不转义字符,原型化输出字符串
strvar = r"E:\nython31\tay2"
print(strvar)

(5) 格式化字符串
“”"
语法 : “字符串” % (值1,值2,值3)
%d 整型占位符
%f 浮点型占位符
%s 字符串占位符
“”"

#%d 整型占位符
strvar = “王金刚学习容易走神,买了%d个风油精,提神醒脑” % (5)
print(strvar)

#%2d 占两位 原字符串默认居右
strvar = “白星今天%d岁” % (3)
print(strvar)
strvar = “白星今天%2d岁” % (3)
print(strvar)

#%-2d 占两位 原字符串默认居左
strvar = “白星今天%-2d岁” % (30000)
print(strvar)

#%f 浮点型占位符
strvar = “马春陪一个月开了%f工资” % (9.9)
print(strvar)

#%.2f 小数点保留2位
strvar = “马春陪一个月开了%.2f工资” % (9.9)
print(strvar)

#%f 存在四舍五入的情况
strvar = “马春陪一个月开了%.1f工资” % (9.876542342)
print(strvar)

#%s 字符串占位符
strvar = “%s” % (“python31的同学们都有祖安人民的特质”)
print(strvar)

#综合案例
strvar = “%s看好了一辆车,特斯拉model x,买了%d辆,花了%.1f元” % (“徐彦伟”,10,9.9)
#strvar = “%s看好了一辆车,特斯拉model x,买了%d辆,花了%.1f元” % (“徐彦伟”,10,9.9)
print(strvar)

#可以全部使用%s占位符进行取代
strvar = “%s看好了一辆车,特斯拉model x,买了%s辆,花了%s元” % (“徐彦伟”,10,9.912345)
print(strvar)

### 容器类型数据( str list tuple set dict )

list 列表

“”“特点: 可获取,可修改,有序”""
#定义一个空列表
listvar = []
print(listvar , type(listvar) )

#定义一个普通列表
#正向下标索引 0 1 2 3 4
listvar = [100,19.123,True,1+12j,“马生平”]
#逆向下标索引 -5 -4 -3 -2 -1
print(listvar)

#1.获取列表当中的值
res = listvar[2]
res = listvar[-3]
print(res)

#获取列表当中最后一个元素
#python 特有
print(listvar[-1])

#通用写法
“”"
len 获取容器类型数据的长度(元素的总个数)
“”"
res = len(listvar)
print(res) # 5

res = listvar[res - 1]
print(res)

#简写
print(listvar[len(listvar) - 1])

#2.修改列表里面的元素
listvar[-3] = False
print(listvar)

### tuple 元组

“”“特点: 可获取,不可修改,有序”""
#定义一个空元组
tuplevar = ()
print(tuplevar , type(tuplevar))

#定义一个普通元组
#正向下标索引 0 1 2 3
tuplevar = (“明浩”,“徐艳伟”,“李志辉”,“马春陪”)
#逆向下标索引 -4 -3 -2 -1

#1.获取元组当中的元素
res = tuplevar[1]
res = tuplevar[-1]
print(res)

#2.可以修改元组当中的值? 不行!
#tuplevar[0] = “王金刚” error

#3.判定元组的类型
“”“逗号才是区分是否是元组的标识符”""
tuplevar = (123,)
tuplevar = 123,
print(tuplevar , type(tuplevar))

### str 字符串

“”" 特征: 可获取,不可修改,有序 “”"
#0 1 234 5 6 7 8
strvar = “我爱你,亲爱的菇凉”
#-9-8-7-6-5-4-3-2-1

#1.可以通过下标获取字符串当中的元素
res = strvar[1]
res = strvar[-8]
print(res)

#2.可以修改字符串当中的元素么? 不行!
#strvar[1] = “恨” error

### 集合 set (作用:集合之间的交差并补)

“”" 特点: 无序,自动去重"""
#定义一个集合
setvar = {“金城武”,“王俊凯”,“喻文波”,“王文”}
print(setvar , type(setvar))

#1.集合无序
#获取集合中的元素可以么? 不可以!
#res = setvar[3] error
#修改集合中的元素可以么? 不可以!
#setvar[0] = “123” error

#2.自动去重
setvar = {“金城武”,“王俊凯”,“喻文波”,“王文”,“王文”,“王文”,“王文”}
print(setvar)

#3.定义一个空集合
#setvar = {}
setvar = set()
print(setvar , type(setvar))

### 字典 dict

“”"
特点: 键值对存储的数据,表面上有序,实际上无序
语法: { 键1:值1 , 键2:值2 … }
“”"

#1.定义一个空字典
dictvar = {}
print(dictvar , type(dictvar))

#2.定义一个空字典
dictvar = {“智多星”:“吴用”,“花和尚”:“鲁智深”,“浪里白条”:“张顺”,“母夜叉”:“孙二娘”,“回手掏”:“大司马”}

#3.获取字典中的值
res = dictvar[“回手掏”]
print(res)

#4.修改字典当中的值
dictvar[“回手掏”] = “宋云杰”
print(dictvar)

字典的键 和 集合中的值 对数据类型有要求

dictvar = {333:“aaa”,False:“bbb”,9+3j:“ccc”,3.14:“ddd”,(1,2,3,4):“fff”,“中文”:“123”,“top”:“王文”}
print(dictvar)

“”"
字典的键 和 集合中的值 数据类型的要求必须是如下几种:
如下类型可以: 不可变数据(可哈希的数据类型)
Number(int , float , bool ,complex) , str , tuple

不允许的类型: 可变数据(不可哈希的数据类型)
list , set , dict

但凡提到哈希算法(hash),都是典型的无序特征
目的: 为了更加均匀的把数据分配到内存里,底层用的算法类似于取模.

python3.6版本之后,对字典做了优化,存储数据的时候用哈希算法
但是在拿出数据的时候,重新按照定义字典时的顺序进行重新排序
所以看起来有序,实际上无序
“”"

#dic = {{“a”,“b”}:55}
#setvar = {{“a”:1,“b”:2},45}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值