轻轻松松学会Python入门五:基本数据类型

简介: 整数类型理论上的取值范围是(负无穷,正无穷),实际上的取值范围受限于运行Python程序的计算机内存大小。除极大数的运算外,一般认为整数类型没有范围限制。

Python语言提供整数,浮点数,复数三种数字类型。


一,整数


1,基础概念


1)与数学中整数类型一致


2)可正可负,没有取值范围限制。


2,四种进制表达:


十进制:


八进制:0o,0O


二进制:0b,0B


十六进制:0x,0X


整数类型理论上的取值范围是(负无穷,正无穷),实际上的取值范围受限于运行Python程序的计算机内存大小。除极大数的运算外,一般认为整数类型没有范围限制。


二,浮点数类型


1,浮点数类型与数学中实数的概念一致,表示带有小数的数值。Python语言要求所有浮点数必须带有小数部分,小数部分可以是0,这种设计可以区分浮点数和整数类型。


2,浮点数有两种表示方法:十进制表示和科学计数法。


3,浮点数取值范围和小数精度都存在限制,但常规计算可忽略。


取值范围数量级约为-10^308~10^308,精度数量级是10^-16


4,浮点数类型与整数类型由计算机的不同硬件单元执行,处理方法不同,需要注意的是,尽管浮点数0.0与整数0值相同,但他们在计算机内部表示不同。


5,二进制表示小数,可以无限接近,但不完全相同。


6,浮点数间运算存在不确定尾数(不是bug),最多只能存在53位表示小数部分约为10^-16


560004e050184a0b89404f13883e7e49.png

d6e2e933c9a64f22879214d2cd401a7c.png


round函数:


round(x,d)对x四舍五入,d是小数截取位数


98d4277d7a1840658a9d7a945337ce49.png


三,复数类型


1,与数学中复数的概念一致


2,a+bj被称为复数,其中,a是实部,b是虚部


3,复数类型中实数部分和虚数部分的数值都是浮点类型。对于复数z,可以用z.real和z.imag分别获得它的实数部分和虚数部分。


四,数值运算操作符


操作符是完成运算的一种符号体系


0f540e13bd0d40acbbd6cc342e1abe88.png

c67134ce8cdd4eb1be78414b12bf3f53.png

c31e83b3cb0d4354b22963679fa7002c.png


五,数值运算函数


一些以函数形式提供的数值运算功能


cfac5f0c3e5e4248916302ea41f446cf.png

c6b19c111f9d4791a0d3ad279ec4aae0.png


514bf66b057b43d0b3c15479fb57c498.png


六,实例3,天天向上的力量


3d59a39ef21b4d119986d76abf6f6a5e.png

4fc0e6989a0a4e509593ddda6c02f325.png


#千分之一的力量
dayup = pow(1.001,365)
daydown = pow(0.999,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))
dayfactor = 0.005       #使用变量的好处:只需修改一处即可
dayup = pow(1+dayfactor,365)
daydown = pow(1-dayfactor,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))


b38aa51687dd4e769635b4c24993b540.png


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))

cb9b3d5fda024e5d895d410dcd0b6193.png


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,字符串类型的定义


由0个或多个字符组成的有序字符序列


89680cb81dcf4a46b29c5603b82cb584.png


2,字符串的表示方法


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


8343b204235d46efac2f5abcb0ea3ed0.png

e8a32ec338a94c478e26ac73b4ea651e.png

0efa2710e00a4c3fada3b7d4850b8cd2.png

413fe6e3343b4d0785733d5edf6c10ac.png


3,字符串的特殊字符


转义符  \


转义符表达特定字符的本意



例如:"这里有个双引号(\")"结果为这里有个双引号(")



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


例如:


"\b"回退"\n" 换行(光标移动到下行首)

"\r"回车(光标移动到本行首)


4,字符串操作符


由0个或多个字符组成的有序字符序列


197f94c170cc4296bf9233d815f831c7.png


5,字符串处理函数


一些以函数形式提供的字符串处理功能


497087cee90b40bba54301e0eba7d46b.png


32521de9436d49c18dd424e6bbdda97f.png

a0e54102fb3e4964aec0ac20ca739410.png


6,字符串处理方法


a15f9fbe9e5a43cbba8cc1876a426379.png

9940a42b04eb4da08360a4ee61b58608.png

5b9a44c3b46e45f79b742d39fa0fc332.png


7,字符串类型的格式化


1)格式化是对字符串进行格式表达的方式


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

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


2)槽


22ef59b2fa1f4a01a1d9be777597a026.png


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


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



{ <参数序号> : <格式控制标记>}


5245dfd66c66451ba9b5d879fbd1d147.png

5fdbdba1785b499fb4e7ebf2275f6c8d.png


默认左对齐。


八,Python字符串的编码方式


Unicode编码


1,统一字符编码,即覆盖几乎所有字符的编码方式

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

3,Python字符串中每个字符都是Unicode编码字符


九,time库的使用


time库是Python中处理时间的标准库



1,time库的作用


1)计算机时间的表达

2)提供获取系统时间并格式化输出功能

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


2,time库包括三类函数


时间获取: time() ctime() gmtime()

时间格式化: strftime() strptime()

程序计时: sleep(), perf_ counter()


1)时间获取:


aff0349e49c04123b9d3d744a644738b.png

a46c64ed38654a5589e8da99be5e0254.png


2)时间格式化


将时间以合理的方式展示出来


1)格式化:类似字符串格式化,需要有展示模板

2)展示模板由特定的格式化控制符组成

3)strftime()方法


df7baa32c12446fa8b6d2733b4caa91f.png

f35ab7a7b7b141d1b644b634848563ac.png

eefb0fa78ab64269ba9948c7b2e39317.png


6604da548309442e9cab49ae8d9a90ac.png


3)程序计时:


程序计时指测量起止动作所经历时间的过程

测量时间: perf_ counter()

产生时间: sleep()


4d46bbfd0c854dc4ad082daf4e6190c4.png

0a575c71a2df4392a287f19ab7819707.png


十,实例4,文本进度条


采用字符串方式打印可以动态变化的文本进度条

进度条需要能在一行中逐渐变化


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("------执行结束------")

9065a25d346f421297bb313aa3b81ca2.png


1,单行动态刷新


刷新的关键是\r



刷新的本质是:用之后打印的字符覆盖之前的字符

不能换行: print()需要被控制 。

要能回退:打印后光标退回到之前的位置\r


交互式就会成为这样


de170dac112f49348355bd3d251fbcb2.png


307458fb23bd4072b4a88edfba5e103f.png


44c10a4dfd974fab955e0e8bf9aca284.png


d18268dbe36847359939c6af979872d5.png

9dd0b3b581254e1a91db5e04123a7df1.png


2,代码实现:


#完整效果
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,"-"))


十一,math库


利用函数库编程是Python语言最重要的特点,也是Python编程生态环境的意义所在。


网上搜一下,比较多


1a5882e2c8e644f1b1ec068b011343d6.jpg


浮点数,如0.1、0.2和0.3,在Python解释器内部表示时存在一个小数点后若干位的精度尾数,当浮点数进行运算时,这个精度尾数可能会影响输出结果。因此,在涉及浮点数运算及结果比较时,建议采用math库提供的函数,而不直接使用Python提供的运算符。


今天就讲到这里,最后送给大家一句话。


bb947db2654544138140df19e9a6d917.png

目录
相关文章
|
24天前
|
缓存 算法 数据处理
Python入门:9.递归函数和高阶函数
在 Python 编程中,函数是核心组成部分之一。递归函数和高阶函数是 Python 中两个非常重要的特性。递归函数帮助我们以更直观的方式处理重复性问题,而高阶函数通过函数作为参数或返回值,为代码增添了极大的灵活性和优雅性。无论是实现复杂的算法还是处理数据流,这些工具都在开发者的工具箱中扮演着重要角色。本文将从概念入手,逐步带你掌握递归函数、匿名函数(lambda)以及高阶函数的核心要领和应用技巧。
Python入门:9.递归函数和高阶函数
|
24天前
|
程序员 UED Python
Python入门:3.Python的输入和输出格式化
在 Python 编程中,输入与输出是程序与用户交互的核心部分。而输出格式化更是对程序表达能力的极大增强,可以让结果以清晰、美观且易读的方式呈现给用户。本文将深入探讨 Python 的输入与输出操作,特别是如何使用格式化方法来提升代码质量和可读性。
Python入门:3.Python的输入和输出格式化
|
24天前
|
开发者 Python
Python入门:8.Python中的函数
### 引言 在编写程序时,函数是一种强大的工具。它们可以将代码逻辑模块化,减少重复代码的编写,并提高程序的可读性和可维护性。无论是初学者还是资深开发者,深入理解函数的使用和设计都是编写高质量代码的基础。本文将从基础概念开始,逐步讲解 Python 中的函数及其高级特性。
Python入门:8.Python中的函数
|
24天前
|
存储 索引 Python
Python入门:6.深入解析Python中的序列
在 Python 中,**序列**是一种有序的数据结构,广泛应用于数据存储、操作和处理。序列的一个显著特点是支持通过**索引**访问数据。常见的序列类型包括字符串(`str`)、列表(`list`)和元组(`tuple`)。这些序列各有特点,既可以存储简单的字符,也可以存储复杂的对象。 为了帮助初学者掌握 Python 中的序列操作,本文将围绕**字符串**、**列表**和**元组**这三种序列类型,详细介绍其定义、常用方法和具体示例。
Python入门:6.深入解析Python中的序列
|
24天前
|
存储 SQL 索引
Python入门:7.Pythond的内置容器
Python 提供了强大的内置容器(container)类型,用于存储和操作数据。容器是 Python 数据结构的核心部分,理解它们对于写出高效、可读的代码至关重要。在这篇博客中,我们将详细介绍 Python 的五种主要内置容器:字符串(str)、列表(list)、元组(tuple)、字典(dict)和集合(set)。
Python入门:7.Pythond的内置容器
|
10天前
|
数据采集 人工智能 数据挖掘
Python 编程基础与实战:从入门到精通
本文介绍Python编程语言,涵盖基础语法、进阶特性及实战项目。从变量、数据类型、运算符、控制结构到函数、列表、字典等基础知识,再到列表推导式、生成器、装饰器和面向对象编程等高级特性,逐步深入。同时,通过简单计算器和Web爬虫两个实战项目,帮助读者掌握Python的应用技巧。最后,提供进一步学习资源,助你在Python编程领域不断进步。
|
24天前
|
知识图谱 Python
Python入门:4.Python中的运算符
Python是一间强大而且便捷的编程语言,支持多种类型的运算符。在Python中,运算符被分为算术运算符、赋值运算符、复合赋值运算符、比较运算符和逻辑运算符等。本文将从基础到进阶进行分析,并通过一个综合案例展示其实际应用。
|
10月前
|
人工智能 Java Python
python入门(二)安装第三方包
python入门(二)安装第三方包
119 1
|
5月前
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
180 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
|
5月前
|
IDE 开发工具 iOS开发
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置
本篇将详细介绍如何在Mac系统上安装Python,并配置Python开发环境。内容涵盖Python的安装、pip包管理工具的配置与国内镜像源替换、安装与配置PyCharm开发工具,以及通过PyCharm编写并运行第一个Python程序。通过本篇的学习,用户将完成Python开发环境的搭建,为后续的Python编程工作打下基础。
459 2
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置

热门文章

最新文章