第一章 数据类型
1.1数据类型转换
数据类型转换,将会在以后的学习中经常使用
例如:
- 从文件中读取的数字,默认是字符串,我们需要转换成数字类型
- input()语句,默认结果是字符串,若需要数字也需要转换
- 将数字转换成字符串用以写到外部系统。
语句(函数) | 说明 |
int(x) | 将x转换为一个整数 |
float(x) | 。。。。 |
str(x) | 将对象x转换为字符串 |
# 将数字类型转换为字符串类型
num1=str(10)
print(type(num1),num1)
# 将字符串类型转换为数字类型
num2=int("11")
print(type(num2),num2)
#将字符串类型转换为浮点数
num3=float("12.33")
print(type(num3),num3)
#错误示例,想要将字符串转换为数字,必须要求双引号里面的是数字。
#num4=int("xxx")
#peint(type(num4),num4)
#整数转换为浮点数
num5=float(11)
print(type(num5),num5)
#浮点数转换为整数,会丢失精度
num6=int(11.1)
print(type(num6),num6)
总结:
- 任何类型都可以转换为字符串,即万物可套双引号。
- 字符串不可以随意转换为数字,除非字符串里只有数字。
- 浮点数转换为整数会丢失浮点数。
1.2标识符
标识符命名中,只允许出现:
英文、中文、数字、下划线(-)
并且数字不可以做为开头,并且大小写敏感、不可以使用关键字
1.3字符串扩展
1.31字符串的三种定义方式
1.字符串的三种定义方式
- 单引号
- 双引号
- 三引号(和多行注释长得一样)
#单引号定义法,使用单引号进行包围
num7='xxx1'
print(type(num7),num7)
num8="xxx2"
print(type(num8),num8)
num9="""xxx3"""
print(type(num9),num9)
2.引号的嵌套
- 单引号内可以写双引号,双引号内可以写单引号。
- 可以使用转义字符:\来进行转义
#在字符串内,包含双引号
num10='"xxxx1"'
print(num10)
#在字符串里包含单引号
num11="'xxxx2'"
print(num11)
#转义字符\解除引号作用
num12="\"xxx3\""
print(num12)
1.32字符串格式化(字符串拼接)
1.普通的字符串拼接:采用“+”号,将两段字符串进行简单的相加,但是存在数字不可以拼接的问题。
#字符串拼接
print("xx3"+"xx4")
name13="xx5"
print("我是"+name13)
2. 利用格式化进行拼接
上面利用加号进行拼接存在以下两个问题
- 如果变量过多,则拼接起来就会很麻烦
- 字符串无法和数字或其它类型进行拼接
#字符串格式化,完成了单个数字的拼接 num14=57 total1="班级一共有: %d个人" % num14 print(total1) #多个数字拼接用括号(x,y) num15=57 num16=20 total2="班级一共有:%s个人,%s个女生"%(num15,num16) print(total2)
模板:单个数据"xxx%s" % num
多数据拼接:"xx%s %s" % (num1,num2)按顺序匹配num1为第一个%s
其中,%S
%表示我要展位;s表示将变量编程字符串放入占位的地方。
符号格式 | 转化 |
%s | 将内容转化为字符串,放入占位位置 |
%d | 将内容转换成整数,放入占位位置 |
%f | 将内容转换为浮点型,放入占位位置 |
name="时间是:"
year=20231125
time=21.17
total3="现在的%s%d %f" % (name,year,time)
print(total3)
1.33字符串格式化的精度控制
从上面我们发现,我们输入的是21.17,而输出的却是21.170000,这就是因为我们没有对她进行精度控制。
我们可以通过辅助符号m.n来控制数据的宽度和精度。
%5:如数字11,设置为%5d,就会变成【】【】【】11,用三个空格来补足宽度。
%7.2f:如对11.234设置了%7.2f,结果为【】【】11.23,2个空格补足宽度,小鼠部分限制2位精度后,四舍五入为.23。
1.34对表达式进行格式化
表达式:一条具有明确执行结果的代码语句。
不是什么时候都要定义变量,直接把表达式往里面一写就完了。
如,1+1,name="张三"
"""
演示对表达式进行字符串格式化
"""
print("1*1的结果是:%d"%(1*1))
print(f"1*2的结果是:{1*2}")
print("字符串在python中的类型名称为:%s"%type("字符串"))
如何格式化表达式?
- f"{表达式}"
- "%s\%d\%f"%(表达式、表达式、表达式)
小测试:
"""
股价计算小程序
"""
name="懒洋洋大王股份有限公司"
price=19.99
code="003032"
print(f"公司:{name},股票代码:{code},当前股价{price}")
growth=1.2
day=7
print("每日增长系数是:%.1f,经过%d的增长后,股价达到了:%.2f"%(growth,day,price))