• 学习python的第二天


    今天主要学习内容:

      1、常用数据类型及其内置方法

      2、文件处理

      3、函数

    一、数据类型

      1、列表类型

        定义:在[]内,可以存放多个任意类型的值,并以逗号隔开。

      如:

        

    #定义一个学生列表,可存放多个学生student = ['YuSheng','JieGuo','ChengZhang']print(student[1])

      优先掌握的操作:
                1)、按索引存取值(正向存取+反向存取):即可存也可以取
                2)、切片(顾头不顾尾,步长)
                3)、长度
                4)、成员运算in和not in
                5)、追加
                6)、删除
                7)、循环

    #1、按索引取值(正向取+反向取):可存可取
    #正向取
    student_info = ['YangGuo',84,'male',['泡8','喝酒']]
    #取所有的爱好print(student_info[3]) #取第二个爱好print(student_info[3][1]) #反向取print(student_info[-2])
    #2、切片(顾头不顾尾,步长)print(student_info[0:4:2])
    
    #3、长度print(len(student_info))
    
    #4、成员运算in和not inprint('YangGuo' in student_info)print('YangGuo' not in student_info)
    #5、追加
    #在student_info列表末尾追加一个值student_info.append('1997')print(student_info)
    
    #6、删除
    #删除列表索引为2的值del student_info[2]print(student_info)
    
    #7、循环
    for student in student_info:     print(student)

    需要掌握的:
                1)、index
                2)、count
                3)、pop
                4)、remove
                5)、insert
                6)、extend

    #需要掌握的
    student_info = ['YangGuo',84,'male',['泡8','喝酒'],84]
    #1、index获取列表中某个值的索引
    print(student_info.index(84))
    
    #2、count获取某个值的数量
    print(student_info.count(84))
    
    #3、取值,默认列表中最后一个值,类似删除
    #若pop()括号中写了索引,则取索引对应的值
    student_info.pop()
    print(student_info)
    #取出列表中索引为2的值,并赋值给sex
    sex = student_info.pop(2)
    print(sex)
    print(student_info)
    
    #4、移除
    student_info.remove(84)
    print(student_info)
    
    name = student_info.remove('YangGuo')
    print(name)
    print(student_info)
    
    #5、插入值
    #在student_info索引为3的地方插入Like
    student_info.insert(3,'Like')
    print(student_info)
    
    #6、extend合并列表
    student_info1 = ['YangGuo',84,'male',['泡8','喝酒'],84]
    student_info2 = ['YangYU',17,'female',['泡8','喝酒']]
    student_info2全部插入到student_info1中去
    student_info1.extend(student_info2)
    print(student_info1)

      2、元组类型

          定义:
                    在()内,可以存放多个任意类型的值,并以逗号隔开。
              注意:
                    元组与列表不一样的是,只能在定义时初始化值,不能对其进行修改。
              优点:
                    在内存中占用的资源比列表要小。

    优先掌握的操作:
                1)、按索引存取值(正向存取+反向存取):只能取
                2)、切片(顾头不顾尾,步长)
                3)、长度
                4)、成员运算in和not in
             5)、循环

        

    #元组定义:
    tuplel = (1,2,3,'','') #tuplel((1,2,3,'五','六'))
    print(tuplel)
    #1、按索引取值(正向取+反向取):只能取
    print(tuplel[2])
    
    #2、切片(顾头不顾尾,步长)
    从零开始切片到5-1,步长为3
     print(tuplel[0:5:2])
    
    #3、长度
    print(len(tuplel))
    
    #4、成员运算in和not in
    print(1 in tuplel)
    print(1 not in tuplel)
    
    #5、循环
    for line in tuplel:
        print(line)
        print默认end参数是
    
            print(line,end=' ')

      3、字典类型  

         作用:
                   在{}内,可存放多个值,以key-value存取,取值速度快。
              定义:
                   key必须是不可变类型,value可以是任意类型
    #定义字典
    dict1 = dict({'age' : 18 , 'name' : 'tank'})#dict1 = {'age' : 18 , 'name' : 'tank'}
    print(dict1)
    #取值,字典名加中括号,括号内写值对应的key
    print(dict1['age'])

    优先掌握的操作:

             1)、按key存储值;可存可取
                2)、长度
                3)、成员运算in和not in,只判断字典中的key
                4)、删除
                5)、键keys();值value;键值对items()
                6)、循环

    #1、按key存储值;可存可取
    #存一个level:9的值到dict1中去
    dict1['level'] = 9
    print(dict1)
    
    #2、长度
    print(len(dict1))
    
    #3、成员运算in和not in,只判断字典中的key
    print('name' in dict1)
    print('name' not in dict1)
    
    # 4、删除
    del dict1['level']
    print(dict1)  # {'age': 18, 'name': 'tank'}
    
    
    #5、键keys();值value;键值对items()
    #得到字典中所有的key
    print(dict1.keys)
    #得到字典中所有值value
    print(dict1.values())
    #得到字典中所有的items
    print(dict.items)
    
    #6、循环
    for key in dict1:
         print(key)
         print(dict1[key])

    字典中的一些取值方法:

      

    #get
    print(dict1.get('age'))
    
    #[]取值
    print(dict1['sex'])
    
    #get取值
    print(dict1.get('sex'))
    
    #若找不到为其设置一个默认值
    print(dict1.get('sex','male'))

    关于可变类型和不可变类型:

      不可变类型:

         变量的值修改后,内存地址一定不一样。

          如:

            数字类型(int float),字符串类型(str),元组类型(tuple)

      可变类型:

        列表类型(list),字典类型(dict)

    # 不可变类型
    # int
    number = 100
    print(id(number))  # 1434810944
    number = 111
    print(id(number))  # 1434811296
    # float
    sal = 1.0
    print(id(sal))  # 2771339842064
    sal = 2.0
    print(id(sal))  # 2771339841896
    
    str1 = 'hello python!'
    print(id(str1))  # 1975751484528
    str2 = str1.replace('hello', 'like')
    print(id(str2))  # 1975751484400
    
    
    # 可变类型:
    # 列表
    
    list1 = [1, 2, 3]
    
    list2 = list1
    list1.append(4)
    
    # list1与list2指向的是同一份内存地址
    print(id(list1))
    print(id(list2))
    print(list1)
    print(list2)

      3、 流程控制:

         if 判断:

              语法:
                  if 判断条件:
                      # 若条件成立,则执行此处代码
                        逻辑代码
                  elif 判断条件:
                      # 若条件成立,则执行此处代码
                        逻辑代码
                  else:
                        # 若以上判断都不成立,则执行此处代码
                        逻辑代码
    # 判断两数大小
    x = 10
    y = 20
    z = 30
    # 缩进快捷键,tab往右移动四个空格,shift + tab 往左移动四个空格
    if x > y:
        print(x)
    
    elif z > y:
        print(z)
    
    else:
        print(y)

        

          while循环
              语法:
                  while 条件判断:
                      # 成立执行此处
                        逻辑代码
              break  # 跳出本层循环
              continue  # 结束本次循环,进入下一次循环
    str1 = 'tank'
    # while循环
    while True:
         name = input('请输入猜测的字符: ').strip()
         if name == 'tank':
            print('tank success!')
                 break
         print('请重新输入! ')
     
  • 相关阅读:
    ssh工具推荐MobaXterm 可能是你遇到过的比较出色的一款
    IDEA不能读取配置文件,springboot配置文件无效、IDEA resources文件夹指定
    修改设置notepad++默认保存文件格式
    java jdk 8反编译工具JD-GUI、procyon-decompiler、luyten、crf下载使用简介
    Synchronized锁性能优化偏向锁轻量级锁升级 多线程中篇(五)
    java并发多线程显式锁Condition条件简介分析与监视器 多线程下篇(四)
    java多线程Lock接口简介使用与synchronized对比 多线程下篇(三)
    java 并发多线程 锁的分类概念介绍 多线程下篇(二)
    java 并发多线程显式锁概念简介 什么是显式锁 多线程下篇(一)
    sql修改二进制加密密码
  • 原文地址:https://www.cnblogs.com/fb1704011013/p/11087183.html
Copyright © 2020-2023  润新知