第三章:基本数据类型

类型的概念


类型是编程语言对数据的一种划分

大致分为以下几种:

        数字类型        字符串类型

        元组类型        列表类型

        文件类型        字典类型


a、数字类型


Python语言包括三种数字类型:

        整数类型

        浮点数类型

        复数类型

整数类型

数学中的整数概念一致,没有取值范围限制。

pow()

pow(x,y)函数(计算x的y次方)

进制数

0x,0X开头表示16进制数

0b,0B开头表示2进制数

0o,0O开头表示8进制数

浮点数类型

带有小数点及小数的数字

Python语言中浮点数的数值范围存在限制,小数精度也存在限制。

取值范围是10的-307次方到10的308次方

只能提供15个数字的准确性

科学计数法中系数<a>的最大精度为53

科学计数法

复数类型

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

        z = a +bj

a是实数部分

b是虚数部分,虚数部分用 j 或者 J 标识

a和b都是浮点类型

复数

z.real获得实数部分,z.imag获得虚数部分。


b、数字类型的操作


三种类型存在一种逐渐“扩展”的关系:

整数 > 浮点数 > 复数  

(整数是浮点数特例,浮点数是复数特例)

不同数字类型之间可以进行混合运算,运算后生成果为最宽类型

举例

增强赋值操作符

增强赋值操作符

内置的数值运算函数

内置的数值运算函数

数字类型的转换

数字类型的转换

三种类型可以相互转换

相互转换


c、math库的使用


nmath库是Python提供的内置数学类函数库

nmath库不支持复数类型

math库一共提供了

4个数学常数

44个函数,分为4类,包括:

16个数值表示函数

8个幂对数函数

16个三角对数函数

4个高等特殊函数

math库概述

首先使用保留字import引用该库

第一种:import math

对math库中函数采用math.<b>()形式使用

import math

第二种:from math import <函数名>

对math库中函数可以直接采用<函数名>()形式使用

from math import <函数名>  

4个数学常数

4个数学常数

16个数值表示函数

16个数值表示函数    

8个幂对数函数

8个幂对数函数

六个三角双曲函数

六个三角双曲函数

4个高等特殊函数

4个高等特殊函数

实例: 天天向上的力量

问题:一年365天,以第1天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高1‰,当没有学习时由于遗忘等原因能力值相比前一天下降1‰。每天努力和每天放任,一年下来的能力值相差多少呢?

天天向上:(1+ 1‰)的365次方

天天向下:(1- 1‰)的365次方

运行结果


d、字符串类型及其操作


字符串是用双引号“”或者单引号‘’括起来的一个或多个字符,表示单行字符串。

字符串也可以用三引号''',表示单行或者多行字符串。

例子

字符串的操作

想输出带有引号的字符串就使用Python语言转义符: \

使用\\ 输出带有反斜杠的字符串

转义符

用转义符可以在字符串中表达一些不可直接打印的信息。

例如:用\n表示换行

\n表示换行

字符串类型

字符串是一个字符序列:字符串最左端位置标记为0,依次增加。字符串中的编号叫做“索引”

索引

Python字符串的两种序号体系

正向递增序号:0~~L-1(长度为L的字符串)

反向递减序号:-1~~-L

两种序号体系

单个索引辅助访问字符串中的特定位置

格式为<string>[<索引>]

可以通过两个索引值确定一个位置范围,返回这个范围的子串

格式:<string>[<start>:<end>]

start和end都是整数型数值,子序列从索引start开始直到end结束,但不包括end位置。

字符串之间可以通过 + 或 * 进行连接

加法操作(+)将两个字符串连接成为一个新的字符串

乘法操作(*)生成一个由其本身字符串重复连接而成的字符串

详细例子

x in s

如果x是s的子串,返回Ture;否则,返回False

len()函数返回一个字符串的长度

在python中,英文字符和中文字符都是一个字符(因为使用Unicode编码存储)。

例子

大多数数据类型都可以通过str()函数转换为字符串

str()

实例:输入一个月份数字,返回对应月份名称缩写。    

这个问题的IPO模式是:

      输入:输入一个表示月份的数字(1-12)

      处理:利用字符串基本操作实现该功能

      输出:输入数字对应月份名称的缩写

将所有月份名称缩写存储在字符串中

在字符串中截取适当的子串来查找特定月份

查找特定月份

可以通过 for 和 in 组成的循环来遍历字符串中每个字符

遍历字符串

内置的字符串处理函数

列表1
列表2
列表3


e、字符串类型的格式化  format()方法


format()方法的基本使用

字符串格式化:用于解决字符串和变量同时输出时的格式安排。

字符串format()方法的基本使用格式是:

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

format()

format()方法的格式控制

格式控制

format()方法中模板字符串的槽{}除了包括参数序号,还可包括格式控制信息:

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

其中,格式控制标记用来控制参数显示时的格式。包括:<填充><对齐><宽度>,<.精度><类型>6个字段,都是可选的,可以组合使用。

格式控制标记

宽度:输出字符的宽度。

若format()参数的实际长度 > 宽度,则按实际输出

若format()参数的实际长度 < 宽度,则位数默认以空格补充

对齐:<,>,^ 分别表示宽度内左、右、居中对齐

填充:宽度内除参数外以什么字符填充,默认用空格

<填充><对齐><宽度>

逗号:(,)数字类型的千位分隔符

精度:由小数点(.)开头。

对于浮点数:精度表示小数部分输出的有效位数

对于字符串:精度表示输出的最大长度

<精度>

类型:表示输出整数和浮点数类型的格式规则。

对于整数:

b:输出整数的二进制方式

d:输出整数的十进制方式

o:输出整数的八进制方式

x / X:输出整数的小/大写十六进制方式

c:输出整数对应的Unicode字符

对于浮点数:

e / E:输出浮点数对应的小/大写字母e的指数形式

f:输出浮点数的标准浮点形式

%:输出浮点数的百分形式

浮点数输出时尽量使用<.精度>表示小数部分的宽度

<类型>


f、文本进度条


利用print()函数实现简单的非刷新文本进度条。

基本思想是按照任务执行百分比将整个任务划分为100个单位,每执行N%输出一次进度条。每一行输出包含进度百分比,代表已完成的部分(**)和未完成的部分(..)的两种字符,以及一个跟随完成度前进的小箭头,风格如下:

多行刷新

多行刷新

单行动态刷新

单行刷新


单行刷新

五花八门的进度条设计函数 

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容