python基础学习day03str
- 基础数据类型总览
- why:机器无法像人一样分编各种类型
- int(数字)
- str(字符串)作用:存储少量信息。 ‘12‘,’我和你‘,’qw’
- bool值 作用:判断真假 True False
- list(列表) 作用:存储大量数据,可改变里面的元素。 [12,[1,2,3,a],True,’wo’]
- tuple(元组)作用:存储大量数据,不可改变里面的元素。 (12,False,‘wo’,[1,2,3])
- dict(字典)作用:存储大量关联型数据,查询速度快。{‘name’:’山就在这儿‘,‘age’:18}
- set(集合)
-
int 主要用于计算 +-*/等等
-
int下的方法(在pytharmIDLE编辑器中输入int,鼠标指针放在int上按Ctrl并点击鼠标右键即可查看):共四种
#bit_lenth方法:输出有效的二进制的长度 i = 42 #二进制为0010 1010 print(i.bit_lenth()) >>>6
-
不同进制之间的转换
-
bool值转换为int:
True 1
False 0
print(int(True)) >>>1 print(int(False)) >>>0
-
str转换为int
print(tpye(int('123'))) >>>int
-
-
bool值:
-
布尔值:True /False (1/ 0);True和False在计算机中相当于1和0(True>False);在python中任何对象都可判断其布尔值,除了0、False、None、所有的空的序列于集合(列表,字典,集合)布尔值为False之外其他都为True。可以使用函数bool()进行判别。
-
str、int转换为bool值:
print(bool('sd')) >>>True print(bool(1)) >>>True
-
-
str:
-
切片:字符串是有顺序的,从左至右,从0开始,下标(索引)为0
-
对字符串进行索引,切片出来的数据为str类型。
-
按索引取:str[index]
按切片取:str[start_index:end_index+1]
按照切片步长取:str[start_index:end_index+1:步长]
反向按照切片步长取:str[start_index:end_index-1:步长]
str = '我爱python' print(str[1],type(str[1])) >>>我 <class 'str'> print(str[-1]) >>>n print(str[2:7]) >>>pytho #顾头不顾尾 print(str[2:]) >>>python #步长 print(str[-1:-5:-1]) >>>noht print(str[:]) >>>我爱python print(str[::-1]) >>>nohtyp爱我
-
-
str常用操作方法:
- 不会对原字符串进行任何操作,都是产生一个新的字符串。然后再对其进行操作。
-
常用方法:upper()、lower()、startwith()、replace()、strip()、split()、join() 、count()、len()
str = '我爱P Ython' print(str.upper()) >>>我爱P YTHON print(str.lower()) >>>我爱p ython print(str.startwith('wo')) >>>False print(str.startwith('爱',1,3)) #切片方法 >>>True print(str.replace('我','你',1)) #替换的次数,不写默认替换全部 >>>你爱p ython #strip strip用于去除字符串的首尾字符,可传入一个参数,指定要去除的首尾字符。注意的是, #传入的是一个字符数组,编译器去除两端所有相应的字符,直到没有匹配的字符 (lstrip用于去除左边 的字符,rstrip用于去除右边的字符)
-
print(str.strip())
>>>我爱python
print(str.strip('on我'))
>>>爱P Yth
#split() 默认用空格分割,返回一个列表 str向list转换
print(str.split())
>>>['我爱P', 'Ython']
print(str.split('t'),1) #指定分割符进行分割,有n个分割符可分割n+1个元素,可添加分割的次数
>>>['我爱P Y', 'hon']
print(str.split('我'))
>>>['', '爱P Ython']
#join() interable 可将list转换为str,前提是列表中的元素比需为str类型才行
print('*'.join(str))
>>>我*爱*P* *Y*t*h*o*n
print(str.count('我'))
>>>1
print(len(str)) #获取迭代元素的长度,从1开始计算
>>>9
```
```
+ is 系列:
+ isalnum()、isalpha()、isaldecimal()
```python
str = 'i love you 123'
print(str.isalnum())#判断字符串是否只由字母或数字(两者可混合)组成
>>>False #有空格
print(str.isalpha())#判断字符串是否只由字母组成
>>>False
print(str.isdecimal())#判断字符串是否只由十进制(数字)组成
>>>False
```
+ in系列:
+ in 、not in
```python
msg = 'i love you'
ptint('i' in msg)
>>>True
print('you' not in msg)
>>>False
```
interable:可迭代的,可以简单理解为由多个数据组成
-
格式化输出第二种:
-
format:
-
第一种用法:
msg = '我叫{},来自{},我最爱{}'.format('山就在那儿','博客园','python') print(msg) >>>我叫山就在那儿,来自博客园,我最爱python
-
第二种用法:
msg = '我叫{0},来自{1}我最爱{2},我也爱在{1}发表文章'.format('山就在那儿','博客园','python') print(msg) >>>我叫山就在那儿,来自博客园,我最爱python,我也爱在博客园发表文章
-
第三种用法:
msg = '我叫{name},来自{where},我最爱{what},我也爱在{where}发表文章'.format(name='山就在那儿',where='博客园',what='python') print(msg) >>>我叫山就在那儿,来自博客园,我最爱python,我也爱在博客园发表文章
-
-