我是靠谱客的博主 清脆百合,最近开发中收集的这篇文章主要介绍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);
整型数字之间进制转换; 

# 十六进制:以0x开头
print(0x11)
print(0x111)
# 二进制
print(0b101)
print(0B101)
# 八进制
print(0o12)
print(0o23)
#
十进制转换为二进制
print(bin(3))
#
十进制转换为十六进制
print(hex(19))
# 十进制转换为八进制
print(oct(10))

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

# 小数点形式
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表示;

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

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

#任意数据类型都有一个具体的布尔值为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换页
s1 = "hi yuannhi,alvin"
print(s1)
s2 = 'I'm yuan'
print(s2)
s3 = "D:\nythonProject\nenv\Scripts\python.exe"
print(s3)

3.2长字符串

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

3.3字符串格式化

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

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

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()。基本语法是通过 {} : 来代替以前的 %

#位置映射
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)索引取值
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()将字符串的第一个字符转换为大写
'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.类型转换

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.整型和浮点型2.布尔类型3.字符串4.类型转换5.空值None所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部