| round(x[, d]) | 四舍五入,d是保留小数位数,默认值为0 round(-10.123, 2) 结果为 -10.12 |
| max(x1,x2, … ,xn) | 最大值,返回x1,x2, … ,xn中的最大值,n不限 max(1, 9, 5, 4, 3) 结果为 9 |
| min(x1,x2, … ,xn) | 最小值,返回x1,x2, … ,xn中的最小值,n不限 min(1, 9, 5, 4, 3) 结果为 1 |
| int(x) | 将x变成整数,舍弃小数部分 int(123.45) 结果为123; int(“123”) 结果为123 |
| float(x) | 将x变成浮点数,增加小数部分 float(12) 结果为12.0; float(“1.23”) 结果为1.23 |
| complex(x) | 将x变成复数,增加虚数部分 complex(4) 结果为 4 + 0j |
基本问题:持续的价值
问题1: 1的力量
- 一年365天,每天进步1%,累计进步多少呢?
1.01^365
- 一年365天,每天退步1%,累计剩下多少呢?
0.99^365
代码实现
up = pow(1.001, 365)
down = pow(0.999, 365)
print(“向上:{:.2f},向下:{:.2f}”.format(up, down))
结果:
不积小流无以成江海,不积跬步无以至千里。
问题2:0.5%和0.1%的力量
-
一年365天,每天进步0.5%或0.1%,累计进步多少呢?
-
一年365天,每天退步0.5%或0.1%,累计剩下多少呢?
1.005^365 0.995^365
1.01^365 0.99^365
代码实现
day = 0.005
up = pow(1+day, 365)
down = pow(1-day, 365)
print(“向上:{:.2f},向下:{:.2f}”.format(up, down))
结果:
问题3: 工作日的力量
-
一年365天,一周5个工作日,每天进步1%
-
一年365天,一周2个休息日,每天退步1%
-
这种工作日的力量,如何呢?
1.01365 (数学思维)——》 for…in… (计算思维)
代码实现:
#利用循环模拟 nice
#注意代码的缩进
up = 1.0
day = 0.01
for i in range(365):
if i % 7 in [6,0]: #用来确定周末的时间
up = up*(1-day)
else: #工作日的时间
up = up*(1+day)
print("工作日的力量:{:.2f} ".format(up))
结果:
1.001^365 = 1.44
1.005^365 = 6.17
1.01^365 = 37.78
1.019^365 = 962.89
毛主席说:“好好学习,天天向上”
主要内容:
-
字符串类型的表示
-
字符串操作符
-
字符串处理函数
-
字符串处理方法
-
字符串类型的格式化
Go Go Go
字符串类型的表示
由0个或多个字符组成的有序字符序列
- 字符串由一对单引号或一对双引号表示
"请输入带有符号的温度值: " 或者 ‘C’
- 字符串是字符的有序序列,可以对其中的字符进行索引
“请” 是 "请输入带有符号的温度值: " 的第0个字符
表示方法
字符串有 2类共4种 表示方法
- 由一对单引号或双引号表示,仅表示单行字符串
"请输入带有符号的温度值: " 或者 ‘C’
- 由一对三单引号或三双引号表示,可表示多行字符串
‘’’ Python
语言 ‘’’
为什么这样提供四种
-
假如我们想用单引号,就可以外加一对双引号
-
加入我们们既想用双引号又想用单引号,就可以让我们的三引号登场
-
另外没有给变量名的三引号字符串可以充当多行注释来使用
正向递增序号 和 反向递减序号
使用[ ]获取字符串中一个或多个字符
- 索引:返回字符串中单个字符 <字符串>[M]
"请输入带有符号的温度值: "[0] 或者 TempStr[-1]
- 切片:返回字符串中一段字符子串 <字符串>[M: N]
"请输入带有符号的温度值: "[1:3] 或者 TempStr[0:-1]
高级用法 使用[M: N: K]根据步长对字符串切片
<字符串>[M: N],M缺失表示至开头,N缺失表示至结尾
“〇一二三四五六七八九十”
[:3] 结果是 “〇一二”
<字符串>[M: N: K],根据步长K对字符串切片
“〇一二三四五六七八九十”
[1:8:2] 结果是 “一三五七” “〇一二三四五六七八九十”
[::-1] 结果是 “十九八七六五四三二一〇”
转义符
- 转义符表达特定字符的本意
“这里有个双引号(”)" 结果为 这里有个双引号(") - 转义符形成一些组合,表达一些不可打印的含义
"\b"回退 "\n"换行(光标移动到下行首) “\r” 回车(光标移动到本行首)
字符串操作符
获取星期字符串
weekStr = “星期一星期二星期三星期四星期五星期六星期日”
weekId = eval(input(“请输入星期数字(1-7):”))
pos = (weekId – 1 ) * 3
print(weekStr[pos: pos+3])
优化
weekStr = “一二三四五六日”
weekId = eval(input(“请输入星期数字(1-7):”)) #获取用户输入,是一个字符串类型 eval函数去掉引号 如果没加就会报错
print(“星期” + weekStr[weekId-1]) #因为字符串下标是0开始的
字符串处理函数
一些以函数形式提供的字符串处理功能
Python字符串的编码方式
-
统一字符编码,即覆盖几乎所有字符的编码方式
-
从0到1114111 (0x10FFFF)空间,每个编码对应一个字符
-
Python字符串中每个字符都是Unicode编码字符
玩一玩
b=“1 + 1 = 2” + chr(10004)
c=“这个字符♉的Unicode值是:a” + str(ord(“♉”))
print(b)
print©
for i in range(12):
print(chr(9800 + i), end=“”)
字符串处理方法
"方法"在编程中是一个专有名词
-
"方法"特指.()风格中的函数()
-
方法本身也是函数,但与有关,.()风格使用
-
字符串或字符串变量是,存在一些可用方法
字符串类型的格式化
格式化是对字符串进行格式表达的方式
time库是Python中处理时间的标准库
用途:
-
计算机时间的表达
-
提供获取系统时间并格式化输出功能
-
提供系统级精确计时功能,用于程序性能分析
用法:
import time
time.()
time库包括三类函数
-
时间获取:time() ctime() gmtime()
-
时间格式化:strftime() strptime()
-
程序计时:sleep(), perf_counter()
时间获取
时间格式化
将时间以合理的方式展示出来
-
格式化:类似字符串格式化,需要有展示模板
-
展示模板由特定的格式化控制符组成
-
strftime()方法
程序计时应用
-
程序计时指测量起止动作所经历时间的过程
-
测量时间:perf_counter()
-
产生时间:sleep()
需求分析
-
采用字符串方式打印可以动态变化的文本进度条
-
进度条需要能在一行中逐渐变化
如何获得文本进度条的变化时间?
- 采用sleep()模拟一个持续的进度
import time
scale = 10
print(“------执行开始------”)
for i in range(scale+1):
a = ‘*’ * i #增
b = ‘.’ * (scale - i) #减
c = (i/scale)*100 #进度数字实现
print(“{:^3.0f}%[{}->{}]”.format(c,a,b)) #循环打印进度条
time.sleep(0.4) #每隔0.4秒打印一次,模拟
print(“------执行结束------”)
优化单行动态刷新
不让换行就可以 哈哈
刷新的关键是 \r退回行首
- 刷新的本质是:用之后打印的字符覆盖之前的字符
(1)Python所有方向的学习路线(新版)
这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
最近我才对这些路线做了一下新的更新,知识体系更全面了。
(2)Python学习视频
包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。
(3)100多个练手项目
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!