Python基本数据类型
一、Python基本数据类型
- int ==> 整数. 主要⽤来进⾏数学运算
- str ==> 字符串, 可以保存少量数据并进⾏相应的操作
- bool==>判断真假, True, False
- list==> 存储⼤量数据.⽤[ ]表⽰
- tuple=> 元组, 不可以发⽣改变 ⽤( )表⽰
- dict==> 字典, 保存键值对, ⼀样可以保存⼤量数据
- set==> 集合, 保存⼤量数据. 不可以重复. 其实就是不保存value的dict
二、整数(int)
在Python 3 中所有的整数都是int类型,但在Python 2 中如果数据量较大则会采用 long类型,而在Python 3 中没有long类型。
常用方法:
1、bit_length():计算整数在计算机中占用的二进制数的长度。
三、布尔值(bool)
取值只有True和False。
转换问题:
- str ==> int int(str)
- int ==> str str(int)
- int ==> bool bool(int) 0为False,非0位True
- bool ==> int int(bool) True为1,False为0
- str ==> bool bool(str) 空为False,非空为True
- bool ==> str str(bool) 把bool值转换成相应的"值"
四、字符串(str)
字符串:把字符连成串. 在python中⽤’, ", ‘’’, “”"引起来的内容被称为字符串.
-
索引和切片
索引:索引指的就是下标,索引从0开始。
切片:截取字符串指定部分的内容。
语法:str[起始位置,结束位置,步长]
规则:“顾头不顾尾”,即包含起始位置,但不包含结束位置。
步长:如果是整数,则从左往右取,如果是负数,则从右往左取,默认是1。
content = “生活不止眼前的苟且,以后还有一大堆的苟且。”
例:截取“眼前的苟且,以后还有”
print(content[4:14])
例:截取“生不眼的且以还一堆苟”
print(content[::2])
例:将内容翻转
print(content[::-1])
例:截取“一有还后以,且苟的前”
print(content[14:4:-1])
例:截取“止眼前的苟且,以后还有一大堆的苟且。”
print(content[3:])
-
字符串其它相关方法
注意:切记, 字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的。
1:字符串中的字母全部大写
content = “dogfa is a verv beautiful boy!”
content = content.upper()
print(content)
==>"DOGFA IS A VERV BEAUTIFUL BOY!"
2:字符串中的字母全部小写
--------------------------------------------------------------------
注:如果你对python感兴趣,我这有个学习Python基地,里面有很多学习资料,感兴趣的+Q群:895817687
--------------------------------------------------------------------
content = “DOGFA IS A VERV BEAUTIFUL BOY!”
content = content.lower()
print(content)
==>"dogfa is a verv beautiful boy!"
3:英文首字母大写
content = “dogfa is a verv beautiful boy!”
content = content.capitalize()
print(content)
==>"Dogfa is a verv beautiful boy!"
4:大小写转换
content = “dOgfA iS A verv beautiful boy!”
content = content.swapcase()
print(content)
==>"DoGFa Is a VERV BEAUTIFUL BOY!"
5:每个被特殊字符隔开的单词首字母大写
content = "dogfa is a verv beautiful boy!"
content = content.title()
print(content)
==>"Dogfa Is A Verv Beautiful Boy!"
6:居中
content = "欢迎光临~"
content = content.center(15, "*") #将长度拉长为15,两边用‘*’填充
print(content)
==> "*****欢迎光临~*****"
7:清除空格
content = " 其实世上本没有路,走的人多了也就成了路 "
content = content.strip() #清楚两端空格
print(content)
==> "其实世上本没有路,走的人多了也就成了路"
str.lstrip() # 清除左端空格
str.rstrip() # 清楚右端空格
str.strip("明") # 清除左右两端的“明”
content = "明天到操场操到天明"
content = content.strip("明")
print(content)
==> "天到操场操到天"
8:字符串替换
content = "明天到操场操到天明"
content = content.replace("操", "*")
print(content)
==> "明天到*场*到天明"
str.replace("需要替换的字符串", "替换为的字符串", "替换数量") # 替换数量默认为全部替换
content = content.replace("操", "*", 1)
print(content)
==> "明天到*场操到天明"
9:字符串切割
content = "清明时节雨纷纷,路上行人欲断魂,借问酒家何处有,牧童遥指杏花村"
content = content.split(",")
print(content)
==> "['清明时节雨纷纷', '路上行人欲断魂', '借问酒家何处有', '牧童遥指杏花村']"
content = content.split("清")
print(content)
==> "['', '明时节雨纷纷,路上行人欲断魂,借问酒家何处有,牧童遥指杏花村']"
注意:如果切割点在开头或者结尾,都将会在列表的开头或结尾产生一个空字符串。
10:格式化输出
例:要求输入以下内容
*********Welcome~*********
name: dogfa
age: 80
job: piaoke
hobby: piaochang
**************************
我们可以这样:
info = '''*********Welcome~*********
name: {0}
age: {1}
job: {2}
hobby: {3}
**************************'''
name = "dogfa"
age = 80
job = "piaoke"
hobby = "piaochang"
print(info.format(name, age, job, hobby))
我们也可以这样:
info = '''*********Welcome~*********
name: {name}
age: {age}
job: {job}
hobby: {hobby}
**************************'''
name2 = "dogfa"
age2 = 80
job2 = "piaoke"
hobby2 = "piaochang"
print(info.format(name=name2, age=age2, job=job2, hobby=hobby2))
11:查找
content = "明天到操场操到天明"
content = content.find("操")
print(content)
==> 3(返回的是下标)
str.find("查找内容", "起始位置", "结束位置") # 切片查找
content = content.find("操", 4, 7)
print(content)
==> 5
注意:只能查找到第一个内容的索引,查找不到时将会返回"-1"。
str.index("查找内容")
content = content.index("操")
print(content)
==> 3
注意:查找不到内容时将会直接抛出异常。建议使用find()。
str.startswith("明") # 判断字符串是否以“明”开头
str.endswith("明") # 判断字符串是否以“明”结尾
content = content.startswith("明")
==> True
content = content.endswith("明")
==> True
12:条件判断
# 判断是否为纯数字
str.isdigit()
content = "123456"
content = content.isdigit()
print(content)
==> True
content = "123456abc"
content = content.isdigit()
print(content)
==> False
# 判断是否为纯英文
str.isalpha()
content = "abcde"
content = content.isalpha()
print(content)
==> True
content = "123456abc"
content = content.isalpha()
print(content)
==> False
# 判断是否由数字和字母组成
str.isalnum()
content = "abcde123456"
content = content.isalnum()
print(content)
==> True
content = "@123avb"
content = content.isalnum()
print(content)
==> False
# 其它
str.isdecimal()
str.isnumeric() # 这个可以判断中文
content = "壹仟伍佰"
content = content.isnumeric()
print(content)
==> True
13:计算字符串的长度
content = "你猜我有多长?"
print(len(content))
==> 7
注意:注意: len()是python的内置函数. 所以访问⽅式也不⼀样。
14:字符串的拼接
content = "嘿嘿嘿"
content = "_".join(content)
print(content) # 嘿_嘿_嘿
15:迭代
for "变量" in "可迭代对象":
pass
content = "喜欢唱跳rap篮球"
for item in content:
print(item)
==> 喜
欢
唱
跳
r
a
p
篮
球
可迭代对象:简单来说就是可以一个一个往外取值的对象,如str, list, tuple。
未完待续