2、数据类型

1、布尔型(bool)

只有 TrueFalse 两个值,表示真或假

2、字节(bytes)

在 Python 3.x 中,字符串和二进制数据完全区分开。文本总是 Unicode,由 str 类型表示,二进制数据则由 bytes 类型表示。

Python 3.x 不会以任意隐式的方式混用 str 和 bytes,你不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然),也不能将字符串传入参数为字节流的函数(反之亦然)。

注意:

  • bytes 类型与 str 类型,二者的方法仅有 encode()decode() 不同。
  • bytes 类型数据需在常规的 str 类型前加个 b 以示区分,例如 b'abc'
  • 只有在需要将 str 编码(encode)成 bytes 的时候,比如:通过网络传输数据;或者需要将 bytes 解码(decode)成 str 的时候,我们才会关注 strbytes 的区别。
bytesstr 互相转换的两种方式:
# bytes object
b = b"example"

# str object
s = "example"

# str to bytes
bytes(s, encoding = "utf8")

# bytes to str
str(b, encoding = "utf-8")

# an alternative method
# str to bytes
str.encode(s)

# bytes to str
bytes.decode(b)
3、数字

(1)整型(int)

整数值,可正数亦可负数,无小数。 Python 3.x 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python 3.x 没有 Python 2.x 的 Long 类型

(2)浮点型(float)

浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 10^2 = 250)

(3)复数(complex)

复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示,复数的实部 a 和虚部 b 都是浮点型。

(4)数字运算注意事项

  • 不同类型的数字混合运算时会将整数转换为浮点数
  • 在不同的机器上浮点运算的结果可能会不一样
  • 在整数除法中,除法 / 总是返回一个浮点数,如果只想得到整数的结果,丢弃可能的分数部分,可以使用运算符 //
  • // 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系

(5)常用数学函数

注意:在使用下列函数之前,需要先导入 math 包。

# coding=utf-8
import math

# 数字类型包括:int float complex
# 常用数学函数
# 常用数学常量: pi 和 e
#
# 内建函数
# abs(x):				# 返回数字的整型绝对值
# round(x[, n])			# 返回浮点数x的四舍五入值,如给出n值,则代表设入到小数点后n位数,否则,则返回一个整数
# pow(x, y)				# 幂等函数,x**y运算后的结果
# max(x1, x2, ... xn):	 # 返回最大值
# min(x1, x2, ... xn):	 # 返回最小值	# 返回数字的下舍整数,eg:math.floor(4.6) 返回4

x = 2
y = -3.253
z = 3.6
print(abs(x))
print(round(y))
print(round(y, 2))
print(max(x, y))
print(min(x, y, z))
print(pow(x, x))

# fabs(x):				# 返回数字的浮点数绝对值
# cell(x):				# 返回数字的上入整数,eg: math.cell(4.1) 返回5
# floor(x):				# 返回数字的下舍整数,eg:math.floor(4.6) 返回4
# sqrt(x):				# 返回数字x的平方根
print(math.sqrt(x))
print(math.fabs(y))
print(math.ceil(z))
print(math.floor(z))

# # 三角函数
# sin(x) :				 # 正弦函数值
# cos(x):				# 余弦函数值
# tan(x):				# 正切函数值
# asin(x):				# 反正弦的弧度值
# acos(x):				# 反余弦的弧度值
# atan(x):				# 反正切的弧度值
# degrees(x):			# 将弧度值转换为角度值
# radians(x):			# 将角度值转换为弧度值

r = 2 * math.pi * (45 / 360)  # 这里的 r 是一个弧度值
print(math.sin(r))
print(math.cos(r))
print(math.tan(r))
print(math.asin(0.5))
print(math.acos(0.5))
print(math.atan(0.5))
print(math.degrees(r))
print(math.radians(30))
4、字符串
  • 单引号和双引号使用完全相同
  • 使用三引号(’’'或""")可以指定一个多行字符串
  • 转义符(反斜杠)可以用来转义,使用r可以让反斜杠不发生转义
  • 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string
  • 字符串可以用 + 运算符连接在一起,用 * 运算符重复
  • 字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始
  • 字符串不能改变
  • 没有单独的字符类型,一个字符就是长度为 1 的字符串
  • 字符串的截取的语法格式如下:变量[头下标:尾下标]
常见转义字符
\:		在行位时,续行符
\\:		反斜杠符号
\':		单引号
\":		双引号
\a:		响铃
\b:		退格
\e:		转义
\000:	空
\n:		换行
\t:		纵向制表符
\r:		回车
\f:		换页
常用字符串运算符
+:				字符串链接
*:				重复输出字符串
[]:				通过索引获取指定位置的字符
[:]: 			截取字符串中的一部分
in and not in:    成员运算符
r/R:			 原始字符串
%:				格式化字符串
字符串格式化

(1)使用%格式化字符串

print("我叫%s, 今年%d岁!"%('robot'12))

(2)使用 format 格式化字符串

print("我叫{0}, 今年{1}岁!".format('robot', 12))

推荐使用第二种方式格式化字符串。

常见字符串处理函数
# 字符串子串的查找和替换
str.find(substr, beg=0, end=len(str))		# 如果包含子串,则返回开始的索引值,否则返回-1
str.index(substr, beg=0, end=len(str))		# 如果包含子串,返回开始的索引值,否则抛出异常
str.replace(old, new[, max])  				# 把字符串中的old替换成new,替换次数不超过max

# 字符串组成判断
str.isalnum()								# 检测字符串是否只由数字和字母组成,是,返回True,否,返回False
str.isalpha()								# 检测字符串是否只由字母组成
str.isdigit()								# 检测字符串是否只由数字组成
str.islower()								# 检测字符串中的字符是否都是小写
str.isupper()								# 检测字符串中的字符是否都是大写
str.isspace()								# 检测字符串中是否只包含空格
str.istitle()								# 检测字符串中是否所有单词的首字母位大写,其余均为小写

# 用指定字符链接序列的元素
str.join(sequence)     						# 将序列的元素以指定的字符链接成一个新的字符串(eg:'+'.join(['1','2','3' ] 返回'1+2+3')

# 字符串大小写转换
str.capitalize()							# 首字母大写,其余字母小写
str.lower()									# 转换字符串中所有大写字母位小写 
str.upper()									# 转换字符串中所有小写字符位大写
str.title()   								# 返回标题化的字符串,即首字母大写,其余小写

# 字符头尾部处理
str.strip([chars])    						# 移除字符串头尾指定的字符(默认为空格)或字符序列
str.endswith([chars])						# 判断字符串是否是以指定字符后字符序列结尾
str.startswith([chars])						# 判断字符串是否是以指定字符后字符序列开头

# 字符串分割
str.split(str="", num=string.count(str))     # 通过指定分隔符堆字符串进行切片,如果指定num的值,则仅分割num个字符串

# 字符串中最大最小值
max(str)									# 返回字符串中的最大字符
min(str)									# 返回字符串中的最小字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值