概述
目录
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" |
| 按某字符分割字符串,默认按空格分隔;如果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 中,有一个特殊的常量 None(N 必须大写)。和 False 不同,它不表示 0,也不表示空字符串,而表示没有值,也就是空值。
需要注意的是,None 是 NoneType 数据类型的唯一值(其他编程语言可能称这个值为 null、nil 或 undefined),也就是说,我们不能再创建其它 NoneType 类型的变量,但是可以将 None 赋值给任何变量。如果希望变量中存储的东西不与任何其它值混淆,就可以使用 None。
最后
以上就是清脆百合为你收集整理的Python基础数据类型1.整型和浮点型2.布尔类型3.字符串4.类型转换5.空值None的全部内容,希望文章能够帮你解决Python基础数据类型1.整型和浮点型2.布尔类型3.字符串4.类型转换5.空值None所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复