python简单操作, 字符串,布尔值,深拷贝,浅拷贝;格式化字符串

字符串

a = 3
b = ‘123456’
c = “abc”

print(1+1)
print(b+c) #字符串可以拼接用+号,int整数不能和字符串拼接
#字符串和数字n可以用相乘,表示的是n个字符串
print(b*a)
#如果想拼接字符串和数字,那么需要转化str()函数
print(str(a)+b)#将a转化为字符串
print(a+int(b))#如果字符串b的内部本身是数字,则可以转化为数字

print(‘c:/note1.txt’) #在python中,写文件路径可以用/表示路径

str1 = ‘adhgsdsdfs’
print(str1[0])

len()函数,可以查看字符串的长度

print(len(str1))

#字符串中的切片[起始值:终止值]包含起始值,但是不包含终止值
print(str1[2:5])
#字符串的下标或切片也可以用负数,表示从后向前数
print(str1[-3:]) #终止值为空,表示从起始值到字符串的结束全部都取值
#切片[起始值:终止值:步长]
print(str1[::3])

#index()函数
print(str1.index(‘h’)) #找到h在字符串里面的下标

浅拷贝,深拷贝

list1=[10,20,30,[40,50]]
list2=list1 #普通的赋值,其实list1和list2指向的是同一个内存地址
list2=list1[:] #切片可以生成新的列表,但是对于子列表而言,仍然指向的同一个地址
import copy #导入标准库中的copy模块
list2=copy.copy(list1) #浅拷贝,等价于切片[:]
list3=copy.deepcopy(list1) #深拷贝,list1改变,深拷贝不变
list1[3][0]=60 #修改了list1的值,list2中的值也会跟着改变
print(list1) #[10, 20, 30, [60, 50]]
print(list2) #[10, 20, 30, [60, 50]]
print(list3) #[10, 20, 30, [40, 50]]

布尔表达式

#布尔类型True 真,也可以用1表示 False 假也可以用0表示
#字母之间的比较,是根据ASCII码来比较的,a=97,A=65
#print(‘a’>‘B’)#多个字母之间的比较,只比较第一位,只有第一位相同时,才会向后比较
#print(‘aA’>‘Aa’)#赋值号= 与恒等符号==
#print(1==1)#in,在…之中
#print(10 in list1)#10在列表list1中,所以为真
#print(50 in list1) #50不在列表list1中,而是在它的子列表中,所以为假
#print(50 in list1[3]) #50是在子列表中,所以为真
#print(‘10’ in list1) #‘10’是str型,而list1中没有str型的’10’

#not in 不在…之中# print(40 not in list1)
#逻辑运算符and 并且,or 或者
#print(1>2 and 2>1 and 3>2 and 5>4 and 6>5)
#只要当中有一个False就为False 一假为假,全真为真

#print(1>2 or 2>10 or 3>20 or 5>40 or 6>5) #一真为真,全假为假

#and,or,not的优先级 not>and>or
#print(1>2 and 2>1 or 3>20 and 5>4 or 6>5)

#print(1>2 and 2>1 or 3>20 and (5>4 or 6>5))

1#括号可以改变优先级#应用场景举例
1# from selenium import webdriver
1# webdriver=webdriver.Firefox()
1# webdriver.get(“https://www.baidu.com”)
1# print(webdriver.find_element_by_id(‘kw’).is_displayed())
1#判断id为kw的元素是否存在

格式化字符串

#200904_格式化字符串
#a=3
#b=5
print(str(a)+’+’+str(b)+’=’+str(a+b))#对于字符串的拼接显示,我们称之为格式化字符串,那么有两种方案
#方案一 %的方式
#print(’%s+%s=%s’%(a,b,a+b))#%s表示字符串,%d表示整数类型,%f表示浮点类型的数字

#info=‘我叫%s,你叫%s,他叫%s,今年是%d年’%(‘刘德华’,‘张学友’,‘郭富城’,2020)

#print(info)#前后参数的数量要一致,否则会报错,无论是前>后,还是后>前,都会报错

#info=‘我叫%s,你叫%s,他叫%s,今年是%d年’%(‘刘德华’,‘张学友’,‘郭富城’)
#print(info)

#补位数,当位数不足时,方案一可以通过规定数字的长度进行补空格操作
#比如设置数字为n,当输入的位数只有m位(m<n)时,则补n-m位空格;如果m>n,则正常显示所有字符
#对于数字而言,还可以根据需要在左侧补0
#info=‘我叫%5s,你叫%5s,他叫%5s,今年是%05d年’%(‘刘德华特洛夫斯基’,‘张学友’,‘郭富城’,20)
#print(info)
#方案一默认所有的字符都是右对齐,如果需要左对齐,那么加上一个负号.# info=‘我叫%-5s,你叫%-5s,他叫%-5s,今年是%-05d年’%(‘刘德华’,‘张学友’,‘郭富城’,20)
#print(info)

#直接用%f,保留6位小数,%a.b,a表示最少显示多少位,b表示保留几位小数# number1=’%6.1f’%(3.68)
#print(number1)

#方案二
#最低位数用:n表示
#str1=‘My name is{:6},Your name is{:6},age is{:6}’.format(‘刘德华’,‘张学友’,23)
#print(str1)
#对齐方式,方案二中,字符串默认左对齐,数字默认右对齐,
#如果要改变对齐方式,>表示右对齐,<表示左对齐,^表示中间对齐
#str1=‘My name is{:>6},Your name is{:^9},age is{:<6}’.format(‘刘德华’,‘张学友’,23)
#print(str1)

#前后参数的个数不一致,前>后,报错,后>前,不报错
#str1=‘My name is{:>6},Your name is{:^9},age is{:<6}’.format(‘刘德华’,‘张学友’,23,24)
#print(str1)
#数字也可以补0
#str1=‘My name is{:>6},Your name is{:^9},age is{:06}’.format(‘刘德华’,‘张学友’,23)
#print(str1)
#也可以使用下标法来表示字符串内容
#str1=‘My name is{0:>6},Your name is{0:^9},age is{0:6}’.format(‘刘德华’,‘张学友’,23)
#print(str1)
#下标法要注意,要填就全部填下标,不要只填一半,否则会报语法错误
#str1=‘My name is{0},Your name is{1},age is{2}’.format(‘刘德华’,‘张学友’,23)
#print(str1)
#如果本来就要打印{},怎么办?
#{} 占位符12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849

#{{}} 表示大括号本身
#{{{}}} 表示占位符和大括号都有
#str1=‘My name is{0},Your name is{{{1}}},age is{2}’.format(‘刘德华’,‘张学友’,23)
#print(str1)
#python3.6以后的版本中,可以使用f’‘的方式,表示格式化字符串
#name1=‘刘德华’# name2=‘张学友’
#print(f’My name is{name1},Your name is{name2}’)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值