常见数据类型和运算
1 变量的命名规范
'''只能以字母,数字,下划线组成,不能以数字开头。命名时 避免与系统关键字重复,关键字:['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']长变量名建议使用下划线组成在一起,如:name_of_owen多个单词的简写建议全用大写,ege; URL | HTTP'''
2 常见的数据数据类型
整形 int
py3中所有整形都用int来表示 py2中长整形用long类型存储
浮点型 float
用来存储小数的
salary=888888.0123456789
# 可以通过格式化方式来绝对输出格式
# %.6f % salary
# 1)%f对浮点型数据进行占位
# 2).后的数据数字表示小数精度
# 3).前的数据是输出的长度,小于等于要输出的数据长度不起作用,超出就采用规定的最大长度
# 注:%015.6f:右对齐,左侧不足拿0填充, %-15.6f: 左对齐输出
print('%015.6f' % salary)
# 了了解
# 可以将格式化的结果进行保存,以便之后再次使用
info = '%015.6f' % salary
print(info)
%s是万能占位符, %是用来连接有占位符的字符串与需要占位的变量,多个变量用()包裹
info = """信息:name:%sage:%s""" % (name, age)
print(info)
布尔 bool
True 真 数字1也代表
False 假 None 和 0 都为False
字符串 str
单行字符串; " " | ' '
多行字符串: """ """ | ''' '''
列表 list
# 1、定义:变量名 = [多个值,之间用,隔开]
ls = [3, 1, 2]
# 2、列表变量名ls访问的是列表整体
print(ls) # [3, 1, 2]
# 3、通过索引(index)来访问具体的值,index从0开始编号: ls[index]
print(ls[0]) # 3
# 4、ls的嵌套及值的访问
ls = [[1, 2, 3], [4, 5, 6], [7, 8, [9]]]
# 访问数字9
print(ls[2][2][0])
# 重点:list存放值的方式: eg:[3, 1, 2] => 列表的0号位存放的不是数字3,而是堆区3空间的地址 索引都是从0开始的
字典 dict
# 定义:{}是用来定义字典的语法,key是用来描述最终要访问的value值的,key对于开发者来说是已知的
# 访问:通过 dic[key]来访问key描述的值
dic = {'key': 'value'}
元祖 (x,)
元祖:只读列表,只能查询;儿子不能改,孙子是列表则可以改
只有一个元素,不加逗号,是原数据类型;否则是元祖类型
集合 set
集合:可变的数据类型,里面的元素必须是不可变的数据类型 无序----每次运行结果都不一定一样 不重复----列表去重:先转换为集合,再转换成列表即可
3 运算符
算术运算符
\# + | - | * | / | // | ** | %
\# 1.字符串和list可以做 + 和 *
\# 2./非整除,// 为整除
# 3.**求幂:5 ** 2 => 25
\# 4.任意数 % n => [0, n-1] 取模(余)的公式
\# 5.有负数参与的取余:符号跟着 % 后面那个数
比较运算符
# == 等于 != 不等于 >= <= > <
赋值运算符
# += 依次相加 *= %= //=
1 链式赋值
a = b = num
2 交叉赋值
x = 10
y = 20
x,y = y,x
print(x,y) # 20 10
3 解压赋值
ls = [3, 1, 2]
a, b, c = ls
# _是合法的变量名,会接受值,但我们认为_代表该解压位不用接收,用_来接收表示
_, _, g = ls # g才存放2,其他表示不接受
逻辑运算符
# and | or | not
# 1.and: 左右都成立才成立,有不成立的就不成立
# 2.or: 左右都不成立才不成立,有成立的就成立
# 3.ont: 成立则不成立,不成立则成立
res = 0 and 20 # and前为假,整个式子就可以确定为假了,and后就不需要执行(短路)
print(res) # 0
res = 10 or 20 # or前为真,整个式子就可以确定为真了,or后就不需要执行(短路)
print(res) # 10
res=0 and 20 ===>0 整数时,and为假时,直接为前面值 res= 20 and 0 ===>20 整数时,and为真时,后面值覆盖前面值 所以结果为20 .
and优先级大于or
4 数据类型操作
1 字符串操作
1.字符串的索引取值: 字符串[index]
# 正向取值从0编号,反向取值从-1编号
res = '12345'
print(res[0]) # 1
res = '1,2 ,3, 4, 5'
print(res[0]) # 1
res = '1,2 ,3, 4, 5'
print(res[-1]) # 5
2.字符串拼接
ls1 = '1,2345'
ls2 = 'abcde'
res = ls1 + ls2
print(res) # 1,2345abcde
# 拼接其他类型
s1 = 10
s2 = 'abc'
s3 =