学习Python的第六天

一.字符串及其切片(小补充)

从本质上讲,字符串是由多个字符构成的,字符间是有顺序的,这个顺序号就称为索引

1.获取单个字符,具体语法为

strname[index]

与列表一样,从左向右以0开始,从右向左以-1开始

实例

    url = 'http://c.biancheng.net/python/'
    #获取索引为10的字符
    print(url[10])
    #获取索引为 6 的字符
    print(url[-6])

i
y

2.获取多个字符(字符串切片)

具体格式为

strname[start : end : step]

strname为要截取的字符串,start不指定默认为0,end不指定默认为字符串的长度,step为步数

    url = 'http://c.biancheng.net/java/'
    #获取索引从3处22(不包含22)的子串
    print(url[7: 22]) # 输出 zy
    #获取索引从7处到-6的子串
    print(url[7: -6]) # 输出 zyit.org is very
    #获取索引从-7到6的子串
    print(url[-21: -6])
    #从索引3开始,每隔4个字符取出一个字符,直到索引22为止
    print(url[3: 22: 4])

运行结果

c.biancheng.net
c.biancheng.net
c.biancheng.net
pcaen

高级用法

    url = 'http://c.biancheng.net/java/'
    #获取从索引5开始,直到末尾的子串
    print(url[7: ])
    #获取从索引-21开始,直到末尾的子串
    print(url[-21: ])
    #从开头截取字符串,直到索引22为止
    print(url[: 22])
    #每隔3个字符取出一个字符
    print(url[:: 3])

c.biancheng.net/java/
c.biancheng.net/java/
http://c.biancheng.net
hp/bne.ta/

实际上我们第一,二组省略了end,step,第三组省略了start,第四组只给出了步数

那么,我们print(url[:: -1])就可以轻易做到将字符串翻转,因为第三位为负数时逆向读取

3.获取字符串长度或字节数

可用len函数,例如:

>>> a='http://c.biancheng.net'
>>> len(a)
22

我们获取字节数时,目前一般采用UTF-8编码方式,例如

>>> str1 = "人生苦短,我用Python"
>>> len(str1.encode())
27

4.spilt()方法:利用不同分隔符分隔

>>> str = "C语言中文网 >>> c.biancheng.net"
>>> str
'C语言中文网 >>> c.biancheng.net'
>>> list1 = str.split() #采用默认分隔符进行分割
>>> list1
['C语言中文网', '>>>', 'c.biancheng.net']
>>> list2 = str.split('>>>') #采用多个字符进行分割
>>> list2
['C语言中文网 ', ' c.biancheng.net']
>>> list3 = str.split('.') #采用 . 号进行分割
>>> list3
['C语言中文网 >>> c', 'biancheng', 'net']
>>> list4 = str.split(' ',4) #采用空格进行分割,并规定最多只能分割成 4 个子串
>>> list4
['C语言中文网', '>>>', 'c.biancheng.net']
>>> list5 = str.split('>') #采用 > 字符进行分割
>>> list5
['C语言中文网 ', '', '', ' c.biancheng.net']
>>>

二.三目运算符(条件运算符)

我们给出一个具体的例子,假设现在有两个数字,我们希望获取较大的一个,可使用if else语句

    if a>b:
        max = a;
    else:
        max = b;

然而python为我们提供了更简单的写法

max = a if a>b else b

格式即为 表达式1 if condion else 表达式2

上式含义为:如果a>b成立,就把a作为表达式的值,并赋给变量max

                     如果a>b不成立,就把b作为表达式的值,并赋给变量max

特别的,我们来看一下三目运算符的嵌套

a if a>b else c if c>d else d
应该理解为
a if a>b else ( c if c>d else d )

给个实例

a = int( input("Input a: ") )
b = int( input("Input b: ") )
print("a大于b") if a>b else ( print("a小于b") if a<b else print("a等于b") )
​

该程序先对a>b求值,如果该表达式为True,则执行第一个表达式,否则执行else后面的内容,即

 print("a小于b") if a<b else print("a等于b") )

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值