格式化字符串
拼串
在输出时对字符串进行格式化拼接
s = 'hello'
print('s=' + s)
参数传递
可以由内置或自定义的函数进行格式化字符串(例如print()函数就是内置函数)
s='hello'
print('s=',s) #s就是参数
print('abc', 'bcd')
占位符
占位符包括%f (浮点型格式化),%d(整数型格式化),%s(字符串型格式化)
s1 = 's = %s' % 'hello'
s2 = 's = %d' % 3
s3 = 's = %f' % 2.5
print(s1,s2,s3)
有几个占位就得有几个对应的值
s = 's =%s,s2=%s' % ('hello', 'world')
特殊的格式化
特殊格式化方式主要有
f’ 字符串变量’----------------------一般用于有定义字符串变量的占位字符串
str.format(字符串)----------------一般用于没有定义字符串变量的占位字符串
区别如下:
#有定义变量的用f
s1 = '钢铁侠'
s2 = '葫芦娃'
s = f'hello {s1},{s2}'
print(s)
# str.format()方式
s = 'i like {0},{1}'
b = s.format('python', 'java')
print(b)
字符串中的其他方法
str.len()
求字符串长度
s = 'hello'
print(s.len()) #5
str.max(),str.min()
求字符串中的最大值和最小值
#一般比较字符串的大小值是比较字符串中字符的ascii码值的大小
s = 'hello'
print(s.max()) # ‘o’
print(s.min()) # ‘e’
str.split()
截取字符串,返回值是一个列表(深入的暂时还不太了解,因为与C#不同所以不知是否可以以b.split(0,1)这种方式截取)
目前学到的主要还是以字符重复度较高字符串举例
b='a-b-c'
print(b.split('-')) #abc
str.join() 拼接字符串
与拼串同理,但不同方法
b='abc'
result='-'.join(b) #拼接格式的格式'-'一般放在join方法之前,与拼串形似但不是一个东西
print(result) #a-b-c
str.strip() ,str.lstrip() ,str.rstrip() 去掉字符串中的空格
个人理解,一般没用,特殊情况可能会用到
b=' python '
b.strip() #去掉全部空格
b.lstrip() #去掉字符串左边空格
b.rstrip() #去掉字符串右边空格
str.upper() ,str.lower()
字符串全部大写或小写
b='Python'
b.upper() #全部大写
b.lower() #全部小写
运算符
个人理解就是针对代码进行运算的符号(进行运算的可能是变量,可能是数值,也可能是链表等等)
分类
算术运算符
进行数学计算(例如+,-,*,/)
特殊:// 整除,% 取余,**幂运算
我在交互模式下进行的:
赋值运算符(“=”)
进行算术运算之后将数值或变量赋值给变量的符号
x=x+3 #也可写作x+=3
#上述的算术运算符在此同理
比较运算符()
比较两个值的大小关系,返回值是一个布尔值
a = 5 > 6
b = 6 < 10
c = 7 >= 7
d = 8 <= 9
e = 10 == 10
f = 0 != true #true和false是特殊的整型,分别代表1和0
print(a,b,c,d,e,f) #False,True,True,True,True,True
特殊:
is:比较是否是同一个对象(id)
is not:比较是否不是同一个对象(id)
返回值也是布尔值
r = 0 is False
print(r) #False
逻辑运算符(与and,或or,非not)
对于非布尔值,非运算会先转换成布尔值,然后再进行取反操作
例如 0 空串 None…这些表示空性的值转换为false
对于非布尔值,与和或运算会先转换成布尔值,进行与和或操作后,最终会返回原值
a= 0
b=1
c=a and b #与运算一个为False,则结果为False(一假则假,全真为真)返回值是原值
print(c) #0
d=0
e=1
f=d or e #或运算 一个为True,则结果为True(一真为真,全假则假)返回值是原值
print(f) #1
s= 0
a=not a #对于非布尔值的非运算,返回值是个布尔
print(a) #True