zoukankan      html  css  js  c++  java
  • python学习day05

    三个引号:①打印多行②注释

    集成开发环境(IDE)

      ①VIM:经典的linux下的文本编辑器

      ②Emacs:文本编辑器,比VIM更容易使用,linux

      ③Eclipse:java IDE,支持python,c,c++

      ④Visual Studio:微软的IDE

      ⑤notepad++,sublime(python开发的)

      ⑥pycharm:主要用于python开发的IDE

    Pycharm:

      ①code template:创建python时自动生成开头作者以及日期,"#"后面跟空格,截图有错误

    # __author: ${USER}
    # date: ${DATE}
    

    字符串格式化的输出:

    name = input("Name:")
    age = input("Age:")
    job = input("Job:")
    salary = input("Salary:")
    
    msg = '''
    ----- info is %s ------
    Name: %s
    Age: %s
    Job: %s
    Salary: %s
    --------- end ---------
    ''' % (name,name,age,job,salary)
    
    print(msg)
    占位符

    # %s: s == string

    # %d: d == digit
    # %f: f == float 浮点数, 约等于小数

    整型,长整型表示数字大小不一样,python3中不区分,python2中才区分

    布尔:只有两种状态

      ①真true

      ②假false

    标志位:flag

    username_true = "igenius"
    password_true = "123456"
    
    pass_authentication = False  # flag = 标志位
    
    for i in range(3):
        username = input("username=")
        password = input("password=")
    
        if username ==  username_true and password == password_true:
            print("welcome")
            pass_authentication = True 
            break#跳出,中断
        else:
            print("Incorrect username or password! Please try again")
    
    
    if not pass_authentication:
        exit(" inhibiting input")

     for循环后的else:

    username_true = "igenius"
    password_true = "123456"
    
    for i in range(3):
        username = input("username=")
        password = input("password=")
    
        if username ==  username_true and password == password_true:
            print("welcome")
            break#跳出,中断 #break, for后面的else不会执行
        else:
            print("Incorrect username or password! Please try again")
    else:  #只要for循环正常执行完毕,中间没有被打断(即没有被break),就会执行else语句
        exit(" inhibiting input")

    while循环后的else:

    username_true = "igenius"
    password_true = "123456"
    
    counter = 0
    
    while counter < 3:
        username = input("username=")
        password = input("password=")
    
        if username ==  username_true and password == password_true:
            print("welcome")
            break#跳出,中断 #若while被break,则后面的else不会被执行
        else:
            print("Incorrect username or password! Please try again")
        counter += 1
            
    else:       #只要while循环正常执行完毕,中间没有被打断(即没有被break),就会执行else语句
        exit(" inhibiting input")

     Debug模式:添加断点以及查看数据等

    break,continue

    exit_flag = False
    for i in range(10):
        if i > 5:
            continue  # continue 跳出当前一级循环的当次循环
        print(i)
        for j in range(10):
            print("level2", j)
            if j > 3:
                exit_flag = True
                break  # break 只能跳出当前一级的整个循环,不能跳出上一级的循环
        if exit_flag:
            break  # 通过标志位,可以在j>3的时候跳出该级循环,即实现了当j>3跳出了两级循环

    列表list:增删查改

    a = ["zhao", "qian", "sun", "li", "zhou", "wu", "zheng", "wang"]
    
    #
    #  冒号为切片slice
    print(a[2])
    print(a[2: 6])  # 左包括,右不包括,结果有a[2],没有a[6]
    print(a[2:])  # 冒号后面为空即为查询到最后一个
    print(a[2: 7: 1])  # 1为步长,默认即为1,从左向右一个接一个的查询
    print(a[2: 7: 2])  # 2为步长,默认为1,从左向右一个隔一个的查询
    print(a[2: 7: -1])  # -1为步长,其中"-"指从右向左,但是此时起始位置必须比结束位置大,否则查询为空
    print(a[7: 2: -1])  # 起始位置必须比结束位置大,否则查询为空
    print(a[7:: -1])  # 结束位置为从右向左的最后一个,即从左向右的第一个a[0]
    print(a[2: -1: 1])  # -1为倒数第二个
    
    #  添加
    #  append:直接加到列表最后一个
    #  insert:可以添加到任意位置
    a.append("feng")
    print(a)
    a.insert(1, 'chen')
    print(a)
    
    #  修改
    #  先查找出来再直接赋值
    a[2] = 'chu'
    print(a)
    a[1:3] = ['qian']
    print(a)
    
    #  删除
    #  remove:删除内容,把括号内的XX元素删除,只删除,不会返回删除的值
    #  pop:通过索引删除列表中的数据,并且返回删除的数据
    #  del:和列表没有关系,包含一切的删除
    a.remove('feng')# remove不能切片,即不能同时删除多个,只能将括号内作为一个整体删除
    a.remove(a[0])
    print(a)
    
    pop_test = a.pop(2)
    print(a)
    print(pop_test)
    
    del a[3]
    print(a)
    
    # del a
    # 直接将a对象从内存中删除了
    # print(a)
    # 此时再打印a则会报错,因为内存中已经没有对象a
    # NameError: name 'a' is not defined

    列表的常用函数,方法,功能,其中包含index查询重复元素、数据索引(下标)的方式,若查询多个,将方法循环即可

    a = [4, 2, 6, 8, 2, 4, 5, 9, 0]
    c = [1, 4, 3]
    b = a.count(2)  # 查询数据2在列表a中出现的次数
    print(b)
    
    a.extend(c)  # 将列表c添加到列表a中
    print(a)
    
    print(a.index(2))  # 查询某一个数据在列表中的索引
    # 列表中若有重复数据,只能查询第一个数据的索引(下标)
    # 若想查询第二个或者第三、第四个……
    # 先查询出第一个,通过切片,将第一个后面的切成一个小列表,再查询第二个在小列表中的索引,
    # 再通过第一个在大列表的索引+第二个在小列表的索引 得出第二个在大列表中的索引
    # 具体代码实现如下
    print(a)  # 输出[4, 2, 6, 8, 2, 4, 5, 9, 0, 1, 4, 3]
    # a列表即为big list
    # 切片出来的列表为little list
    first_index_in_big_list = a.index(2)
    little_list = a[first_index_in_big_list+1:]  # 如果不加一切片出来的列表将包含第一个2
    # 若不加1,切片的list为[2, 6, 8, 2, 4, 5, 9, 0, 1, 4, 3]
    print(little_list)
    second_index_in_little_list = little_list[2]
    second_index_in_big_list = first_index_in_big_list + 1 + second_index_in_little_list
    print(second_index_in_big_list)
    
    print(a)  # [4, 2, 6, 8, 2, 4, 5, 9, 0, 1, 4, 3]
    a.reverse()  # 将列表颠倒
    print(a)  #  [3, 4, 1, 0, 9, 5, 4, 2, 8, 6, 2, 4]
    
    a.sort()  # 默认为按照ASCII排序,从小到大[0, 1, 2, 2, 3, 4, 4, 4, 5, 6, 8, 9]
    print(a)
    a.sort(reverse=True)
    # reverse表示颠倒方向,默认为FALSE,改成TRUE则将从小到大颠倒排序,从大到小
    print(a)  # [9, 8, 6, 5, 4, 4, 4, 3, 2, 2, 1, 0]

    a.clear()  # 将列表清空

    # 判断对象是否是列表
    print(type(a) is list)
    # 返回TRUE
     
  • 相关阅读:
    关于android 中WebView使用Css
    android下面res目录
    Android View如何获取焦点
    用javascript修改html元素的class
    设计模式-观察者模式(List列表维护观察者)
    闭包->类的实例数组排序
    Javascript setTimeout 带参数延迟执行 闭包实现
    最简单的闭包 掰开揉碎
    原创最简单的ORM例子
    List<T> 转换 DataTable
  • 原文地址:https://www.cnblogs.com/igeniuswwh/p/11250394.html
Copyright © 2011-2022 走看看