原文文档

类型的概念

Python语言的类型 数字类型,字符串类型,元组类型

列表类型,文件类型,字典类型

3.1 数字和字符串类型

数字类型

程序元素:010/10,存在多种可能

表示十进制数值10

类似人名一样的字符串

数字类型对Python语言中数字的表示和使用进行了定义和规范

3.1.1Python包括三种数字类型

整形类型

浮点数类型

复数类型

1.整数类型

与数学上的整数概念一致,没有范围限制

pow(x,y)函数:计算 x^y

程序1:pow(2,10)=1024,pow(1,15)=32768

程序2:pow(2,1000)

程序3:pow(2,pow(2,15))

示例

1010,99,-217

0x9a,-0X89 (0x,0X开头表示16进制)

0b010,-0B101 (0b,0B开头表示2进制数)

0o123, -0O456 (0o,0O开头表示8进制数)

2.浮点数类型

示例

0.0, -77, -2.17

96e4, 4.3e-3, 9.6E5

科学计数法使用字母“e”或者“E”作为幂的符号,以10为基数

科学计数法含义如:$a*10^b$

3.复数类型

与数学中的复数概念一致,z = a+bj,a是实数部分,b是虚数部分,a和b都是浮点数类型,虚数部分用j或者J标识

示例:12.3+4j, -5.6+7J

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

-对于复数z,可用z.real获取实数部分,z.imag获取虚数部分

3.1.2 数字类型的关系

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

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

不同数字类型之间可以混合运算,运算结果为最宽类型

示例:123 + 4.0 = 127.0(整数 + 浮点数 = 浮点数)

三种类型可以相互转换

函数:int(), float(), complex()

示例: int(4.5) = 4(直接去掉小数部分)

float(4) = 4.0(增加小数部分)

complex(4.5) = 4.5 + 0j

>>>float(4.5+0j)将会报错,不支持将复数转化为浮点数或者整数,只能将复数的实部或者虚部转化为floath/int

In [1]:x = 2.5+1j

In [2]:int(x.real)

Out[2]: 2

In [3]:float(x.imag)

Out[3]: 1.0

3.1.3 数据类型的判断

函数:type(x) 返回x的类型,适合于所有类型的判断

示例:type(4.5)

返回:float

3.1.4数子类型的运算

数字类型的运算

3.2字符串数据类型

字符串是用双引号 " "或者单引号 ' '括起来的一个或多个字符 >>>str1 = "hello"

>>>str2 = 'Jason'

字符串可以保存在变量里也可以单独存在

可以用type()函数测试一个字符串的类型 >>>type(str1)

Python语言转义符:\

输出带有引号的字符串,可以使用转义符 >>>print("\"大家好!\"")

"大家好!"

使用\可以输出带有转义符的字符串

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

H

e

l

l

o

J

o

h

n

0

1

2

3

4

5

6

7

8

9

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

>>>greet ="Hello John"

>>>print(greet[2])

1

>>>x=8

>>>print(greet[x-2])

J

Python中字符串索引从零开始,一个长度为L的字符串最后一个字符串的位置是L-1

Python同时允许使用负数从字符串右边尾部向左边反向索引,最右侧索引值为-1 >>>greet[-4]

J

此外,也可以通过两个索引值确定一个位置范围内,返回这个范围的子串 [:]

start和end都是整数型数值,这个子序列从索引start开始直到索引end结束,但不包括end位置 >>>greet[0:3]

'Hel'

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

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

"pineapple"

乘法操作(*)构建一个其本身字符串重复连接而成的字符串 >>>3*"pine"

'pinepinepine'

len()函数能否返回一个字符串长度 >>>len('pine')

4

>>>len("我爱FF猪")

5

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

'123'

>>>str(123.456)

'123.456'

>>>str(123e+10)

'1230000000000.0'

字符串操作

操作

含义

+ 连接

* 重复

[ ]

索引

[ : ]

剪切

len()

长度

.upper()

字符串中字母大写

.lower()

字符串中字母小写

.strip()

去两边空格及去指定字符

.split()

按指定字符分割字符串为数组

.join()

连接两个字符串序列

.find()

搜索指定字符串

.replace()

字符串替换

for in

字符串迭代

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

每个字符

格式如下: for in :

操作

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

例如:用\n表示换行 - 字符串"Hello\nWorld\n\nGoodbye 32\n"

- 用print()函数打印后的输出效果如下:

Hello

World

Goodbye 32

3.3 元组及列表

元组的概念

 元组是包含多个元素的类型,元素之间用逗号分割。

例如:t1 = 123,456, “hello”

 元组可以是空的,t2=()

 元组包含一个元素时:t3=123,

 元组外侧可以使用括号,也可以不使用

 与字符串类型类似,可以通过索引区间来访问元组中部分元素。

例如:t[1:]

 与字符串一样,元组之间可以使用+号和*号进行运算。

元组的特点

 元组中元素可以是不同类型;

一个元组也可以作为另一个元组的元素,此时,作为元

素的元组需要增加括号,从而避免歧义。

例如:t3='123','456',('中国,我爱你')

 元组中各元素存在先后关系,可以通过索引访问元组

中元素。

例如:t3[0]

 元组定义后不能更改,也不能删除。

例如:t3[0]=456

元组总结

 Python语言中的元组类型定义后不能修改

 不可变的tuple有什么意义呢?

因为tuple不可变,所以代码更安全。

 如果仅考虑代码的灵活性,也可以用列表类型代替元组类型。

列表的概念

 基本概念

 列表(list)是有序的元素集合;

 列表元素可以通过索引访问单个元素;

 列表与元组类似

 列表中每个元素类型可以不一样

 访问列表中元素时采用索引形式

列表与元组不同

列表大小没有限制,可以随时修改

列表的操作

 针对列表有一些基本操作,这些操作与字符串操作类似

列表操作符

操作符含义

< list1 > + < list2>

连接两个列表

< list > * < 整数类型 >

对列表进行整数次重复

< list > [< 整数类型 >]

索引列表中的元素

len( < seq > )

列表中元素个数

< list >[ < 整数类型 > : < 整数类型 >]

取列表的一个子序列

for < var > in < list > :

对列表进行循环列举

< expr > in < list >

成员检查,判断是否在列表中

示例:

l = [1,2,3,"hello",9]

l

Out[35]:

[1, 2, 3, 'hello', 9]

l2 = [4,5,6,'world',9]

l2

Out[36]:

[4, 5, 6, 'world', 9]

l +l2

Out[40]:

[1, 2, 3, 'hello', 9, 4, 5, 6, 'world', 9]

l[3]+ " "+ l2[3]

Out[42]:

'hello world'

#%%

l3=[]

l4=[]

for i in l:

if type(i) is str:

l3.append(i)

else:

l4.append(i)

l3

['hello']

l4

[1,2,3,9]

 列表相关方法

方法

方法含义

< list > . append ( x )

将元素x增加到列表的最后

< list > . sort ( )

将列表元素排序

< list > . reverse ( )

将序列元素反转

< list > . index ( )

返回第一次出现元素x的索引值

< list > . insert ( i, x )

在位置i处插入新元素x

< list > . count ( x )

返回元素x在列表中的数量

< list > . remove ( x )

删除列表中第一次出现的元素x

< list > . pop ( i )

取出列表中位置i的元素,并删除它

示例

l5 = [1,2,3,8,5]

l5.append(10)

l5

Out[ ]:

[1,2,3,8,5,10]

l5.sort()

l5

Out[ ]:

[1,2,3,5,8,10]

l5.reverse()

l5

Out[ ]:

[10,8,5,3,2,1]

l5.insert(3,2)

l5

Out[ ]:

[10,8,5,2,3,2,1]

 对于字符串,可以通过split()函数,将字符串拆分成一个列表,默认以空格分割

 例如:

str1= 'I love bai yun fan fan'

str1.split()

Out[ ]:

['I', 'love', 'bai', 'yun', 'fan', 'fan']

3.4 math库 and random库

数学库及其使用

3.4.1.math库

 math库中常用的数学函数

函数

数学表示

含义

圆周率pi

π

π的近似值,15位小数

自然常数e

e

e的近似值,15位小数

ceil(x)

$[x]$

ٔ对浮点数向上取整

floor(x)

$[x]$

ٔ对浮点数向下取整

pow(x,y)

$x^y$

计算x的y次方

log(x)

lg x

以e为基的对数,

log10(x)

$log_{10}x$

以10为基的对数,

sqrt(x)

$\sqrt{x}$

平方根

 math库中常用的数学函数

函数

数学表示

含义

exp(x)

e的x次幂,

degrees(x)

将弧度值转换成角度

radians(x)

将角度值转换成弧度

sin(x)

sin x

正弦函数

cos(x)

cos x

余弦函数

tan(x)

tan x

正切函数

asin(x)

arcsin x

反正弦函数,x∊[-1.0,1.0]

acos(x)

arccos x

反余弦函数,x∊[-1.0,1.0]

atan(x)

arctan x

反正切函数,x∊[-1.0,1.0]

随机数库及其使用

 random库中常用的函数

函数

含义

seed(x)

给随机数一个种子值,默认随机种子是系统时钟

random()

生成一个[0,1.0]之间的随机小数

randint(a,b)

生成一个a到b之间的随机整数

randform(a,b)

生成一个a到b之间的随机小数

randrange(a,b,c)

随机生成一个从a开始到b以c递增的数

choice()

从列表中随机返回一个元素

shuffle()

将列表中元素随机打乱

sample(,k)

从指定列表随机获取k个元素

python的三种数据类型列举_3.Python编程之数据类型相关推荐

  1. python的三种结构_Python控制结构,python

    比较运算符 布尔类型 布尔值有两个:True和False 例1: a = True a 例2: 2 == 3 提示: 1.不要把赋值(一个等号)与比较(两个等号)混淆. 2.Python是区分大小写的 ...

  2. Python:三种方法计算最大公约数和最小公倍数(欧几里德法、穷举法、stein算法)

    Python:三种方法计算最大公约数和最小公倍数 1.穷举法 2.欧几里德法 3.Stein算法 题目:求取任意两个非负数(至多一个数为0)的最大公约数和最小公倍数: 参考资料:Python解决求最大 ...

  3. Python的三种格式化输出

    今天刚学了python的三种格式化输出,以前没接触过这么有趣的输出方式,现在来分享一下. #!/user/bin/env python #coding:utf-8 #三种格式化输出 #第一种格式化输出 ...

  4. 详解python运行三种方式_详解python运行三种方式

    方式一 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ p ...

  5. python可变参数的实验性_详解Python的三种可变参数

    可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或 ...

  6. python什么是可变参数_详解Python的三种可变参数

    可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或 ...

  7. 学习Python的三种境界,你现在是在什么境界?

    前言 王国维在<人间词话>中将读书分为了三种境界:"古今之成大事业.大学问者,必经过三种之境界:'昨夜西风凋碧树,独上高楼,望尽天涯路'.此第一境也.'衣带渐宽终不悔,为伊消得人 ...

  8. Python的三种代码续行书写方法

    #第一种:三个单引号 print ''' 我是一个程序员         我刚开始学习python''' #第二种:三个双引号     print """ 我是一个程序员 ...

  9. Python中三种表示NA的方式

    Python中三种表示NA的方式 # -*- coding: utf-8 -*- import numpy as np import pandas as pd# data_frame = np.loa ...

最新文章

  1. [Java] 02 String的常用方法
  2. python整数类型-Python整数类型(int)详解
  3. Spring boot容器导入组件
  4. Win10小技巧:如何将在此处打开命令改为CMD或Powershell?
  5. 2014\Province_C_C++_A\2 切面条
  6. Java实现K-means
  7. Linux下ms软件,在linux下有没有什么软件可以连接windows上的MSSQL SERVER
  8. 服务器共享文件审计,内网安全管理系统-共享审计
  9. 由Dvbbs PHP 0day引发的争论
  10. spring 环境配置
  11. spark中dataframe解析_Spark 结构流处理介绍和入门教程
  12. 第二节:使用IDEA创建React APP 并启动
  13. Linux 加固(centos7)
  14. 群晖nas安装监控后台SurveillanceStation
  15. 智力游戏教案c语言代码,幼儿园智力游戏教案有哪些
  16. 数据分析:帕累托法则分析菜品盈利
  17. todolist从无到有
  18. 用HTML5实现十里桃花歌词的打印(一)
  19. Salesforce系列(六):Salesforce Apex基础SOQL查询和数据添加!
  20. 魔兽中的dx写屏(原版为英文)

热门文章

  1. 国产操作系统往事:四十年激变,终再起风云
  2. 华为最强自研 NPU 问世,麒麟 810 测评远超骁龙系列!
  3. 华为效仿苹果卖高价手机?滴滴顺风车开放灰度测试;苹果官微被投诉“攻陷”| 极客头条...
  4. @程序员,入行物联网的避坑指南!| 技术头条
  5. AI 时代,为何机器人公司无法盈利只能走向倒闭?
  6. 聊天宝解散罗永浩退出;三大运营商回应提速降费;天猫 iPhone XS 最高降 2000 | 极客头条...
  7. 三星电子通信撤出中国!
  8. 抛开 Android 不谈,谁是最受欢迎的 Linux 发行版?
  9. JavaScript 年度调查报告:React、Vue 和 Angular 三分天下,谁将在 2018 年独占鳌头?
  10. aix ntp 配置_aix下开启ntp服务