Python基本数据类型和操作
1 字面量与变量
1.1 概念:
字面量:在代码中,被写下来的固定的值
变量:在程序设计中,变量是一种存储数据的载体,计算机中的变量是实际存在的数据或者说是存储器中存储数据的一块内存空间,变量的值可以被读取和修改
1.2 命名规则
硬性规则:
变量名由字母、数字和下划线构成,数字不能开头
大小写敏感
不要跟关键字和系统保留字冲突
PEP8要求:
用小写字母拼写,多个单词用下划线连接
受保护的实例属性用单个下划线开头
私有的实例属性用两个下划线开头
2 数据类型
2.1 6中数据类型
基本数据类型:
数字:整数(int),浮点型(float),复数,布尔
字符串
容器数据类型:
元组(tuple,有序,不可变,可重复)
列表(list,有序,可变,可重复)
集合(sets,无序,不重复)
字典(dict,无序,可变,键值对,键不可重复)
2.2 查看数据类型
a=123 print(tpye(a))
2.3 数据类型转
将x转换为一个整数:int(x)
将x转换为一个浮点数:float(x)
将x转换为字符串:str(x)
将字符串转换为原生数据类型:eval("13.6"),eval("8"),eval("(1,2,3)"),eval("[4,5,6]")
2.4 布尔型
真 1 True
假 0 False
所有数据结构都可以转换为布尔值
真:
- True
- 非0的数字:1,2,3...-1,-2,1.1,1.2
- 非空字符串:'x' "abc"
- 非空容器:(1,2),["1"] ,{"d"},{"name":"张三"}
假:
- False
- None
- 数字:0,0.0,0+0j
- 空字符串:""
- 空容器:(),[],{},set()
2.5 字符串
2.5.1 三种定义方式
name='我是张三' #单引号定义法 name="我是李四" #双引号定义法 name="""我是王五""" #三引号定义法 name='''我是王五''' #三引号定义法
字符串引号的嵌套
message='"今天天气晴朗"' #单引号定义法,可以内含双引号 message="'今天天气不错呀'" #双引号定义法,可以内含单引号 name"\"今天天气挺好\"" #可以使用转义字符(\)来讲引号解除效果,变成普通字符串
2.5.2 字符串索引
字符串长度:len()
a="afdsghjgki" print(len(a))d
a[0] #第一个字符
2.5.3 字符串切片
a[start:end:step]
- start:开始字符下标
- end:结束字符下标
- step:步长
- 切片范围:左包含右不包含
正序打印:print(a[::]) print(a[:])
倒序打印:print(a[::-1])
2.5.4 字符串格式化
%s:将内容转换成字符串
%d:将内容转换成整数,放入占位位置
%f:将内容转为为浮点型,放入占位位置
name="今天天气不错" message=="小明说:%s" % name class_num=57 avg_salary=16789 message="python大数据学科,北京%s期,毕业平均工资:%s" % (class_num,avg_salary) """ 1.大括号之外的内容,原样输出 2.大括号之内的内容,按照python语法处理,可以是变量 表达式 有返回值的函数 3.如果要输出大括号,该怎么办,使用大括号转义大括号 {{ """ name="张三" age=18 score=85.5 print("我是:%s,我的年龄:%d岁,数学成绩%f" %(name,age,score)) print{"{}今年{}岁".format(name,age)} #快速格式化:通用语法:f"内容{变量}" 的格式来快速格式化 print(f"我是:{name},我的年龄:{age}岁,数学成绩{score}" ) #表达式格式化 print("2*3的结果是:%d" % (2*3)) print(f"2*3的结果是:{2*3}") print("字符串在Python中的类型是:%s" % type('字符串'))
2.5.5 字符串格式化-精度控制
我们可以使用辅助符号“m.n”来控制数据的宽度和精度
m:控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空额]11,用三个空格补足宽度
.n:控制小数点精度,要求是数字,会进行小数的四舍五入
%5.2f表示将宽度控制为5,将小数点精度设置为2
小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f后,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为.35
%.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35
#定义需要的变量 name="X公司" #股票价格 stock_price=19.99 #股票代码 stock_code="0003032" #股票价格每日增长因子 stock_price_daily_growth_factor=1.2 #增长天数 growth_days=7 #最终股票价格 finally_stock_price=stock_price*stock_price_daily_growth_factor**growth_days print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}") print("每日增长系数:%.1f,经过%d天的增长后,股价达到了:%.2f" %(stock_price_daily_growth_factor,growth_days,finally_stock_price))
2.5.6 相关练习题:
1.有字符串123456789,打印其中所有的偶数
s='123456789' print(s[1::2])
2.有字符串abcdef,打印对应下标的字母
a='abcdefg' i=int(input("请输入下标序号:")) print(f"数据a({a})中:下标={i}时,值={a[i:i+1:]}")