这是我的第一篇博客,请多多关照,如有不正确欢迎一起讨论!
一、数据类型:
1 整值数据:
1)整型数据 :
十进制:eg:120
二进制: 前缀 0b或者oB(前者为数字0,后者为字母o) eg:0b1111 = 15
八进制: 前缀0x或者oX(前者数字0,后者字母o) eg:0xabc =10*16*16+11*16+12*1=2748
2)浮点型数据:
十进制: 3.23等
指数形式: eg:45e-5
注意:浮点型默认提供17为的有效数字精度
1234567890123456789.0+1-1234567890123456789.0=0.0 而不是等于1 就是因为有效精度,加的相当于没加
3)复数型数据
a+bJ形式 a为实部,b为虚部,J为虚数单位
2 字符串类型:
1 标准字符串:
单引号、双引号以及三引号 eg:str2=“I am ‘Python’”
2 转义字符串
\r 、n
如果不想被转义,添加
print
(
r"C:DE\name"
) 小r
3 bool类型: 不多说
4 复合数据类型;重要!!
1)列表 list mylist=["12","asf"]
2)元组 tuple mytuplr=("12","asf")
3)字典 dirctionary
dict={
'name'
:
'yylong'
,
'code'
:
'SY1610220'
,
'gender'
:
'male'
}
4)集合set student={
'Tom'
,
'Jim'
,
'LUCY'
,
1.2
,
1.2
}
比较:
1)使用格式: 列表用中括号【】 元组用小括号() 字典用大括号{ }、集合用大括号{ }
2)性质: 列表、元组和字符串都是有序的复合数据类型,可以通过下表访问的,eg:mylist[
2
]
字典是通过键值方式进行访问,集合是无序不重复的
3)添加数据:
列表:list.append(“add”)
元祖: tuple.add("add")
字典:dict[
"tel"
]=
18888888
1.5节:系统函数
1 模块函数:需要import导入的,比如
math:
print(math.fabs(a)) #绝对值
print
(math.pow(
2
,
3
))
#次方的问题
print
(math.log(
100
,
10
))
#第二个值是底数,第一个值是指数
print
(math.degrees(math.pi))
# 将弧度值转换成角度
random模块:
print
(random.randint(
0
,
1
))
#返回一个[0,1]之间的整数
print
(random.random())
#返回一个【0,1)之间的实数,不用指定参数
time模块
print
(
type
(time.localtime()))
print
(time.localtime())
print
(time.strftime(
"%Y-%m-%d %H:%M:%S"
))
#这个要记住,按照格式输出现在时间
2 内置函数
1)range([strat] end [,step]) 其中[ ]为可选参数 默认从0开始,步长为1
eg:range(2) --> [0,1] 返回的是list格式, 包含开始值,不包含结束值 等价于 range(0,,2,1)
1-6节: 基本运算
1 算数运算
1 )基本运算: ××乘方 // 取商的整数部分 %取余
2 )浮点数计算误差:浮点数的精确到17位的,所以可能会出现精度问题,慎用==,要善于用≈ ,只要精度满足即可。
x=2.2
a=(x-
1.2
)==
1.0
print
(a) 结果为False 原因在在于精确度问题,实际结果可能为1.0000000000000000000000000001
3 )数据类型转换:
int()
float()
2 位运算:
按位与&、按位或|、按位异或^ 按位取反~ 左移运算<< 右移运算>>
print
(
1
&
1
)
#按位与& 两者均为1的时候才为1
print
(
0
|
1
)
#按位或 有一位为1 即为1
print
(
1
^
1
)
#只有一个为1才为1
print
(~(-
2
))
#取反
print
(-
3
<<
2
)
#左移n位相当于乘以2的n次方
print(4>>2) # 右移相当于除以2的n次方
取反、
左移运算<< 右移运算>> 涉及到源码、补码以及正负号的情况,有待进一步研究!!