python学习笔记21:基础之常量(数、str)、变量
目录
1. 常量.数
数本身不可改变,包括:
- 整数,int(比如2),Python3中没有Long类型,python3 int没限制大小,可以当作Long使用;
- 浮点数,float(小数3.23、幂记法的数52.3E-4);
- 复数,complex(比如-5+4j,complex(a, b));
2. 常量.字符串
2.1. python字符串的一些特点:
- 字符串不可变;
- 可使用单引号(原样保留字符串内的字符)、双引号、三引号(可以指示一个多行的字符串,可以是’’’或“““)创建;
- 行尾的\表示续行,在代码中看起来是两行,实际等价于一行内容;
- 自然字符串:加上r或R前缀,表示不需要转义处理,如r'new lines are indicated by \n';(类似于perl中的单引号,不转义)
- Unicode字符串:加上u或U前缀,表示非英文的字符串,如u'a Unicode string';这是书写国际文本的标准方法。
- 字符串级连:相邻放置即可,如'What's' ' your name'会被转为'What's your name',注意在your前自己加一个空格,注意your空格之前是两个单引号,不是一个双引号;
- 使用正则表达式时,最好使用自然字符串,否则会增加很多\。比如r'\1',如果使用普通字符串,要写为'\1';
2.2 常用函数:strip()
s.strip(‘x‘) # 删除s开头、结尾处的指定字符,默认删除空白符(\n, \r, \t, ‘ ‘)
s.lstrip(‘x’) # 类似于strip(),不同是只删除开头处的指定字符。
s.rstrip(‘x’) # 类似于strip(),不同是只删除结尾处的指定字符。
注意:如果指定多个字符,它删除的并不是这个序列,而是把多个字符拆开一个个去除:
‘abcde’.strip(‘cake’) # 返回bcd,它去掉’abcde’首尾的所有‘c’、‘a’、‘k’、‘e’。
’30.01%’.strip(‘.01%’) # 返回3,它去掉首尾的‘.’、‘0’、‘1’、‘%’, 而不是去掉‘0.1%’返回30。
所以使用strip时,尽量不要指定多个字符。
2.3. 常用函数:count(sub[, start[, end]])
作用:返回sub在string里出现的次数。如果指定了start或end,则返回指定范围内出现的次数。
参数:
- sub:搜索的子字符串;
- start:字符串起始搜索的位置,默认为0;
- end:字符串结束搜索的位置,默认为len(sting),开集,不包括这个idx;
实例:
>>> s = ‘1abc2abc3abc’
>>> s.count(‘abc’) # ‘abc’共出现了3次;
3
>>> s.count(‘abc’, 0, 3) # end=3不包括idx=3的字符,所以返回0;
0
>>> s.count(‘abc’, start=0) # 不能使用关键字参数;
TypeError: count() takes no keyword arguments
2.4. 常用函数:find(sub[, start[, end]]), 另见rfind()
作用:检测字符串是否包含子串str;
返回值:
- string包含sub时,返回索引值(find从左边找,rfind从右边找)
- string不包含sub时,返回-1;
参数:
- sub,子串;
- start,起始位置,默认为0;
- end,结束位置,默认为len(string);
实例:
>>> s0 = ‘This isa string’
>>> s1 = ‘is’
>>> s0.find (s1) # 2,返回s1在s0中的起始idx。
2
>>> s0.find (s1.upper()) # s0中不包含’IS’,返回-1
-1
>>> s0.find(s1, 2) # 从idx==2开始找,包括idx==2
2.5 大小写转换 str.uppper(), str.lower(), str.swapcase()
将字母转为大写/小写
>>> s0 = 'abcDEF'
>>> s1 = s0.upper()
>>> s1
'ABCDEF'
>>> s2 = s0.lower()
>>> s2
'abcdef'
>>> s3 = s0.swapcase()
>>> s3
'ABCdef'
3. 变量
- 变量名不能以数字开头、变量名大小写敏感;
- 数据类型:基本的数据类型是数、字符串,(还可以使用类创建自己的类型);
- python把程序中用到的任何东西(数、字符串、函数等)都称为对象。
- 注意,与C不同,Python不需要声名,不需要定义数据类型,Python会自己判断其类型;
- 注意,与Perl也不同,Python不能自动转换数据类型;
- 数据类型转换:
转换函数 | 说明 |
---|---|
int(x) | 返回x对应的整数 |
float(x) | 返回x对应的浮点数 |
complex(x) | 返回x对应的复数,实部为x,虚部为0 |
complex(x, y) | 返回x对应的复数,实部为x,虚部为y |
例:
>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool(0)
False
>>> bool('')
False
>>> bool('0') #非空str为真
True