Python学习笔记 六 (基本数据类型)
基本数据类型是学习每种编程语言所必须了解的,为了巩固Python的基本数据类型的学习,我将对Python的基本数据类型进行简单总结,希望能对你我有益。
目录
- 基本数据类型的介绍
- 基本数据类型的简单操作
- 字符串处理
一、基本数据类型的介绍
- 整数:和数学中的整数相同可正可负大小无限制,可以使用二进制、八进制、十进制、十六进制表示。
- 浮点数:和数学中的浮点数相同,带有小数点的数字,由于计算机在计算时是利用二进制进行计算,在精度较高时会有不确定尾数产生(可以自行百度一下),在计算时可以结合round()函数进行四舍五入来消除不确定尾数带来的问题,不确定尾数发生在10-16左右;除此之外浮点数还有使用e\E的 科学计数法的表示方法,例如 2e3表示为2 * 103。
- 复数:和数学中的复数相同,有实部和虚部,使用a.image获取虚部,使用a.real获取实部。
二、基本数据类型的简单操作
数值操作符 | 描述及使用 |
---|---|
+ | x + y,和数学中的加法相同 |
- | x - y,和数学中的减法相同 |
* | x * y,和数学中的乘法相同 |
/ | x / y,和数学中的除法相同 |
// | x // y , x整除y 舍弃小数部分,例如3 // 2 = 1 |
+x | 表示正 x |
-x | 表示负 x |
x%y | 取模运算,求余数,例如10 % 3 = 1 |
x**y | 幂运算,表示 x 的 y 次方,例如2 ** 3 = 8 |
除了数值操作符还有一系列的增强赋值操作符:+=、-=、/=、//=、%=、**=,例如,x /= y 表示为x / y赋值给x,即x = x / y,其他的相同。
除了以上一些基本运算外,Python还提供了一些数值运算函数。
- ads()函数:求绝对值,abs(-12) = 12。
- divmod()函数:商余函数,同时输出商余,divmod(10, 3)输出 10 // 3 和 10 % 3的结果即 3 和 1。
>>> divmod(10,3)
(3, 1)
>>>
- pow()函数:幂函数或者幂余函数,当pow(x, y)时为 xy 相当于x ** y,当pow(x, y , z)是幂余函数,(xy )% z。
- round(x, d)函数:四舍五入,可用于消除不确定尾数,其中d是指需要保留的小数尾数,可缺省。
>>> round(123.45678)
123
>>> round(123.45678,3)
123.457
>>>
- max()函数:返回一串数字中的最大值。
>>> max(1,2,3,4,5,6,7,5,66,9)
66
>>>
- min()函数:返回一串数字中的最小值。
- int():舍弃参数中的小数部分。
- float():将参数变为浮点数,增加小数部分。
- complex():将参数变为复数,增加虚数部分。
>>> complex(4)
(4+0j)
>>>
三、字符串处理
字符串是指由0个或多个字符构成的有序字符序列。
1. 字符串的表示方法:
- ‘A’——单个引号
- “这是一个字符串”——双引号
- “‘这是一个
多行字符串’”——三引号
使用多种表示方法是防止在表示时字符串本身可能含有引号,若是三种引号都含有,可以使用转义字符 \ 来解决。
三引号 “‘ ’” 的字符串在没有进行任何赋值操作时,可以用来当注释,这就是为什么多行注释使用三引号来表示,因为Python没有提供多行注释单独的表示方法。
2. 字符串操作
除了在前面的学习笔记中介绍的 索引 和 切片 ,字符串操作还有以下:
操作符 | 含义及使用 |
---|---|
x + y | 连接字符串 x 和 y |
x * n或n *y | 复制 n 次字符串 x |
x in s | 判断 x 是否为 s 的子串 |
3.字符串处理函数
Python还提供了一系列字符串处理的函数。
- len() 函数:得到字符串的长度。
>>> len("hello world")
11
>>>
- str() 函数 :将任意类型的数据变为字符串类型,可以理解为加上“ ”。
- hex() 函数:将整数变为16进制小写的字符串类型。
- oct() 函数:将整数变为8进制小写的字符串类型。
- chr() 函数:将参数(Unicode码)返回其对应的字符。
>>> chr(24069)
'帅'
>>>
- ord() 函数:将参数(字符)返回其对应的Unicode码。
>>> ord("帅")
24069
>>>
4.字符串处理方法
Python对字符串的处理还提供了一些列方法简化了字符串的处理,设字符串为S。
- S.lower():返回一个为全为字符串小写的副本。
- S.upper():返回一个为全为字符串大写的副本。
s = "hello world"
print(s.upper())
---------------
==
HELLO WORLD
>>>
- S.split():返回一个的列表,元素由指定分割符来确定。
>>> "a,b,cd".split(",")
['a', 'b', 'cd']
>>>
- S.count():统计参数在字符串中出现的次数。
s = "hello world"
print(s.count("l"))
-------------------
==
3
>>>
- S.replace(old, new):用新字符将字符串中的老字符替换并生成副本。
s = "hello world"
print(s.replace("l", 'z'))
-----------------------
==
hezzo worzd
>>>
- S.center(width, s):将字符串根据设置的宽度居中,空余部分使用s来填充。
- S.strip():去掉字符串中左右两边参数所列出来的字符。
s = "==hello world=="
print(s.strip("=l"))
----------------------------
==
hello world
>>>
- S.join():为参数中除最后一个元素,每一个元素中间添加S,用于分割元素。
s = "hello world"
print(",".join(s))
--------------------
==
h,e,l,l,o, ,w,o,r,l,d
>>>
5.字符串的输出控制
在前面我们知道字符串的输出控制时由控制槽 { } . format(参数)来进行的,下面进行详细的了解。
而槽 { } 和 format(0, 1, 2, 3) 是一一对应的,并且是从0开始的。
所以对数据的控制主要在槽 { } 中,下面就是槽中控制参数,如果含有所有控制参数,则需要从左到右依次填写,可以缺省。
例如:
#输出宽度为20的居中字符串,空余由*填充
s = "hello world"
print("{:*^20}".format(s))
--------------
==
>>>
****hello world*****
>>>
或者多个输出
#输出宽度为20的居右字符串,空余由=填充
s = "hello world"
q = "nihao"
print("{0:*^20}\n{1:=>20}".format(s, q))
----------------------------------------
==
****hello world*****
===============nihao
>>>
待续…