码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 北理工嵩天Python语言程序设计笔记(4 基本数据类型)


    前言

    本文是对《北理工 嵩天/黄天宇/礼欣 Python语言程序设计》的学习笔记,供自己查阅使用。

    文章目录

    1. 北理工嵩天Python语言程序设计笔记(目录)
    2. 北理工嵩天Python语言程序设计笔记(2 Python基本语法元素)
    3. 北理工嵩天Python语言程序设计笔记(3 Python基本图形绘制)
    4. 北理工嵩天Python语言程序设计笔记(4 基本数据类型)
    5. 北理工嵩天Python语言程序设计笔记(5 程序的控制结构)
    6. 北理工嵩天Python语言程序设计笔记(6 函数和代码复用)
    7. 北理工嵩天Python语言程序设计笔记(7 组合数据类型)
    8. 北理工嵩天Python语言程序设计笔记(8 文件和数据格式化)
    9. 北理工嵩天Python语言程序设计笔记(9 程序设计方法学)
    10. 北理工嵩天Python语言程序设计笔记(10 Python计算生态概览)

    笔记目录

    • 前言
    • 文章目录
    • 4 基本数据类型
      • 4.1 数字类型及操作
        • 4.1.1 整数类型
        • 4.1.2 浮点数类型
        • 4.1.3 复数类型
        • 4.1.4 数值运算操作符
        • 4.1.5 数值运算函数
      • 4.2 实例3: 天天向上的力量
      • 4.3 字符串类型及操作
        • 4.3.1 字符串类型的表示
        • 4.3.2 字符串操作符
        • 4.3.3 字符串处理函数
        • 4.3.4 字符串处理方法
        • 4.3.5 字符串类型的格式化
        • 4.3.6 f-string 格式化
      • 4.4 模块2: time库的使用
        • 4.4.1time库基本介绍
        • 4.4.2 时间获取
        • 4.4.3 时间格式化
        • 4.4.4 程序计时应用
      • 4.5 实例4: 文本进度条
        • 4.5.1 需求分析
        • 4.5.2 简单的开始
        • 4.5.3 单行动态刷新
        • 4.5.4 完整效果


    4 基本数据类型

    4.1 数字类型及操作

    4.1.1 整数类型

    • 可正可负,没有取值范围限制

    • pow(x,y)函数:计算 x y x^y xy ,想算多大算多大

    • 4种进制表示形式

      • 十进制:1010, 99, -217
      • 二进制,以0b或0B开头:0b010, -0B101
      • 八进制,以0o或0O开头:0o123, -0O456
      • 十六进制,以0x或0X开头:0x9a, -0X89

    4.1.2 浮点数类型

    • 带有小数点及小数的数字

    • 浮点数间运算存在不确定尾数

      >>>0.1 + 0.3
      0.4
      >>>0.1 + 0.2
      0.30000000000000004
      
      • 1
      • 2
      • 3
      • 4
    • round(x, d):对x四舍五入,d是小数截取位数

    • 浮点数间运算与比较用round()函数辅助

    • 浮点数可以采用科学计数法表示,使用字母e或E作为幂的符号,以10为基数,格式如下:
      e 。4.3e-3值为0.0043 9.6E5值为960000.0

    4.1.3 复数类型

    z= 1.23e-4+5.6e+89j

    z.real获得实部,z.imag获得虚部

    4.1.4 数值运算操作符

    在这里插入图片描述
    在这里插入图片描述

    • 二元操作符有对应的增强赋值操作符

    在这里插入图片描述

    • 类型间可进行混合运算,生成结果为"最宽"类型,整数->浮点数-> 复数

    4.1.5 数值运算函数

    一些以函数形式提供的数值运算功能
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4.2 实例3: 天天向上的力量

    #DayDayUpQ1.py
    dayup= pow(1.001, 365)
    daydown= pow(0.999, 365)
    print("向上:{:.2f},向下:{:.2f}".format(dayup, daydown))
    
    #DayDayUpQ3.py
    dayup= 1.0
    dayfactor = 0.01
    for i in range(365):
    	if i% 7 in [6,0]:
    		dayup= dayup*(1-dayfactor)
    	else:
    		dayup= dayup*(1+dayfactor)
    print("工作日的力量:{:.2f}".format(dayup))
    
    #DayDayUpQ4.py
    def dayUP(df):
    	dayup= 1
    	for i in range(365):
    		if i % 7 in [6,0]:
    			dayup= dayup*(1 -0.01)
    		else:
    			dayup= dayup*(1 + df)
    	return	dayup
    dayfactor= 0.01
    while dayUP(dayfactor) < 37.78:
    	dayfactor+= 0.001
    print("工作日的努力参数是:{:.3f}".format(dayfactor))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    4.3 字符串类型及操作

    4.3.1 字符串类型的表示

    • 字符串由一对单引号或一对双引号表示,字符串是字符的有序序列,可以对其中的字符进行索引,从0开始;

    • 字符串有2类共4种表示方法:

      • 由一对单引号或双引号表示,仅表示单行字符串

      • 由一对三单引号或三双引号表示,可表示多行字符串(多行注释)

      • 在字符串中包含双引号或单引号:

        '这里有个双引号(“)‘或者"这里有个单引号(’)”

        ‘’‘这里既有单引号(’)又有双引号(") ‘’’

    • 字符串的使用:索引,返回字符串中单个字符;切片:返回字符串中一段字符子串。

    • 使用[M:N: K]根据步长对字符串切片,M缺失表示至开头,N缺失表示至结尾,根据步长K对字符串切片;[::-1] 逆序

    • 转义符\

      • 转义符表达特定字符的本意,“这里有个双引号(”)"

      • 转义符形成一些组合,表达一些不可打印的含义

        “\b"回退,”\n"换行(光标移动到下行首),"\r"回车(光标移动到本行首)

    4.3.2 字符串操作符

    在这里插入图片描述

    4.3.3 字符串处理函数

    在这里插入图片描述
    在这里插入图片描述

    • Unicode编码

    从0到1114111(0x10FFFF)空间,每个编码对应一个字符

    4.3.4 字符串处理方法

    • 方法:特指.()风格中的函数()
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    4.3.5 字符串类型的格式化

    • 字符串格式化使用.format()方法,用法如下:

      <模板字符串>.format(<逗号分隔的参数>)

    字符串中槽{}的默认顺序与format()中参数的顺序对应
    在这里插入图片描述

    • 槽内部对格式化的配置方式

      { <参数序号> :<格式控制标记>}
      在这里插入图片描述

    >>>"{0:=^20}".format("PYTHON")
    '=======PYTHON======='
    >>>"{0:*>20}".format("BIT")
    '*****************BIT'
    >>>"{:10}".format("BIT")
    'BIT   ' 
    >>>"{0:,.2f}".format(12345.6789)
    '12,345.68'
    >>>"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
    '110101001,Ʃ,425,651,1a9,1A9'
    >>>"{0:e},{0:E},{0:f},{0:%}".format(3.14)
    '3.140000e+00,3.140000E+00,3.140000,314.000000%'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    4.3.6 f-string 格式化

    f-string 格式化 就是在字符串模板前面加上f,然后占位符使用{} ,里面直接放入对应的数据对象。

    f'税前薪资是:{salary}元, 缴税:{tax}元, 税后薪资是:{aftertax}元'
    print(f'文章中 {{ 符号 出现了 {times1} 次')
    
    • 1
    • 2

    Python解释器是3.6 以后的版本才支持,各种设置和format的槽内部是一样的。

    采用 f-string 方式格式化的 字符串内容本身就有 { 或者 } 符号,一定要 双写 进行转义,否则会被当成是 格式化占位符。

    4.4 模块2: time库的使用

    4.4.1time库基本介绍

    提供系统级精确计时功能,用于程序性能分析

    import time
    time.<b>()
    
    • 1
    • 2

    4.4.2 时间获取

    在这里插入图片描述
    在这里插入图片描述

    4.4.3 时间格式化

    将时间以合理的方式展示出来
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    4.4.4 程序计时应用

    • 程序计时指测量起止动作所经历时间的过程
    • 测量时间:perf_counter()
    • 产生时间:sleep()
      在这里插入图片描述
      在这里插入图片描述

    4.5 实例4: 文本进度条

    4.5.1 需求分析

    • 采用字符串方式打印可以动态变化的文本进度条
    • 进度条需要能在一行中逐渐变化

    4.5.2 简单的开始

    #TextProBarV1.py
    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.1)
    print("------执行结束------")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    4.5.3 单行动态刷新

    • 刷新的本质是:用之后打印的字符覆盖之前的字符
    • 不能换行:print()需要被控制
    • 要能回退:打印后光标退回到之前的位置\r
    #TextProBarV2.py
    import time
    for i in range(101):
    	print("\r{:3}%".format(i), end="")
    	time.sleep(0.1)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    IDLE屏蔽了\r功能

    4.5.4 完整效果

    #TextProBarV3.py
    import time
    scale = 50
    print("执行开始".center(scale//2,"-"))
    start = time.perf_counter()
    for i in range(scale+1):
    	a = '*'* i
    	b = '.'* (scale -i)
    	c = (i/scale)*100
    	dur= time.perf_counter() -start
    	print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
    	time.sleep(0.1)
    print("\n"+"执行结束".center(scale//2,'-'))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
  • 相关阅读:
    Godfather
    云原生|kubernetes|kubeadm部署的集群的100年证书
    Webmin 远程命令执行漏洞_CVE-2019-15107
    DevExpress .Net Components 22.1.6 Crack
    一文读懂VMware虚拟化技术(含超融合)
    Python爬虫基础(二):使用xpath与jsonpath解析爬取的数据
    机械设备行业数字化供应链集采平台解决方案:优化资源配置,实现降本增效
    深入讲解C++基础知识(一)
    Springboot视图渲染技术
    剑指 Offer 04. 二维数组中的查找 :Java
  • 原文地址:https://blog.csdn.net/yyywxk/article/details/127691814
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号