数字和字符串

数字类型

整形

  • 整数, 1/2/3/12/2019
  • 整形用来描述什么, 身高/年龄/体重
  1. age = 18
  2. height = 180

浮点型

浮点数,小数

  1. salary = 10
  2. print(salary)

复数

  1. z = 1 + 2j
  2. print(z.real,z.imag)
  3. ## 1.0 2.0

数字类型方法

  1. print(pow(2,3)) # 幂运算
  2. print(1.2+2.3) # 3.5
  3. print(0.1+0.2) # 0.30000000000000004
  4. print(round(0.1+0.44,1)) # 0.5 四舍五入
  5. print(abs(-1)) # 绝对值
  6. print(divmod(16,3)) # 运算结果(商数, 余数

浮点数计算会有误差,小数精准

这就是机器进行二进制计算引入的误差,为了消除这样的误差,进行更加精确的浮点计算,就要是用到decimal模块。

  1. from decimal import *
  2. a = Decimal('0.1') # Decimal函数传入的浮点数必须加引号,构成字符串形式,传入整数就不用了
  3. b = Decimal('0.2')
  4. print(type(a+b),a+b) # <class 'decimal.Decimal'> 0.3
  5. print(Decimal(0.1)) # 0.1000000000000000055511151231257827021181583404541015625 Decimal函数传入浮点数并不精确

小数的精准计算:

  1. from decimal import *
  2. getcontext().prec = 4 # 设置有效数字为4
  3. print(Decimal('2.2')/Decimal('1.3')) # 1.692
  1. from decimal import *
  2. print(Decimal('3.141592653').quantize(Decimal('0.0000'))) # 设定小数位数 这里设置了4位
  3. # 打印结果:3.1416

字符串

  1. name = 'neo'
  2. gender = 'male'
  3. print(name, gender)
  • 三个单引号或三双引号可以换行
  1. poem = '''
  2. When I was a young man, I had liberty, but I did not see it.
  3. I have time, but I did not know it. I have love, but I did not feel it.
  4. Many decades would pass before I understood the meaning of all three.
  5. '''
  6. print(poem)
  • 引号检测机制
  1. print("neo's name is neo") # 如果字符串中需要有单引号,要用双引号包裹整个字符串
  2. print('''neo's name is "neo"''')
  • 转义
  1. print('neo\'s name is "neo"') # neo's name is "neo"
  2. print('\tneo') # \t 4个空格,缩进
  • 换行 \n
  1. print('When I was a young man, I had liberty, but I did not see it.\nI have time, but I did not know it. I have love, but I did not feel it.\nMany decades would pass before I understood the meaning of all three.')
  2. # 打印结果:
  3. When I was a young man, I had liberty, but I did not see it.
  4. I have time, but I did not know it. I have love, but I did not feel it.
  5. Many decades would pass before I understood the meaning of all three.
  • r 取消转义
  1. print(r'\ta\na')
  2. # 打印结果:\ta\na
  • \r \r 默认表示将输出的内容返回到第一个指针,这样的话,后面的内容会覆盖前面的内容

字符串运算

  1. print('neo' + '123') # neo123
  2. print('neo'* 4) # neoneoneoneo

字符串常用内置方法

  1. s = 'hello world'
  2. res = s.split('o') # 切割
  3. print(res)
  4. # 打印结果:['hell', ' w', 'rld']
  5. print(s.startswith('h')) # 以指定字符串开头,就打印True
  6. print(s.endswith('d'))
  7. print(s.center(20,'*')) # 填充 ****hello world*****
  • f-string格式化
  1. s1 = 'neo'
  2. s2 = '25'
  3. s3 = 'height'
  4. s4 = 180
  5. print(f'{s1} {s2} {s3} {s4}') # {} 占位,且数字自动转化为字符串
  6. print('{} {} {} {}'.format(s1,s2,s3,s4))
  • 字符居中/居左/居右
  1. s = 'neo121'
  2. print(f'{s:*^10}') # **neo121**
  3. print(f'{s:*<10}') # neo121****
  4. print(f'{s:*>10}') # ****neo121

time模块

  1. import time
  2. print(time.time()) # 从1970.01.01.00:00开始计算时间
  1. import time
  2. print('-------')
  3. time.sleep(3) # 睡眠
  4. print('-------')
  1. # cpu级别的时间计算,一般用于程序耗时时间计算
  2. import time
  3. start = time.perf_counter()
  4. for i in range(10):
  5. print(i)
  6. time.sleep(0.01)
  7. print(time.perf_counter() - start)
  8. # 打印结果:
  9. 0
  10. 1
  11. 2
  12. 3
  13. 4
  14. 5
  15. 6
  16. 7
  17. 8
  18. 9
  19. 0.10681829999999998

文本进度条

  1. '''
  2. 0 %[->..........]
  3. 10 %[*->.........]
  4. 20 %[**->........]
  5. 30 %[***->.......]
  6. 40 %[****->......]
  7. 50 %[*****->.....]
  8. 60 %[******->....]
  9. 70 %[*******->...]
  10. 80 %[********->..]
  11. 90 %[*********->.]
  12. 100%[**********->]
  13. '''

简单开始

星号在递增,小点在递减,用两个循环

  1. for i in range(10):
  2. print('*'* i + '.' * (10 - i))
  3. # 打印结果:
  4. ..........
  5. *.........
  6. **........
  7. ***.......
  8. ****......
  9. *****.....
  10. ******....
  11. *******...
  12. ********..
  13. *********.
  1. for i in range(10):
  2. print(f'[{"*" * i} -> {"." * (10 - i)}]')
  3. # 打印结果:
  4. [ -> ..........]
  5. [* -> .........]
  6. [** -> ........]
  7. [*** -> .......]
  8. [**** -> ......]
  9. [***** -> .....]
  10. [****** -> ....]
  11. [******* -> ...]
  12. [******** -> ..]
  13. [********* -> .]
  1. for i in range(10):
  2. print(f'{i*10: ^3}% [{"*" * i} -> {"." * (10 - i)}]')
  3. # 打印结果:
  4. 0 % [ -> ..........]
  5. 10 % [* -> .........]
  6. 20 % [** -> ........]
  7. 30 % [*** -> .......]
  8. 40 % [**** -> ......]
  9. 50 % [***** -> .....]
  10. 60 % [****** -> ....]
  11. 70 % [******* -> ...]
  12. 80 % [******** -> ..]
  13. 90 % [********* -> .]

继续修改

  1. scale = 11
  2. for i in range(scale):
  3. print(f'{(i/scale)*scale: ^3.1f}% [{"*" * i} -> {"." * (scale - i)}]')
  4. # 打印结果:
  5. 0.0% [ -> ...........]
  6. 1.0% [* -> ..........]
  7. 2.0% [** -> .........]
  8. 3.0% [*** -> ........]
  9. 4.0% [**** -> .......]
  10. 5.0% [***** -> ......]
  11. 6.0% [****** -> .....]
  12. 7.0% [******* -> ....]
  13. 8.0% [******** -> ...]
  14. 9.0% [********* -> ..]
  15. 10.0% [********** -> .]

单条显示

  1. scale = 101
  2. for i in range(scale):
  3. print(f'\r{(i/scale)*scale: ^3.1f}% [{"*" * i} -> {"." * (scale - i)}]', end='')
  4. # 打印结果:
  5. 100.0% [**************************************************************************************************** -> .]

文本进度条最终形式

  1. import time
  2. start = time.perf_counter()
  3. scale = 101
  4. for i in range(scale):
  5. print(f'\r{(i / scale) * scale: ^3.1f}% [{"*" * i} -> {"." * (scale - i)}] {time.perf_counter() - start:.2f}s',
  6. end='')
  7. time.sleep(0.1)

数字,字符串,time模块,文本进度条的更多相关文章

  1. python预课02 time模块,文本进度条示例,数字类型操作,字符串操作

    time模块 概述:time库是Python中处理时间的标准库,包含以下三类函数 时间获取: time(), ctime(), gmtime() 时间格式化: strftime(), strptime ...

  2. 自主学习python文本进度条及π的计算

    经过自己一段时间的学习,已经略有收获了!在整个过程的进行中,在我逐渐通过看书,看案例,做题积累了一些编程python的经验以后,我发现我渐渐爱上了python,爱上了编程! 接下来,当然是又一些有趣的 ...

  3. #Python绘制 文本进度条,带刷新、时间暂缓的

    #Python绘制 文本进度条,带刷新.时间暂缓的 #文本进度条 import time as T st=T.perf_counter() print('-'*6,'执行开始','-'*6) maxx ...

  4. Python入门习题4.文本进度条

    例4.1.设置一组文本进度条,使之运行效果如下: --------执行开始--------% 0 [->**********]%10 [*->*********]%20 [**->* ...

  5. 【Python】文本进度条

    1.0代码: import time#引入time库 scale=10#文本进度条宽度 print("------执行开始------") for i in range(scale ...

  6. python实例文本进度条

    简单的文本进度条代码 解析 引入time库 打印一行作为开始 最后也打印一个结束的标签 定义变量等于10,文本进度条大概的宽度是10 使用for循环来模拟进度,for i in range()能够不断 ...

  7. python_way day6 反射,正则 模块(进度条,hash)

    python_way day6 反射 正则 模块 sys,os,hashlib 一.模块: 1.sys & os: 我们在写项目的时候,经常遇到模块互相调用的情况,但是在不同的模块下我们通过什 ...

  8. sys模块和os模块,利用sys模块生成进度条

    sys模块import sysprint(sys.argv)#sys.exit(0)             #退出程序,正常退出exit(0)print(sys.version)       #获取 ...

  9. [ python ] 使用sys模块实现进度条

    在写网络IO传输的时候, 有时候需要进度条来显示当前传输进度,使用 sys 模块就可以实现: sys.stdout.write() 这个函数在在控制台输出字符串不会带任何结尾,这就意味着这个输出还没有 ...

随机推荐

  1. 5-7 可视化库Seaborn-热度图绘制

    In [1]: %matplotlib inline import numpy as np import matplotlib.pyplot as plt import seaborn as sns ...

  2. 2、mongoDB的基本操作

    数据写入和查询: show dbs (查看有哪些数据库) use imooc (使用数据库) db.dropDatabase() 删除数据库 备注:在use的时候如果use一个不存在的表,在mongo ...

  3. (导航页)Amazon Lightsail 部署LAMP应用程序(HA)

    Amazon Lightsail 简介: Amazon Lightsail是一个具有易于使用的界面,具有成本效益,快速和可靠的云平台.它是更简单的工作负载,快速部署以及Amazon Web Servi ...

  4. 初学JavaScript正则表达式(二)

    正则表达式的实例化与标识符 字面量: var reg = /\bis\b/g // \b--字符边界 g全文搜索 查找单词为is的字符 He is a boy. IS He? 构造函数: var re ...

  5. Tensorflow之MNIST手写数字识别:分类问题(1)

    一.MNIST数据集读取 one hot 独热编码独热编码是一种稀疏向量,其中:一个向量设为1,其他元素均设为0.独热编码常用于表示拥有有限个可能值的字符串或标识符优点:   1.将离散特征的取值扩展 ...

  6. 第十 构建Web内容的技术

    第十章 构建Web内容的技术 一.HTML HTML(HyperText Markup Language,超文本标记语言)是为了发送Web 上的超文本(Hypertext)而开发的标记语言.超文本是一 ...

  7. 《Java多线程设计模式》学习

    还是别人的笔记比较详细: https://segmentfault.com/blog/ressmix_multithread?page=3 mark.

  8. sqlserver deadlock

    当时系统测试的时候,由于使用了自动化测试跑脚本,一下子出了很多sqlserver deadlock的问题. 都处于system test阶段了,哪儿还有时间仔细分析这些死锁是怎么出来的,直接上retr ...

  9. bzoj2115 Xor

    题目链接 problem 考虑一个边权为非负整数的无向连通图,节点编号为\(1\) 到 \(N\),试求出一条从 \(1\) 号节点到 \(N\) 号节点的路径,使得路径上经过的边的权值的 \(XOR ...

  10. vue_04 练习

    目录 vue_项目初始: car.vue Nav.vue: cardata.vue vue_项目初始: 1.Home.vue页面组件显示基本信息:欢迎来到汽车系统 Car.vue页面组件,完成Cars ...