作者:deadman21 | 来源:互联网 | 2024-10-10 19:32
本文由编程笔记#小编为大家整理,主要介绍了基本数据类型(int bool str)相关的知识,希望对你有一定的参考价值。
基本数据类型
一.python基本数据类型
1. int ==> 整数. 主要用来进行数学运算
2. str ==> 字符串, 可以保存量数据并进行相应的操作
3. bool==>判断真假, True, False
4. list==> 存储?量数据.用[ ]表示
5. tuple=> 元组, 不可以发生改变 用( )表示
6. dict==> 字典, 保存键值对, ?样可以保存?量数据
7. set==> 集合, 保存大量数据. 不可以重复. 其实就是不保存value的dict
二. 整数(int)
在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使?long类型.
在python3中不存在long类型 整数可以进行的操作: bit_length(). 计算整数在内存中占用的二进制码的长度
三. 布尔值(bool)
取值只有True, False. bool值没有操作.
转换问题:
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中用‘, ", ‘‘‘, """引起来的内容被称为字符串.
切片和索引
1. 索引. 索引就是下标. 切记, 下标从0开始
s = "今天中吃胡萝卜"
print(s[3]) # 吃
print(s[2]) # 中
print(s[-2]) # 萝
print(s[-6]) # 天
2. 切片, 我们可以使用下标来截取部分字符串的内容
语法: str[start: end]
规则: 顾头不顾尾, 从start开始截取. 截取到end位置. 但不包括end
s = "中间的,你们为什么不说话.难受"
print(s[3:7]) #,你们为
print(s[5:9])#们为什么
print(s[-3:-7])#切不到东西
print(s[-7:-3])#么不说话
print(s[:6]) #中间的,你们
print(s[6:])#为什么不说话.难受
print(s[:])#中间的,你们为什么不说话.难受
步长: 如果是整数, 则从左往右取.如果是负数. 则从右往左取. 默认是1
切片语法: str[start:end:step]
start: 起始位置
end: 结束位置
step:步长
s = "abcdefghijklmn"
print(s[::2]) #acegikm
print(s[1:5:3]) #be
print(s[7:3]) #切不到什么
print(s[7:3:-1]) #hgfe
print(s[-1:-8:-2]) #nljh
切记, 字符串串是不可变的对象, 所以任何操作对原字符串串是不会有任何影响的
回文题目
s = "黄山落叶松叶落山黄"
s2 = s[::-1]
if s == s2:
print("是回文")
else:
print("不是回文")
capitalize
s = "abcdefg"
s1= s.capitalize() #把首字母大写
print(s1)#Abcdefg
title
s = "alex sb dsb wusir bi1gsb"
s2 = s.title() #把所有的首字母都大写
print(s2)#Alex Sb Dsb Wusir Bi1Gsb
upper
s = "alex sb dsb wusir bi1gsb"
s3 = s.upper() #所有字母都大写
print(s3)#ALEX SB DSB WUSIR BI1GSB
lower和casefold
s = "Alex Is Not A Or B"
s5 = s.lower() #对欧洲的特殊字符识别不了
print(s5)#alex is not a or b
s6 = s.casefold() #支持特殊文字
print(s6)#alex is not a or b
s2 = "БB?"
s7 = s2.lower()
print(s7)#бb?
s8 = s2.casefold()
print(s8)#бbss
swapcase
s = "WuSir 昨天出去 Love 女生 呵呵"
s2 = s.swapcase() #大写变小写,小写变大写
print(s2)#wUsIR 昨天出去 lOVE 女生 呵呵
s = "alex"
center
s = "alex"
s6 = s.center(10,"*")#文字居中左右填充
print(s6) #***alex***
格式化输出
name = "alex"
age = 18
hobby = "wusir"
print(f"领导叫{name},今年{age}岁,喜欢{hobby}")
print("领导叫{},今年{}岁,喜欢{}".format(name,age,hobby))
print("领导叫{n},今年{a}岁,喜欢{h}".format(n=name,a = age,h = hobby))
print("领导叫{0},今年{2}岁,喜欢{1}".format(name,age,hobby))
strip
s = "
alex hhh 123 "
s2 = s.strip()#去除字符串左右两边的空白字符
print(s2)
s = "bb aa bb cc dd bb"
s2 = s.strip("bb") #去除左右两边的bb
print(s2)
replace
s = " good alex good wusir good 大虾 good 胡辣汤 "
s8 = s.replace("大虾","大鱼") #文字的替换
print(s8)
s9 = s.replace(" ","")
print(s9)
s10 = s.replace("good","sb",2)
print(s10)
startswith和endswith
name = input("请输入你的名字:").strip()
if name.startswith("钱"): #是否以它开头
print("过来")
elif name.endswith("多"):#是否以它结尾
print("过来")
else:
print("走开")
count
s = "alex is big sb"
print(s.count("i"))#统计个数
find 查找
s = "红烧猪蹄子"
print(s.find("烧")) #1
print(s.find("123")) #-1
print(s.index("烧")) #1
print(s.index("123")) #报错ValueError: substring not found
isalpha
s = "alexwusir"
print(s.isalpha()) #纯字母,不包含数字 True
isdigit
s = "123456789"
print(s.isdigit()) #纯数字,不包含其他字符 True
len
s = "我是周润发,我喜欢你"
print(len(s)) #10
s = input("请输入一句话:")
i = 0
while i print(s[i]) #10
i += 1
注意: len()是python的内置函数. 所以访问方式也不一样. 你就记着len()和print()一样就?了