• Python第二周Round1记录—其他入门知识


    开始第二周的学习,白天上班,晚上码字,感觉自己萌萌哒,接近年底,事务繁忙,明天又有检查,今天坐了一天的ppt,这感觉真的是听酸爽的,mmp的。

    上周,武老师讲的内容还有一点没记录的,先写到这里占个楼。

    一、字符串的内存使用机制

    说实话,不知道这个有什么用,先占个楼,后续遇到了,在回来进行修正。

    记住以下内容,适用于所有的语言,包括C语言:

    (一)字符串在内存中一旦创建,不可修改;

    (二)一旦在程序中对创建的字符串进行修改,都会重新创建一个字符串,并写入内存。

    我大概明白怎么回事,至于有diao用,后续在实践吧。


    二、其他基础知识的一些补充

    (一)索引、切片功能,[ ]方法

    1.索引,用str[n],表示字符串中的第几个字符是啥,在列表,元祖和字典中也适用;

    2.切片,用str[n:n+j],表示的是字符串中的一段字符是啥,在列表,元祖中使用,字典因为是无序的,不适用于切片(此内容需要完善,后续如果有错,在回来纠正)。

    其中,n,j都是整数。

    用法:对字符串使用索引、切片,[ ]方法,从0开始,指出指定位置的字符是啥。

    #索引,下标,获取字符串中的某一个字符
    str="我是小果果"
    v1=str[3]
    v2=str[0:-1]#-1是从右边开始数第一个数,左闭右开原则
    print(v1,v2)#输出 果 我是小果
    

      

    (二)len()方法

    用法:对字符串使用len()方法,可以获取当前字符串的长度,从0开始.

    Python 2中,如果str为中文字符,一个中文字符则占用3个长度。

    join和len在列表,元祖中也可以使用。

    str="小果果是只小狗"
    v=len(str)
    print(v)#输出结果为7
    

      

    (三)for循环语句

    用法:按照顺序循环可迭代对象中的内容,break、continue、pass等语句也可以在for循环中使用。
    Python中的两种循环,while和for,区别是:while循环之前,先判断一次,如果满足条件的话,再循环,for循环的时候必须有一个可迭代的对象,才能循环。
    str="小果果是只小狗"
    for s1 in str:
        print(s1)#顺序输出str中的字符,自带
    换行。
    

      

    (四)range()语句

    用法:指定范围,生成指定的数字

    在Python3中,因为内存优化机制,在不使用时候,range是不会输出的,比如print(range(1,10))#输出为range(1,10)。

    for s1 in range(1,10,2):#括号内的3个参数分别是 最小值、最大值、步长
        print(s1)
    

      

    (五)enumerate()

    用法:enumerate在字典上是枚举、列举的意思,

    #对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。

    #enumerate多用于在for循环中得到计数。

    str='我是小果果'
    for index, item in enumerate(str):
        print(index,item)
    '''
    输出
    0 我
    1 是
    2 小
    3 果
    4 果
    '''
    

      


    这次学习的东西在实践中可以有很好的应用,基本的这些玩意还是需要多加学习的~
    下面这道题,有点意思,不仔细想想,容易把人绕晕。
    # 练习:把用户每个输入的字符,按顺序输出,并在字符前面标注序号。
    str=input('请输入任意东西>>>')
    l=len(str)
    s=range(l)
    for i in s:
        print(i,str[i])
    
    print('============')
    

      代码基本上实现了功能,下面写一写自己的心得:

    (1)一定要对for循环有个清醒的认识,for循环如果没有可变的‘东西’(因为涉及的可动的太多,统称东西吧),他是不会运行的,或者说是会报错。所以,for循环+range()组合基本上是最常用的组合之一了吧。就是顺序输出的典型。

    (2)while语句一般都是需要条件的,和for循环对比,用while语句的思路不太一样,代码如下:

    #while循环实现逐个输出:
    str='小果果一身的狗毛'
    i=0
    while i<len(str):
        print(str[i])
        i+=1
    #for循环实现逐个输出: str='小果果一身的狗毛' for i in str: print(i)

      区别还是很明显的,while语句中定义的i,是为了找到一个变化的int来满足其循环条件;而for语句中定义的i,是为了可以乘载它拿出来的数据的一个载体;

    所以说,以后对于遇到循环的问题,如果涉及到判断,用while语句,而如果涉及到逐个输出的问题,一定是用for语句。两者生而不同。


    字符串是 %s
    整数 %d
    浮点数%f 
     
  • 相关阅读:
    weakself的另一种写法
    SDWebImage的使用说明
    关于AVPlayerItem对象的属性duration返回播放总时长的坑
    Xcode 问题
    循环引用问题
    使用Spring Animation的API创建动画
    iOS触摸事件处理
    OS开发中的事件处理(二)-事件传递,响应者链条
    python实现简单的百度云自动下载
    我眼中的K-近邻算法
  • 原文地址:https://www.cnblogs.com/cnafzyx/p/10134243.html
Copyright © 2020-2023  润新知