第三章 变量类型
这里说的变量类型,指的是两个概念类型;第一个指的是数值型、字符型、布尔型
等结构;第二个指的是存储方式,标量、向量、元祖、字典、集合等
标量
我们习惯上说一个标量的类型,确实是说的它的类型;
而说一个其他变量的类型,说的是它的结构
标量的类型
i = 10
type(i)
s = 'ATCG'
type(s)
列表和字典的类型
l = [10,20,30]
type(l)
y = {'a':1,'b':2,'c':3}
type(y)
动态类型
变量没有数据类型,变量指向对象的才有数据类型,
所有变量的数据类型是动态的。
数值型:整型(int)、浮点型(float)
int | float |
---|---|
10 | 10.5 |
-5 | -5.5 |
type(10)
type(10.5)
算术运算符
运算符 | 描述 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取模,返回除法的余数 |
** | 幂 |
// | 取整,保留整数 |
10 / 3
10 // 3
10 % 3
2**3
比较运算符
a=5 b=10
运算符 | 描述 |
---|---|
== | (a==b)返回False |
!= | (a!=b)返回True |
> | (a>b) 返回False |
< | (a<b) 返回True |
>= | (a>=b)返回False |
<= | (a<=b)返回True |
is | 内存地址是否相等 |
a = 300
b = 300
a == b #对象的值是否相等
a is b #对象的地址是否相等
a = 3
b = 3
a == b
a is b
比较小的[-5,257)整数、数字字符、下划线组成的字符串,python会进行内存驻留机制,变量不在指向新的内存地址
数学函数
# 导入模块
import math
import numpy
函数 | 返回值 |
---|---|
abs | 返回数字的绝对值 |
max(x1,x2...) | 返回给的参数的最大值 |
min(x1,x2...) | 返回给定参数的最小值 |
pow(x,y) | x^y的值 |
sqrt(x) | 返回数字x的平方根 |
round(x,ndigist) | 四舍五入 |
math.ceil(x) | 取顶,如4.1返回5 |
math.floor(x) | 取底,如4.9返回4 |
math.trune(x) | 取整 |
math.exp(x) | 返回e的x次幂 |
math.log(x) | 如math.log(100,10)返回2 |
np.mean([x1,x2...]) | 返回平均值 |
随机函数
#导入random
import random
函数 | 返回值 |
---|---|
randomint(1,100 ) | 随机生成一个整数 |
uniform(1,100) | 随机生成下一个实数 |
choice([1,2,3]) | 从序列的元素中随机挑选一个元素 |
sample() | 随机抽样 |
seed | 设置随机数种子 |
字符型
定义
定义一个字符串可以用单引号、双引号、三引号、单引号和双引号没有本质区别,但大多数情况建议使用单引号。三引号用于定义跨行字符串。
s1 = 'chr1'
s2 = "chr2"
s3 = '''chr3'''
s4 = "1'2'3"
字符串里面包含单引号时,用双引号
操作符
a = 'hello'
b = 'world'
函数 | 描述 |
---|---|
+ | 字符串连接 |
* | 重复输出字符串 |
[] | 通过索引获取字符串中的字符 |
[:] | 左开右闭样 |
in | 判断是否包含某个字符 |
r/R | 原始字符串 |
a + b
a * 3
a[1]
a[2:3]
'e' in 'hello'
原始字符
转义字符 | 中文含义 |
---|---|
\ | 反斜杠 |
' | 单引号 |
" | 双引号 |
\f | 分页,隔开一页 |
\n | 换行 |
\r | 回车 |
\t | 横向制表符 |
\v | 纵向制表符 |
常用操作
1.字符串格式输出对齐
s='www.nwuecology.com'
print(s.center(40))#生成40个字符长度,s居中
print(s.ljust(40))#生成40个字符长度,s左对齐
print(s.rjust(40))#生成40个字符长度,s右对齐
2.大小写转换
s='www.NWUecology.com'
s.upper()
s.lower()
s.capitalize()#第一个字母大写
s.title()#首字符大写
3.字符串条件判断
s='0123ABC'
s.isdigit()#是否全是数字
s.isalpha()#是否全是字母
s.isalnum()#是否全是字母加数字
s.isupper()#是否全是大写
s.isspace()#是否全是空
4.字符串搜索与替换
s.index()没有查找到则报错,其他用法与s.find一致
s='0123ABC'
s.index('A')
print("s.find('D'):",s.find('D'))#查找字符串,没有则返回-1
print("s.count('A'):",s.count('A'))#计数
print("s.replace('A','D'):",s.replace('A','D'))#替换p
print("s.replace('A','D',1):",s.replace('A','D',1))#设置最大替换次数
print("s.strip():",s.strip())#默认去除右端的换行符、空格
print("s.lstrip('1'):",s.lstrip('1'))#去除右端指定字符
5.字符串分割变换
s = 'The weather is so nice today'
l = ['The','weather','is','so','nice','today']
print("s.split(' '):",s.split(' ')) #字符串分隔为列表
print("s.split(' ',1):",s.split(' ',1)) #最多分隔一次
' '.join(l)#连接字符串
布尔型
简单来说,非空即为真,非零即为真
a = True
type(a)
x = [1]
if x:
print('yes')
网友评论