我是靠谱客的博主 清脆百合,这篇文章主要介绍Python基础数据类型1.整型和浮点型2.布尔类型3.字符串4.类型转换5.空值None,现在分享给大家,希望可以做个参考。

目录

1.整型和浮点型

2.布尔类型

3.字符串

3.1字符串的转义符:

3.2长字符串

3.3字符串格式化

3.3.1字符串格式化输出--%占位符

3.3.2字符串格式化输出-- str.format

3.3.3 字符串格式化输出--f-string

3.4序列类型

3.5内置方法:

3.6特殊字符

4.类型转换

5.空值None


1.整型和浮点型

整型:Python中整数都是整型(int);
整型数字之间进制转换; 

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 十六进制:以0x开头 print(0x11) print(0x111) # 二进制 print(0b101) print(0B101) # 八进制 print(0o12) print(0o23) # 十进制转换为二进制 print(bin(3)) # 十进制转换为十六进制 print(hex(19)) # 十进制转换为八进制 print(oct(10))

 浮点型:在python中小数都属于浮点型(float),有两种表现形式:

复制代码
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
# 小数点形式 f = 3.14 print(f) # 3.14 print(type(f)) # <class 'float'> # 指数形式: aEn 或 aen ''' 3.2E5 = 3.2×105,其中 3.2 是尾数,5 是指数。 2.7E-3 = 2.7×10-2,其中 2.7 是尾数,-3 是指数。 0.2E8 = 0.2×107,其中 0.2 是尾数,8 是指数。 ''' f1 = 3.2E5 print(f1) # 320000.0 print(type(f1)) # <class 'float'> f2 = 3.2E-5 print(f2) # 3.2e-05 print(type(f2)) # <class 'float'> f3 = 3.1415926123456789876543217789 print(f3) # 双精度(double float,保留17为有效数字) print(type(f3))

注意:小数点后只能保留17个有效数字! 

2.布尔类型

在python中用bool表示布尔类型,"真"用true表示,“假”用false表示;

复制代码
1
2
3
数据类型暗转换;在如下案例中,python不会进行数据类型的暗转换,返回False;但在js中,会将第一个1转换为字符串1再去比较,返回True; print(1 == '1') #False:int与str作比较,返回False;

注意:任意值都有自己的布尔值,这就涉及到布尔的零值;

复制代码
1
2
3
4
5
#任意数据类型都有一个具体的布尔值为False,我们成为零值,该类型的其他值的布尔值为True; print(bool("")) # 字符串的零值 “” print(bool(0)) # 整型的零值 0 print(bool(False)) # 布尔类型的零值 False

3.字符串

字符串是由零个或多个字符串组成的有限序列。字符串的内容可以包括字母,标点,特殊符号,中文,日文等全世界的所有字符;在python中通过单引号或双引号标识;

python中单引号和双引号没有任何区别!

3.1字符串的转义符:

转义字符说明
n换行符,将光标位置移到下一行开头。
r回车符,将光标位置移到本行开头。
t水平制表符,也即 Tab 键,一般相当于四个空格。
v纵向制表符
a蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效。
b退格(Backspace),将光标位置移到前一列。
\反斜线
'单引号
"双引号
在字符串行尾的续行符,即一行未完,转到下一行继续写。
f换页
复制代码
1
2
3
4
5
6
s1 = "hi yuannhi,alvin" print(s1) s2 = 'I'm yuan' print(s2) s3 = "D:\nythonProject\nenv\Scripts\python.exe" print(s3)

3.2长字符串

复制代码
1
2
3
4
5
6
7
s = """ s = "hi yuan\nhi,alvin" I'm yuan 这是一个python解释器路径:"D:\nythonProject\nenvScriptspython.exe" 长字符串中放置单引号或者双引号不会导致解析错误 """ print(s)

3.3字符串格式化

字符串格式化有三种方式:%占位符,str.format,fstring

3.3.1字符串格式化输出--%占位符

复制代码
1
2
3
name = "yuan" age = 23 print("My name is %s; My age is %d"%(name,age))

在print函数中,由引号包围的是格式化字符串,相当于字符串模板,可以放置一些转换说明符(占位符); 

转换说明符解释
%d、%i转换为带符号的十进制整数(十进制:decimalism 
%u格式化无符号整型
%o将十进制整数转换为不带符号的八进制整数(八进制: octal number 
%x、%X将十进制整数转换为不带符号的十六进制整数(十六进制: hexadecimal number 
%e转化为科学计数法表示的浮点数(e 小写)
%E转化为科学计数法表示的浮点数(E 大写)
%f、%F转化为十进制浮点数(float);
#%a.bf,a表示浮点数的打印长度,b表示浮点数小数点后面的精度
更多使用方法详见:python字符串格式化之%s、%d、%f的使用_asyher的博客-CSDN博客
%g智能选择使用 %f 或 %e 格式
%G智能选择使用 %F 或 %E 格式
%c格式化字符及其 ASCII 码
%r使用 repr() 函数将表达式转换为字符串
%s使用 str() 函数将表达式转换为字符串

占位符相关指令:

符号

功能

*

定义宽度或者小数点精度

-

用做左对齐

+

在正数前面显示加号( + )

<sp>

在正数前面显示空格

#

在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')

0

显示的数字前面填充'0'而不是默认的空格

%

'%%'输出一个单一的'%'

(var)

映射变量(字典参数)

m.n.

m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

3.3.2字符串格式化输出-- str.format

Python2.6 开始,新增了一种格式化字符串的函数 str.format()。基本语法是通过 {} : 来代替以前的 %

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#位置映射 print("我是 {},今年 {} 岁,有 {} 零花钱。".format('王老师', 38, 27.35)) #我是 王老师,今年 38 岁,有 27.35 零花钱。 #关键字映射 print("我是 {},今年 {age} 岁,有 {} 零花钱。".format('王老师', 27.35, age = 11)) #我是 王老师,今年 11 岁,有 27.35 零花钱。 #元素访问 print("{0[0]}.{0[1]}".format(('baidu','com'))) #baidu.com #填充与对齐 "^"代表居中 "<"代表左对齐 ">"代表右对齐 print("{:*>8}".format("245")) #*****245 #format数字精度设置 a="我是{0},我的存款有{1:.2f}" print(a.format("煮雨",3888.4123654)) # '我是煮雨,我的存款有3888.41'

3.3.3 字符串格式化输出--f-string

f-string是python3.6 之后版本添加的,称之为字面量格式化字符串,是新的格式化字符串的语法。

3.4序列类型

字符串属于序列类型,所谓序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。

Python 支持正向索引(正索引),即从左向右计数索引,第一位为0,第二位为1,依次类推;还支持索引值是负数(负索引),此类索引是从右向左计数,换句话说,从最后一个元素开始计数,从索引值 -1 开始。

序列类型支持的操作:

复制代码
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
29
# (1)索引取值 s = "hello yuan" print(s[6]) print(s[-10]) # (2)切片取值:序列类型对象[start : end : step] step默认是1;step为正时,即从左向右切,step为负时,即从右向左切; s = "hello yuan" print(s[1:4]) # ell :取索引1到索引3(左闭又开) print(s[:4]) # hell :start缺省,默认从0取 print(s[1:]) # ello yuan : end缺省,默认取到最后 print(s[1:-1]) # ello yua print(s[6:9]) # yua print(s[-4:-1]) # yua print(s[-1:-4]) # 空 print(s[-1:-4:-1]) #nau step为1:从左向右一个一个取。为-1 ,从右向左一个取 # (3)判断存在:Python 中,可以使用 in 关键字检查某元素是否为序列的成员。 s = "hello yuan" print("yuan" in s) # True # (4)支持两种类型相同的序列使用“+”运算符做相加操作,它会将两个序列进行连接,但不会去除重复的元素。 # 使用数字 n 乘以一个序列会生成新的序列,其内容为原来序列被重复 n 次的结果 s = "hello"+" yuan" print(s) # hello yuan s= "*"*10 print(s) # **********

3.5内置方法:

方法作用示例输出
upper全部大写"hello".upper()"HELLO"
lower全部小写"Hello".lower()"hello"
capitalize()将字符串的第一个字符转换为大写
复制代码
1
'sxm'.capitalize()
‘Sxm’
startswith()是否以a开头"Yuan".startswith("Yu")True
endswith()是否以a结尾"Yuan".endswith("a")False
isdigit()是否全数字'123'.isdigit()True
isalpha()是否全字母'yuan123'.isalpha()False
isalnum()是否全为字母或数字'yuan123'.isalnum()True
strip()去两边空格;
lstrip():去除左侧空格或指定字符;
rstrip():去除右侧空格或制定字符
" hi yuan n".strip()"hi yuan"
join(seq)将多个字符串连接在一起"-".join(["yuan","alvin","eric"])"yuan-alvin-eric"

split(str="",num=string.count(str))

按某字符分割字符串,默认按空格分隔;如果num有指定值,则仅截取num+1个子字符串"yuan-alvin-eric".split("-")['yuan', 'alvin', 'eric']
find()搜索指定字符串,没有返回-1"hello world".index("w")6
index()同上,但是找不到会报错"hello world".index("w")6
count()统计指定的字符串出现的次数"hello world".count("l")3
len(string)返回字符串长度
replace(old,new[,max])替换old为new;如果定义了max,则替换不超过max次'hello world'.replace(‘world',‘python')"hello python"
maketrans()创建字符映射的转换表
translate(table,deletechars="")

根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中

bytes.decode(encoding="utf-8", errors="strict")

Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。

encode(encoding='UTF-8',errors='strict')

encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'

format()格式化方法

3.6特殊字符

方法作用
chr()返回整型参数值所对应的UNICODE字符的字符串
ord()返回某个字符的ASCII值(0~255)或者UNICODE数值

4.类型转换

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
i = int("3") print(i,type(i)) # 3 <class 'int'> s = str(3.14) print(s,type(s)) # 3.14 <class 'str'> b1 = bool(10) b2 = bool(0) b3 = bool("yuan") b4 = bool("") b5 = bool("0") print(b1) # True print(b2) # False print(b3) # True print(b4) # False print(b5) # True

5.空值None

 Python 中,有一个特殊的常量 NoneN 必须大写)。和 False 不同,它不表示 0,也不表示空字符串,而表示没有值,也就是空值。

需要注意的是,None NoneType 数据类型的唯一值(其他编程语言可能称这个值为 nullnil undefined),也就是说,我们不能再创建其它 NoneType 类型的变量,但是可以将 None 赋值给任何变量。如果希望变量中存储的东西不与任何其它值混淆,就可以使用 None

最后

以上就是清脆百合最近收集整理的关于Python基础数据类型1.整型和浮点型2.布尔类型3.字符串4.类型转换5.空值None的全部内容,更多相关Python基础数据类型1内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部