基本数据类型
一.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 = "\n\t 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 < len(s): #计算字符串长度 print(s[i]) #10 i += 1
注意: len()是python的内置函数. 所以访问方式也不一样. 你就记着len()和print()一样就?了
原文地址:https://www.cnblogs.com/xiaoqianbook/p/10035507.html