1.课题导入
【任务】用字符串拼接法原样输出:圆周率是3.1415926
# 声明变量pi 用于存储圆周率
pi = 3.1415926
# type函数查看变量pi 的数据类型
print(type(pi))
# 用字符串拼接的方法输出
# str函数将浮点数类型转换成字符串类型用于拼接
print('圆周率是'+str(pi))
【终端输出】
<class 'float'>
圆周率是3.1415926
字符串和整数、浮点数类型不能拼接。
因此只有用str( )将浮点数pi转换成字符串才能拼接。
用str( )函数转换数据类型比较麻烦,转换前还要先判断要转换对象的数据类型,且仅能实现转换的功能。
Python中还提供了其他较为方便的字符串格式化方法,我们来一一学习。
2.知识回顾
【二进制】用0和1来表示的数,进位规则是“逢2进1”。
【八进制】用0~7来表示的数,进位规则是“逢8进1”。
【十进制】用0~9来表示的数,进位规则是“逢9进1”。
【十六进制】用0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15。
3.语法知识
【语法】’% (参数)’ % (对象)
第一个%是占位符,必须在字符串内。
第二%是格式化关键字。
参数共有5个:4个可选参数,1个必选参数。
%[name][flags][width].[precision]typecode
参数1:name,可选参数,通常为字典的键。
参数2:flags,可选参数,对齐方式。
参数3:width,可选参数,占位的宽度。
参数4:.precision,可选参数,浮点数或字符串的精度。
参数5:typecode,必选参数,类型码。
【温馨提示】
.precision精准度参数前必须有点.。
4.参数介绍
1. 必选参数:typecode
typecode:类型码。
typecode = s/d/f
typecode是必选参数,不能省略。
【作用】控制显示的类型。
%s:显示字符串类型。
%d:显示整数类型。
%f:显示浮点数类型。
显示就是看上去是什么类型,实际已经格式化。
%s
将整数格式化为字符串。
将浮点数格式化为字符串。
作用相当于str( )。
pi = 3.1415926
print('圆周率是 %s' % pi )
【终端输出】
圆周率是 3.1415926
pi变量的数据类型是浮点数。
原本不能和字符串’圆周率是’进行拼接。
但通过%s直接将pi格式化后就能和字符串进行拼接了。
%d
将浮点数转换成十进制整数,仅保留浮点数的整数部分。
将十六进制整数转换为十进制整数。
将八进制整数转换为十进制整数。
1.浮点数转换
pi = 3.1415926
# 将浮点数用%d转换成十进制整数
print('圆周率是 %d ' % pi)
a = 3.9415926
# 将浮点数用%d转换成十进制整数
print('圆周率是 %d ' % pi)
【终端输出】
圆周率是 3
圆周率是 3
上述两个变量的值是不一样的,一个是3.1…另一个是3.9…
【%d浮点数】只保留整数部分:3.1415926 %d 输出的结果为3。
【%d浮点数】没有四舍五入功能。
3.14四舍五入等于3。
3.94四舍五入等于4。
【%d浮点数】没有四舍五入功能,不管小数点后是多少,都只保留整数,因此输出结果都为3。
2.十六进制数转换
pi = 0x15
# 将十六进制数15转换用%d转换成十进制数
print('圆周率是%d' % pi )
【终端输出】
圆周率是21
0x表示十六进制数,后面跟具体的数值。
3.八进制数转换
pi = 0o17
# 将八进制数0o17转换用%d转换成十进制数
print('圆周率是%d' % pi)
【终端输出】
圆周率是15
0o表示八进制数,后面跟具体的数值。
%f
将整数转换成浮点数,默认保留小数点后6位。
将浮点数转换浮点数,默认保留小数点后6位。
1.整数转换
pi = 3
# 将整数转换成浮点数,默认保留小数点后6位
print('圆周率是%f' % pi)
【终端输出】
圆周率是3.000000
输出结果多了小数点后6位。
2.浮点数转换
pi1 = 3.1415926
# 将浮点数转换浮点数,默认保留小数点后6位
print('圆周率是%f' % pi1 )
pi2 = 3.14
# 将浮点数转换浮点数,默认保留小数点后6位
print('圆周率是%f' % pi2 )
【终端输出】
圆周率是3.141593
圆周率是3.140000
不管pi 原本有多少位小数点,转换后小数点后都有6位。
原本的小数点位数大于6则四舍五入,取6位。
原本的小数点位数小于6则保留原有的位数,后面不够的位数用0补齐。
【温馨提示】 %f有四舍五入。
math ='''
0.77, 8 , 'Mike'中数据类型为字符串的是%(答案1)s
0.77, 8 , 'Mike'中数据类型为整数的是%(答案2)d
0.77, 8 , 'Mike'中数据类型为浮点数的是%(答案3)f
'''% {'答案1':'Mike','答案2':8,'答案3':0.77}
print(math)
【终端输出】
0.77, 8 , 'Mike’中数据类型为字符串的是Mike
0.77, 8 , '99’中数据类型为整数的是8
0.77, 8 , '99’中数据类型为浮点数的是0.770000
观察第三行输出的是0.770000,%f格式化后并不是我们要的答案,我们可以利用后面的参数来进行优化。
(答案1)(答案2)(答案3)就是name 参数。
name 是可选参数,通常用在比较复杂的字典格式化中。
采用name这种格式化,可以灵活、方便的进行一些自动化工作。
如自动出题、批量处理或验证数据。
上述代码就是自动出题系统中出题带答案的示例。
3. 可选参数.precision参数
.precison是可选参数。
对象是字符串,则截取字符串的位数。
对象是浮点数,则设置浮点数的精度,即保留的小数点位数。
1.设置浮点数的精度
pi = 3.1415926
# 通过设置.precision参数来控制浮点数的精度
print('圆周率是% .1f' % pi ) # 保留1位小数点
print('圆周率是% .2f' % pi ) # 保留2位小数点
print('圆周率是% .3f' % pi ) # 保留3位小数点
print('圆周率是% .4f' % pi ) # 保留4位小数点
print('圆周率是% .5f' % pi ) # 保留5位小数点
【终端输出】
圆周率是3.1
圆周率是3.14
圆周率是3.142
圆周率是3.1416
圆周率是3.14159
【.2f代码优化】
math ='''
0.77, 8 , 'Mike'中数据类型为字符串的是%(答案1)s
0.77, 8 , '99'中数据类型为整数的是%(答案2)d
0.77, 8 , '99'中数据类型为浮点数的是%(答案3).2f
'''% {'答案1':'Mike','答案2':8,'答案3':0.77}
print(math)
【终端输出】
0.77, 8 , 'Mike'中数据类型为字符串的是Mike
0.77, 8 , '99'中数据类型为整数的是8
0.77, 8 , '99'中数据类型为浮点数的是0.77
通过设置.precision参数(.2)来控制浮点数的精度,就得到了我们原本需要的答案。
2.截取字符串的位数
result = '张三,恭喜你通过考试!'
print('%.2s' % result )
【终端输出】
张三
可选参数flags和width
flags[flæɡz]:标齐,标出。可选参数,设置对齐方式。
width [wɪdθ]:宽度。可选参数,设置占位的宽度。
height = 168
print('身高是%scm。' % height) # 没有flags和width参数时,默认右对齐
print('身高是%+10scm。' % height) # flags=+,width=10,右对齐,168左侧添加空格占位
print('身高是%-10scm。' % height) # flags=-,width=20,左对齐,168右侧添加空格占位
print('身高是%05dcm。' % height) # flags=0,width=6,右对齐,168右侧添加0占位,总位数为5位。
【终端输出】
身高是168cm。
身高是 168cm。
身高是168 cm。
身高是00168cm。
5.知识拓展
批量新建工作薄
# 导入库
import openpyxl
# for循环加range控制循环次数
# 达到批量新建工作薄的目的
for i in range(1,10):
# 创建工作薄对象
wb = openpyxl.Workbook( )
# save保存工作薄对象
# i 就是格式化对象
wb.save('%d年级花名册.xlsx' % i )
说句题外话
随着信息技术的快速发展和互联网的普及,IT行业已成为一个非常热门的领域,也是目前就业前景非常广阔的领域之一。
其实你没事多去招聘网站上看看,你会发现不少基础岗位的招聘都写上了对python的技能要求,这也就意味着,会写程序的人会更吃香。
现在的社会,时代已经不同了,它在加速淘汰不会学习的人,所以利用空闲时间多学点东西,不要毫无准备的去接受社会的毒打!
就算是在非专业技术领域python几乎都可以用到,特别是自动化办公和数据处理方面,python有独特的优势。而python入门相对简单,对现代人来说是一门好上手学的编程语言,就算不是找工作,利用python兼职赚点零花钱也不错啊!
如今是一个大数据的时代,Python 在行为收集和数据分析,信息采集等方面的应用已经非常非常普遍,早就不是程序员的专属技能了。就像 office 一样,是Python 已经成为了进入职场的必备技能。不是很意外,但这就是正在发生的大趋势。
Python的特点
1.需求大:百度、新浪、搜狐、淘宝、腾讯QQ等大部门的互联网相关企业都在利用Python,对Python的人才需求很大。
2.开展空间广:在无孔不入的互联网使用情况下,人工智能、大数据等领域非常适合Python的发展,这也就阐明了挑选进修Python将会有很不错的发展空间。
3.简单易学:小学生也可以上手学习的计算机语言。举个例子一个程序用C语言需要1000行的代码,用JAVA需要写100行,但是如果用Python你只需要20行,语法很简洁。
Python岗位薪资水平如何?
Python如何学习?
今天只要你给我的文章点赞,我私藏的Python学习资料一样免费共享给你们。
有需要的可以点击免费领取~,都已经上传至csdn官方账号,扫描下方官方二维码获取,保证100%免费!!!
50G Python学习资源大礼包👇👇👇
(部分资料截取图)
① Python全套书籍和视频秘籍
其中包含了Python基础入门、爬虫、数据分析、web开发,这里一共有几十个吧,可能不是很多,但对于初学者来说应该足够。
里面的知识点都是比较干练的,时长也是正常的40分钟一节课。
②Python数据分析入门到精通
(视频课程+课件+源码)
③零基础也能懂的python办公自动化教程
从此上班摸鱼轻轻松松
④Python面试集锦和简历模板
学会了Python之后,有了技能就可以出去找工作了!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
⑤Python副业兼职路线
学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要《全套0基础入门到进阶的Python学习资料》的,可以扫描下方二维码免费领取 🆓