学习python入门基础——数据类型(运算符和字符串)
一、运算符
1.算数运算
a、+、-、*、/(加减乘除)
print(10+2) #运算符+(加)
print(10-2) #运算符-(减)
print(10*2) #运算符*(乘)
print(10/3) #运算符/(除)
b、//(取整)
print(10//3) #运算符//(取整)
c、%(取余/取模)
print(10%3) #运算符%(取余/取模)
d、**(幂运算)
print(2**3) #运算符**(幂函数)2的3次方
2.赋值运算
a、=(赋值)
str_01=hello
print(str_01) #赋值运算=(赋值)
b、+=、-=、*=、/=
num=1
num2=num+1 #加,与下面同一种表达作用
num +=1 #+=(加)、-=(减)
3.比较运算符
> 、<、>=、<=、==、!=(大于、小于、大于等于、小于等于、等于、不等于)
返回的是布尔值(False、True)
print(1>2) #比较运算符>(大于),返回布尔值(true/false)
print(1<2) #比较运算符<(小于),返回布尔值(true/false)
print(1>=2) #比较运算符>=(大于等于),返回布尔值(true/false)
print(1<=2) #比较运算符<=(小于等于),返回布尔值(true/false)
print(1!=2) #比较运算符!=(不等于),返回布尔值(true/false)
print(1==2) #比较运算符==(等于),返回布尔值(true/false)
4.逻辑运算符
a、and(与)
b、or(或)
c、!(非)
num=10
num2=20
print(num !=0) #逻辑运算符!(非),返回布尔值(true/false)
print(num==10 and num2==10) #逻辑运算符and(与),判断num是否等于10,判断num2是否等于10,当2个同时为真,则返回true,否则返回false
print(num==10 or num2==10) #逻辑运算符or(或),多个条件只要有一个条件为真,则返回true,否则返回false
二、字符串
1.定义:单引号、双引号、三单引号、三双引号(’ ‘、 “ “、‘’‘ ’‘’、“”“ ”“”)
加上引号类型就是字符串(数值)
str_01='hello'
str_02=hello python
str_04=test python
类型转换:str(object)
num=1
str(num) #强转数值类型,int转str
print(str(num),type(str(num)))
2.字符串操作
a、字符串访问
索引:索引从0开始,空格也占一个索引位置
str[0]
str1='hello python'
print(str1[0]) #字符串访问,通过索引访问,默认从0开始,步长1,空格也算 [取h]
b、字符串切片
正序:str[起始索引:结束索引:步长]
str1='hello python'
print(str1[0:5]) #字符串切片,str[起始索引:结束索引] 左闭右开 [取hello]
#起始索引绝对值小于结束索引绝对值
print(str1[:]) #不写起始和结束时,默认等于字符串长度 [hello python]
print(str1[0:8:2]) #字符串步长,str[起始索引:结束索引:步长]
#起始索引:0 结束索引:8 步长:2 [取hlop]
倒序:str[起始索引:结束索引:步长]
倒序切片:步长为负数 起始索引-1,从右边开始切 不管正序还是倒序切片,都有2种写法 1、索引从0开始正序取值 2、索引从-1开始倒序取值str_1 = '123456789'
str_2 = str_1[::-1]
print(str_2)
# 987
str_3 = str_1[-1:-4:-1]
print(str_3)
3.字符串运算
a、+(字符串拼接)
b、*(重复输出)
print('='*10)
4.字符串转义
a、\n(转义字符:换行)
b、\(关闭转义)
c、r(路径处理)
print('\\')
5.字符串常用方法
a、大小写相关
1)全部大写:str名.upper()
# 大写
str = 'python'
str_01 = str.upper()
print(str_01)
2)全部小写:str名.lower()
# 小写
code = 'PYTHON'
new_code = code.lower()
print(new_code)
3)首字母大写:str名.capitalize()
# 首字母大写
print(str.capitalize())
4)每个单词首字母大写:str名.title()
# 每个单词首字母大写
code_01 = 'hello python'
print(code_01.title())
5)大小写互换:str名.swapcase()
# 大小写互换
str_02 = 'Python'
print(str_02.swapcase())
b、统计相关
1)统计字符在字符串中出现的次数:cout()
print(str.count('h',0,3))
2)查找字符在字符串中的索引位置:find()
find('sub',start,end) sub:需要统计的字符 start:统计范围的开始索引值 end:统计范围的结束索引值 只查询第一次找到的字符,然后返回索引值print(str.find('h',2,3))
c、拆分&替换
1)拆分
split(指定字符,拆分次数)
默认是通过空格键拆分,可以自己指定字符,指定字符时,指定的字符会丢失
默认(-1)不限制拆分次数,可不写
0就是不拆
#split拆分
str_03='hello python'
new_str=str_03.split('o',1)
print(new_str)
2)去字符串首尾空格、回车符
strip()
3)替换
replace(替换的字符,替换后的字符,替换次数)
返回替换后的字符
包括空格键也可以替换
默认替换次数不限制
#替换
new_str1=str_03.replace(' ','8')
print(new_str1)
d、连接
'连接符号'.join(str)
#用符号拼接
new_str2='-'.join(str_03)
print(new_str2)
e、格式化
1)占位符:%
字符串占位符:%s
如果传的不是字符串,会强制类型转换
str='this is test %s' %(‘py’) py是个字符串
str='this is test %s' %(100) 100数值强制转换成字符串
int类型占位符:%d
传的int不能是字符串,会报错
可以传正数、负数、小数会抹掉小数部分
str='this is a number %d' %(100)
小数类型占位符:%f
prince=‘the price is %.2f’ %(9.9) 保留2位小数
2)format
按顺序取值
price='the price is {}'.format(10.99)
price='the price is {} {} {}'.format(10.99,'sdf',34)
按索引取值(0开始)
price='the price is {0} {1}'.format(100,200)
price='the price is {1} {1} {0}'.format(100,200,300)支持取同一个,但数量要对应
按关键字取值
price_2='the price is {price1} {price2}'.format(price1=100,price2=200)
print(price_2)
调整精度
price_3='the price is {:.2f}'.format(12.35849) 打印出来是12.36
百分比格式化
price_4='the price is {:.2%}'.format(0.213968345) 打印出来是21.40%
3)f表达式
price_5=f'the price is {100}, num is {5}'
price=100
num=5
price_5=f'the price is {price}, num is {num}'