• 寒假自学(一)


    希望所有温柔又可爱的人最后都能幸福❤
    昨天刚回家,今天学习较少,康复阶段
    今日总结:

    代码量 300行
    博客量 一篇
    所学时间 4小时左右
    了解到的知识点 python列表、元组、字典、字符串

    明日计划:

    早上 python公共方法
    下午 python名片管理系统
    晚上 Scala入门

    今日学习具体内容:

    列表

    • Listpython中使用最频繁的数据类型,在其他语言中通常叫做数组
    • 列表用[]定义,数据之间使用分隔
    • 列表的索引0开始
      • 索引就是数据在列表中的位置编号,索引又可以被称为下标,不能超出索引范围

    针对列表的常用方法:

    使用函数名调用函数,调用方法要使用变量.

    append、count、insert、reverse、clear、extend、pop、sort、copy、index、remove

    name_list = ["zhangsan", "lisi", "wangwu"]
    
    print(name_list[2])
    
    print(name_list.index("lisi"))
    
    name_list[1] = "李帅"
    name_list.append("asjkhd")
    name_list.insert(4, "蒲")
    
    temp_list = ["swk", "zbj", "ssd"]
    name_list.extend(temp_list)
    
    name_list.remove("wangwu")
    name_list.pop()
    name_list.pop(3)
    name_list.clear()
    print(name_list)
    

    光标放在方法上按住CTRL+Q查看帮助

    deldelete的缩写,关键字delete可以删除列表元素

    该关键字本质上是将一个变量从内存中删除,不建议使用

    name_list = ["zhangsan", "lisi", "wangwu"]
    del name_list[1]
    name = "小明"
    del name
    print(name_list)
    

    len统计列表长度,count(数据)统计次数

    name_list = ["张三", "李四", "王五", "王小二", "张三"]
    list_len = len(name_list)
    print(list_len)
    count = name_list.count("张三")
    print(count)
    name_list.remove("张三")
    print(name_list)
    

    排序,sort,翻转reverse

    name_list = ["zhangsan","lisi","wangwu","wangxiaoer"]
    num_list = [6,8,4,1,0]
    #升序
    # name_list.sort()
    # num_list.sort()
    #降序
    # name_list.sort(reverse=True)
    # num_list.sort(reverse=True)
    #翻转
    name_list.reverse()
    num_list.reverse()
    print(name_list)
    print(num_list)
    

    所谓函数,是封装了一块独立代码,可以直接调用

    循环遍历

    • 从头到尾依次从列表中获取数据

    • 循环体内部针对每一个元素,执行相同的操作

    • python中为了提高列表的效率,专门提供的迭代遍历iteration遍历

    • 使用for就能够实现迭代遍历

      name_list = ["张三", "李四", "王五", "王小二"]
      
      for my_name in name_list:
          print("我的名字叫 %s" % my_name)
      

    元组

    • Tuple(元组)与列表类似,不同之处在于元组的元素不能修改
      • 元组表示多个元素组成的序列
      • 元组python开发中,有特定的应用场景
    • ()定义
    • 元组的索引从0开始

    只包含一个元素时,需要在元素后面加一个,

    python提供两个方法,countindex

    info_tuple = ("zhangsan", 18, 1.75, "zhangsan")
    
    for i in info_tuple:
        
        print(i)
    
    print(info_tuple[0])
    print(info_tuple.index("zhangsan"))
    
    print(info_tuple.count("zhangsan"))
    
    print(len(info_tuple))
    
    
    • 函数的参数和返回值,一个函数可以接收任意多个参数,或者一次性返回多个数据
      • 有关函数的参数和返回值,在后续的函数高级介绍
    • 格式字符串,格式化字符串后面的()本质上就是一个元组
    • 让列表不可以被修改,以保护数据安全

    使用tuple函数可以把列表转换成元组,使用list转换成列表

    info_tuple = ("小明", 21, 1.75)
    print("%s 年龄是 %d 身高是 %.2f" % info_tuple)
    
    info_str = "%s 年龄是 %d 身高是 %.2f" % info_tuple
    print(info_str)
    

    字典

    • dictionary字典是除列表外python之中最灵活的数据类型
    • 字典同样可以用来存储多个数据
      • 通常用于存储描述一个物体的相关信息
    • 和列表的区别
      • 列表有序的对象集合
      • 字典无序的对象集合
    • 字典用{}定义
    • 字典用键值对存储数据,键值对之间用,分隔
      • key是索引
      • value是数据
      • 之间使用:分隔
      • 键必须是唯一的
      • 可以取任何数据类型,但只能使用字符串、数字元组
    # 字典是无序的数据集合
    xiaoming_dict = {"name": "小明",
                "age": 18,
                "gender": True,
                "height": 1.75,
                "weight": 75.5}
    # 取值
    print(xiaoming_dict["name"])
    # 新增
    xiaoming_dict["age2"] = 18
    # 修改
    xiaoming_dict["name"] = "小小明"
    # 删除
    xiaoming_dict.pop("name")
    
    print(xiaoming_dict)
    

    常用操作

    xiaoming_dict = {"name": "小明",
                     "age": 18,
                     "gender": True,
                     "height": 1.75,
                     "weight": 75.5}
    print(len(xiaoming_dict))
    # 迭代遍历 k是每一次循环中获得的key
    for k in xiaoming_dict:
    
        print("%s - %s" % (k , xiaoming_dict[k]))
    
    # 合并
    temp_dict = {"height":1.75,
                 "age":20}
    xiaoming_dict.update(temp_dict)
    # 清空
    xiaoming_dict.clear()
    print(xiaoming_dict)
    

    应用场景

    # 字典+列表
    card_list = [
        {"name": "张三",
         "qq": 123456,
         "phone": "110"},
        {"name": "李四",
         "qq": 54321,
         "phone": "10086"}
    
    ]
    
    for card_info in card_list:
        print(card_info)
    

    字符串

    • 一串字符连起来的串
    • python中可以使用一对双引号"或者一对单引号'
      • 如果字符串内部需要使用"就用'定义
      • 如果字符串内部需要使用'就用"定义
    • 也可以使用索引获取一个字符串中指定位置的字符,索引计数从0开始
    • 也可以使用for循环遍历字符串中每一个字符

    一般使用"定义

    基本操作

    str1 = "hello python"
    str2 = '我的外号是"大西瓜"'
    print(str2)
    
    print(str1[6])
    
    for char in str2:
        print(char)
    
    # 统计字符串长度
    print(len(str1))
    
    print(str1.count("he"))
    print(str1.index("llo"))
    # print(str1.index("abc"))
    

    常用方法

    • 判断类型
    方法 说明
    string.isspace() 如果string中只包含空格或空白字符,返回True
    string.isalnum() 如果string至少有一个字符并且所有都是字母或者数字则返回True
    string.isalpha() 如果string至少有一个字符并且所有字符都是字母则返回True
    string.isdecimal() 如果string只包含数字则返回True,全角数字
    string.isdigit() 如果string只包含数字则返回True,全角数字、(1)、u00b2
    string.isnumeric() 如果string只包含数字则返回True,全角数字、汉字数字
    string.istitle() 如果string是标题化的(每个单词的首字母大写)则返回True
    string.islower() 如果string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True
    string.isupper() 如果string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回True
    # 判断空白字符串
    space_str = "        	
    
    "
    print(space_str.isspace())
    # 判断字符串是否只包含数字
    # 都不能判断小数
    # num_str = "1"
    # num_str = "u00b2"  # u表示转移00b2是unicode编码
    num_str = "一千零一"
    print(num_str)
    print(num_str.isdecimal())
    print(num_str.isdigit())
    print(num_str.isnumeric())
    
    • 查找和替换
    方法 说明
    string.startswith(str) 检查字符串是否以str开头,是则返回True
    string.endswitch(str) 检查字符串是否以str结束,是则返回True
    string.find(str,start=0,end=len(string)) 检测str是否包含在string中,如果start和end指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
    string.rfind(str,start=0,end=len(string)) 类似于find()函数,不过是从右边开始查找
    string.index(str,start=0,end=len(string)) 跟find()方法类似,只不过如果str不在string会报错
    string.rindex(str,start=0,end=len(string)) 类似于index(),不过是从右边开始
    string.replace(old_str,new_str,num=string.count(old)) 把string中old_str替换成new_str,如果num指定,则替换不超过num次
    hello_str = "hello world"
    # 开始
    print(hello_str.startswith("Hello"))
    # 结束
    print(hello_str.endswith("world"))
    
    # 查找
    print(hello_str.find("llo"))
    # 替换
    # replace不会修改原有字符串,但会返回新字符串
    print(hello_str.replace("world", "python"))
    
    print(hello_str)
    
    • 大小写转换
    方法 说明
    string.capitalize() 把字符串的第一个字符大写
    string.title() 把字符串的每个单词首字母大写
    string.lower() 转换string中所有大写字符为小写
    string.upper() 转换string中的小写字母为大写
    string.swapcase() 翻转string中的大小写
    • 文本对齐
    方法 说明
    string.ljust(width) 返回一个原字符串左对齐,并使用空格填充至长度width的新字符串
    string.rjust(width) 返回一个原字符串右对齐,并使用空格填充至长度width的新字符串
    string.cente(width) 返回一个原字符串居中,并使用空格填充至长度width的新字符串
    poem = ["登鹳雀楼",
            "王之涣",
            "白日依山尽",
            "黄河入海流",
            "欲穷千里目",
            "更上一层楼"]
    for i in poem:
        print("|%s|" % i.center(10, " "))
    for i in poem:
        print("|%s|" % i.ljust(10, " "))
    for i in poem:
        print("|%s|" % i.rjust(10, " "))
    
    • 去除空白字符
    方法 说明
    string.lstrip() 截掉string左边(开始)的空白字符
    string.rstrip() 截掉string右边(末尾)的空白字符
    string.strip() 截掉string左右两边的空白字符
    poem2 = ["	
    登鹳雀楼",
            "王之涣",
            "白日依山尽	
    ",
            "黄河入海流",
            "欲穷千里目",
            "更上一层楼"]
    for i in poem2:
        print("|%s|" % i.strip().ljust(10, " "))
    
    • 拆分和连接
    方法 说明
    string.partition(str) 把字符串string分成一个3元素的元组(str前面,str,str后面)
    string.rpartition(str) 类似于partition()函数,不过是从右边开始查找
    string.split(str="",num) 以str为分隔符切片string,如果num有指定值,则仅分隔num+1个子字符串,str默认包含’ ‘,' ',' '和空格
    string.splitlines() 按照行(' ',' ',' ')分隔,返回一个包含各行作为元素的列表
    string.join(seq) 以string作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串
    poem_str = "登鹳雀楼	王之涣	白日依山尽	
    黄河入海流		欲穷千里目	更上一层楼"
    print(poem_str)
    poem_list = poem_str.split()
    print(poem_list)
    result = " ".join(poem_list)
    print(result)
    

    字符串切片

    poem_str = "登鹳雀楼	王之涣	白日依山尽	
    黄河入海流		欲穷千里目	更上一层楼"
    print(poem_str)
    poem_list = poem_str.split()
    print(poem_list)
    result = " ".join(poem_list)
    print(result)
    
    print(poem_str[2:6])
    print(poem_str[::6])
    
    print(result[-1])
    print(result[1::2])
    print(result[2:-1])
    # 末尾两个
    print(result[-2:])
    # 逆序
    print(result[-1::-1])
    

    (理解成for循环的3个参数,开始,终止,步长)

  • 相关阅读:
    django创建项目,一个简单的登录。
    MySQL下载与安装
    查看拉去代码时候的git账号密码
    Springmvc-组件
    转发与重定向
    springMVC-常用注解
    springMVC-请求参数绑定
    SpringMVC-RequestMapping注解
    JAVA-异常处理
    springMVC-入门案例
  • 原文地址:https://www.cnblogs.com/125418a/p/14227599.html
Copyright © 2020-2023  润新知