python简单学习3高级特征初探
编辑时间:2021-04-16 作者:金满斗 浏览量:1522 来源:原创

上代码吧,跟着教程走的,这本身就是个学习笔记。

切片



#!/usr/bin/env python3
# -*- coding: utf-8 -*-

#一些语言高级特性
#切片   及[x:y] 表示,也可以直接[:],表示取整个数组

#range()函数配合list可以生成0到x-1的数组
b = range(50);
lst = list(b);
print(lst[38:40]);

#取前10个数
print(lst[:10]);

#取后5个数
print(lst[-5]);

#取前10个数,每两个取一个
print(lst[:10:2]);

#取全部数,每5个取一个
print(lst[::5]);

#只用[:]可复制整个数组
print(lst[:]);

#试试截取字符串
str="  python 太变态,难怪有些人喜欢用,简化了太多  ";
print(str[2:10]);    #妮玛,居然自动识别中英文截取,牛x
print(len(str));

#做作业试试,利用切片函数实现去除首尾空
def trim(str):
    a = " ";
    stra = 0 ;  #查找的前空位置
    end = len(str);   #后位置
    for v in str:
       if(a==v):
           stra +=1 ;
       else:
           break;
    for v in str:
       nstr = str[end-1:end]
       if(a==v):
           end -=1 ;
       else:
           break;
    return str[stra:end];

#别人的,比我好太多,哈哈
def trim1(s):
    while s[:1] ==  " ":
        s = s[1:]  
    while s[-1:] == " ":
        s = s[:-1]
    return s

str = trim1(str);

print(str);

print(len(str));




#再来个递归形式的,还带参数检测
def trim(strs):
    if not isinstance(strs,(str)):
        raise TypeError('please give a string type')
    if strs[:1]==' ':#第一个是不是空
        return trim(strs[1:])
    if strs[:-2:-1]==' ':#strs[:-2:-1]或者strs[-1:]==' ' #最后一个是不是空 多种写法
        return trim(strs[:-1]) 
    return strs
    
mystr = trim("  python 太变态,难怪有些人喜欢用,简化了太多  ");
print(mystr);
print(len(mystr));

来说两句吧