• python_循环语句


    #循环语句
    #打印1到10
    # print(1,2,3,4,5,6,7,8,9,10)#如果打印大于10个,一个一个输入麻烦
    #用while循环实现,当while后面的表达式为真时,则执行while,直达表达式为假时,停止循环
    # i=1
    # while i<=10:
    # print(i)
    # i+=1#每次自增1,避免死循环
    #打印出来效果不一样,全部是换行
    # while i<=10:
    # print(i,end="")
    # i+=1#数字全部连着了,没有空格
    # else:
    # print(" ","打印完成")
    # while i<=10:
    # print(i,sep="",end=" ")#sep参数不起作用原因:print的*objects参数只有一个, 如果有多个就会用seq来分割
    # print(str1,str2,sep=' ',end='')
    # i+=1#数字全部连着了,没有空格
    # a = [1, 2, 3]
    # print(*a, sep='- ')#1- 2- 3
    #1到100,10个换行
    # while i<=100:
    # if i%10==0:
    # print(i)
    # else:
    # print(i,end=" ")
    # i+=1
    #for 循环实现
    # for i in range(1,11):
    # print(i,end=" ")#1 2 3 4 5 6 7 8 9 10
    #当循环次数不确定用while,当循环次数确定用for

    #遍历方法
    #方法1,
    # list1=["甲","乙","丙","丁","戊"]
    # for i in range(len(list1)):
    # print(list1[i],end=" ")
    #方法2
    # for one in list1:
    # print(one,end=" ")#甲 乙 丙 丁 戊

    #break跳出循环,continue终止本次循环,继续进行下一次循环
    # for i in range(1,10):
    # if i==5:
    # # break#终止循环,后面的语句不执行1 2 3 4
    # # continue#跳出本次循环,后面的语句不执行1 2 3 4 6 7 8 9
    # pass#占位符,后面的语句可以执行
    # print("干得不错哦")
    # else:
    # print(i,end=" ")
    # else:#循环本身也可以带有一个else语句,程序正常执行完会执行else里面的语句
    # print(" 循环执行完成")

    #用循环实现一个定时器
    import time
    # for i in range(10,-1,-1):
    # print(f"倒计时{i}秒")
    # time.sleep(1)
    #倒计时不在一行中,没有达到预期结果
    # for i in range(10,-1,-1):
    # print(f"倒计时{i}秒",end="")#倒计时10秒倒计时9秒倒计时8秒倒计时7秒倒计时6秒倒计时5秒倒计时4秒倒计时3秒倒计时2秒倒计时1秒倒计时0秒
    # time.sleep(1)
    #后面打印的需要覆盖前面的,也就是让光标回到行首
    # for i in range(2,-1,-1):
    # print(" ",f"倒计时{i}秒",end="",flush=True)##如果倒计时不刷新,可以加上flush=True
    # time.sleep(1)
    # else:
    # print(" ",f"倒计时结束",end="")
    str1='A girl come in, the name is Jack, level 955'
    # str2=str1.split("the name is")
    # print(str2)
    # print(type(str2))
    # print(str2[1].split(",")[0].strip())

    # def getName(srcstr):
    # str2=srcstr.split("the name is")[1]
    # str3=str2.split(",")[0].strip()
    # return str3
    # print(getName(str1))

    #可变不可变类型
    #可变类型:地址不变时,里面的值发生改变,但是对应的id不变
    #不可变类型:地址不变时,里面的值发生改变,对应的id也改变
    #结论:int、float、str、bool是不可变类型;list是可变类型;dict其中value可以是任意类型但是key必须是不可变类型
    #关于Python中的可变对象与不可变对象的区别https://blog.csdn.net/rookinzhang/article/details/80259857
    # def t2(para):
    # para=3
    # print(id(para))
    # b='a' #python中,不可变对象的引用称之为值引用,函数调用变量并修改值时,不会改变原变量的值
    # print(id(b))
    # t2(b)
    # print(b)

    # def t2(para):
    # para[0]=3
    # print(id(para))
    # b=[1] #python中,可变对象的引用称之为地址引用,函数调用该变量并修改值时,也会改变原变量的值,id 不变
    # t2(b)
    # print(b)
    # print(id(b))

    # def t2(para):
    # para=3
    # print(id(para))
    # b=[1] #函数中重新赋值了一个变量,和原变量没有什么联系
    # t2(b)
    # print(b)
    # print(id(b))

    #不可变对象实例
    #性质1:
    #首先,看一下int类型:
    # a=1
    # b=1
    # c=a+0
    # print(a is b)
    # print(a is c)
    #is是对两个变量的id是否相等做出判断如果相等那么返回true 否则返回false
    #可以发现上述代码最终结果是打印了两个true

    a1 = [1, 2, 3]
    a2 = a1
    print(id(a1), id(a2))
    # 实际上是a2指向了新的对象,id已经改变。
    # 所以现在a2、a1并不是同一对象的两个引用了,a2变化a1不会改变
    a2 = a2 + [4] # 这个等式中,右边的a2还是和a1的id一样的,一旦赋值成功,a2就指向新的对象
    print(id(1), id(a2)) # 不等,a2的id变化了
    print(a2)
    print(a1) # [1, 2, 3]没有变

    a1 = [1, 2, 3]
    a2 = a1
    print(id(a1), id(a2))
    a2 += [4] # 相当于调用了a2.extend([4]),原地改变并没有新的对象产生
    print(id(a1), id(a2)) # 相等,a2的id没有变化
    print(a2)
    print(a1)




  • 相关阅读:
    linux下配置java环境及问题
    Chrome工具使用
    Ibatis的resultMap和查询数据的对应关系
    spring mvc接收数组
    PowderDesign的使用
    Android Runtime Stats
    [原创]ASM动态修改JAVA函数之函数字节码初探
    [原创]WB Android客户端架构总结:发WB工作队列设计
    [原创]Android Studio的Instant Run(即时安装)原理分析和源码浅析
    [原创]Android系统中常用JAVA类源码浅析之HashMap
  • 原文地址:https://www.cnblogs.com/xiehuangzhijia/p/13795215.html
Copyright © 2020-2023  润新知