Python基础精进 day2

赋值

1. 链式赋值用于同一个对象赋值给多个变量,例如:a = b = 3

2. 解包赋值:系列数据赋值给个数相同的变量,例如:

        交换两变量的值:a, b = b, a

        打印斐波那契数列: 

def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a+b
        print(a)

逻辑运算符: and 与, or 或, not 非 (与java中的‘短路与’、‘短路或’有些相似)

假设x and y(x or y)

1. and:x 为 True,则返回 y 的值 ;x 为 False,则不计算 y,直接返回 False。

2. or:x 为 True,则不计算 y,直接返回 True ;x 为 False,则返回 y

print(True and 3) #3
print(3 and True) #True
print(False and 3) #False
print(True and False) #False
print(True or 3) #True
print(False or 3) #3
print(not 1) #False
print(not 3.0) #False
print(not 0) #True

同一运算符同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址。

1. is :is 是判断两个标识符是不是引用同一个对象

2. is not:is not 是判断两个标识符是不是引用不同对象

is 与 == 区别
is 用于判断两个变量引用对象是否为同一个,既比较对象的地址。
== 用于判断引用变量引用对象的值是否相等,默认 调用对象的 __eq_ _()方法。
print(3.0 == 3) #True
print(3 is 3) #True
print(3.0 is 3) #False

字符串

1. 字符串的本质是:字符序列。Python 的字符串是不可变的,我们无法对原字符串做任
何修改。但可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果。Python 不支持单字符类型,单字符也是作为一个字符串使用的。
2. 可以定义空字符串,长度len(str)为0
3. 可以使用单引号,也可使用双引号
4. 可以使用’+‘或将多个字面字符串直接放到一起实现拼接,例如:
print("李明说:"+'I‘m a teacher.')
print('a''b''c''d')

字符串操作 

1. 复制:使用*可以实现字符串复制

a = "abc" * 3
print(a) #abcabcabc

2. 不换行打印

我们前面调用 print 时,会自动打印一个换行符”\n“。有时,我们不想换行,不想自动添加换行符。我们可以自己通过print()函数的参数 end = “任意字符串”。实现末尾添加任何内容
a = "abc" * 3
print(a, end="d") #abcabcabcd

3. 使用[]提取字符串中的字符,可取单个字符

4. 使用replace()函数不可改变原字符串。但是,我们确实有时候需要替换某些字符。这时,只能通过创建新的字符串来实现。

a = "abc" * 3
a.replace('c', 'd')
print(a) #abcabcabc
a = a.replace('c', 'd')
print(a) #abdabdabd

5. 切片

切片 slice 操作可以让我们快速的提取子字符串。标准格式为:
[起始偏移量 start:终止偏移量 end:步长 step]
[ start, end)左闭右开,如果有负值代表反向提取
a = "abcdef"
print(a[1:5:2]) #bd
a = "to be or not to be"
print(a[::-1]) #倒序输出
b = "sxtsxtsxtsxtsxt"
print(b[0::3]) #将所有的s输出
6.  字符串的函数:分词split() 与 合并join()
split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔
符,则默认使用空白字符(换行符/空格/制表符)。
a = "to be or not to be"
print(a.split()) #['to', 'be', 'or', 'not', 'to', 'be']
print(a.split('to')) #['', ' be or not ', ' be']
join()的作用和 split()作用刚好相反,a.join(list) 是以该字符串作为分隔符,把整个字符串列表拼接在一起。
a = ['I', 'am', 'a', 'teacher', "!"]
print(' '.join(a)) #I am a teacher !

7. 字符串比较

我们可以直接使用==, !=对字符串进行比较,是否含有相同的字符。
我们使用 is / not is,判断两个对象是否同一个对象。比较的是对象的地址,即 id(obj1)是
否和 id(obj2)相等。
str1 = "aa"
str2 = "bb"
print(str1 + str2 == "aabb") #True
print(str1 + str2 is "aabb") #False 
in /not in 关键字,判断某个字符(子字符串)是否存在于字符串中。
a = "aabb"
print("ab" in a) #True
print("c" in a) #False

8. 字符串常用方法总结

len(str) - 字符串长度

str1.find(str2) - 第一次出现指定字符串的下标

str1.count(str2) - 指定字符串出现了几次

str.strip(inf) - 去掉字符串首尾指定字符序列,默认为空格换行或tab

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值