『行远见大』手把手教你学 Python:基础篇(二)

本文是Python基础篇(二),涵盖格式化输出及列表、元组、字典、集合的相关知识。讲解了字符串引号用法与format函数,详述列表的增删改查、排序等操作,介绍元组不可修改特性,说明字典键值对操作,解释集合去重及交并差集等,还附小练习与练习题。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

『行远见大』手把手教你学 python:基础篇(二) - 创想鸟

『行远见大』手把手教你学 Python:基础篇(二)

项目简介

『行远见大』手把手教你学 Python 系列,100天从零基础小白华丽转变成深度学习大佬。同学你相信奇迹吗?相信的话,那就努力学习进步吧,时间会告诉你答案的!

本章内容

格式化输出列表 List元组 Typle字典 Dict集合 Set

致敬开源

大家好,我是行远见大。欢迎你与我一同建设飞桨开源社区,知识分享是一种美德,让我们向开源致敬!

欢迎来到这里,我会毫无保留地分享我学习 Python 的笔记与心得,让我们一起愉快地学习吧!

格式化输出

单引号、双引号、三引号用处

In [ ]

# 使用反斜杠,实现转义字符的功能print("")              # 打印反斜杠# print("")             # 非法输出print("a")             # 空个tab再打印aprint("helloworld!")   #  实现文本换行# 但在字符串前面加r,表示直接显示原始字符串,不进行转义print(r"helloworld!")

       

ahelloworld!helloworld!

       In [ ]

# 单引号、双引号都能用作转义字符和输出文本sentence1 = 'I'm a programmer.'sentence2 = "K&R said "Hello, world!""# 妙用单引号、双引号可以使书写更优雅sentence3 = 'K&R said "Hello, world!"'print(sentence1)print(sentence2)print(sentence3)'''三引号用来注释段落'''paragraph = '''这是一个由多行句子构成的段落'''print(paragraph)

       

I'm a programmer.K&R said "Hello, world!"K&R said "Hello, world!"这是一个由多行句子构成的段落

       

format 函数

In [ ]

print("1." + "{0} said "{1}, {2}!"".format("K&R","Hello","world"))print("2." + '{a} said "{b}, {c}!"'.format(a="K&R",b="Hello",c="world"))print("3." + '{0} said "{b}, {c}!"'.format("K&R",b="Hello",c="world"))# print("4." + '{a} said "{b}, {2}!"'.format(a="K&R",b="Hello","world"))  # 非法输出

       

1.K&R said "Hello, world!"2.K&R said "Hello, world!"3.K&R said "Hello, world!"

       

『行远见大』手把手教你学 Python:基础篇(二) - 创想鸟        

In [ ]

print("{0}".format("打印文本内容"))print("{{0}}".format("不打印文本内容"))# 打印浮点数,会四舍五入print("{0:.1f}{1}".format(12.345,"GB"))print("{0:.2f}{1}".format(12.345,"GB"))print("{0:.3f}{1}".format(12.345,"GB"))

       

打印文本内容{0}12.3GB12.35GB12.345GB

       

列表 List

列表可以完成大多数集合类的数据结构实现。列表中的元素的类型可以不相同,它支持数字、字符串甚至可以包含列表(所谓嵌套)。

立即学习“Python免费学习笔记(深入)”;

列表是写在方括号[ ],用逗号分隔开的元素列表。

列表引值是以0位开始值,-1为从末尾的开始位置。

列表可以使用 + 操作符进行拼接,使用 * 表示重复。

列表的基础操作

In [ ]

# Python自带的List文档# list?# help(list)# dir(list)

   In [ ]

list1 = [123]list2 = [456]print(list1 > list2)print(list1  list2) and (list3 == list4))print((list1 > list2) or (list3 == list4))

       

FalseTrue[123, 456]FalseTrue

       In [ ]

str = "shanghai"print(str)print(str[0])               # 打印单个元素print(str[0:5])             # [起始位置:结束位置:步进值]print(str[0:8:2])print(str[:6])              # 左闭右开print(str[6:])print(str + " 魔都")        # 使用 + 操作符进行字符串拼接print(str * 3)              # 使用 * 操作符进行字符串重复打印print((str+" ") * 3)

       

shanghaisshangsagashanghaishanghai 魔都shanghaishanghaishanghaishanghai shanghai shanghai

       In [ ]

# 列表中可以存储混合类型testlist = [1, "列表"]print(type(testlist[0]))print(type(testlist[1]))

       


       

打印列表中元素的方法

In [ ]

namelist = ["A", "B", "C"]print(namelist[0], namelist[1], namelist[2])# 用for循环语句打印列表里的元素,其优点是只需要两行代码for name in namelist:    print(name)# len()可以得到列表的长度print(len(namelist))# 用while循环语句打印列表里的元素,其优点是可以通过下标的变化,拿到每一个项,并对它们进行操作。length = len(namelist)i = 0while i < length:    print(namelist[i], end=" ")    i += 1

       

A B CABC3A B C

       

列表的增、删、改、查操作

增:append 函数、extend 函数、insert 函数

In [ ]

# append 函数,在末尾追加一个元素namelist = ["A", "B", "C"]for name in namelist:    print(name, end=" ")nametemp = input("请输入添加学生的姓名:")namelist.append(nametemp)# 打印增加姓名后列表的数据for name in namelist:    print(name, end=" ")

       

A B C 请输入添加学生的姓名:A B C D

       In [ ]

# extend 函数a = [1, 2, 3]b = [4, 5, 6]a.append(b)     # 将列表当成一个元素,加入到 a 列表中print(a)        # 形成了列表的嵌套a = [1, 2, 3]a.extend(b)     # 将 b 列表中的每个元素,逐一追加到列表中print(a)

       

[1, 2, 3, [4, 5, 6]][1, 2, 3, 4, 5, 6]

       In [ ]

# 查看列表嵌套的元素schoolname = [["北京大学","清华大学"],["上海大学","浙江大学"],["厦门大学","中山大学"]]print(schoolname[0])print(schoolname[0][0])print(schoolname[1])print(schoolname[1][0])

       

['北京大学', '清华大学']北京大学['上海大学', '浙江大学']上海大学

       In [ ]

# insert 函数a = [1, 2, 3]a.insert(1, 0)  # 第一个变量表示下标,第二个变量表示元素(对象)print(a)        # 指定下标位置插入元素

       

[1, 0, 2, 3]

       

删:delete 函数、pop 函数、remove 函数

In [ ]

namelist = ["A", "B", "C", "D", "E"]# delete 函数,在指定位置删除一个元素del namelist[2]# pop 函数,弹出末尾最后一个元素namelist.pop()# remove 函数,删除指定内容的元素namelist.remove("D")# 打印删除元素后,列表里剩余的数据for name in namelist:    print(name, end=" ")

       

A B

       In [ ]

namelist = ["A", "B", "C", "B", "B"]# 注意:如果列表有重复内容,remove只删除第一个namelist.remove("B")for name in namelist:    print(name, end=" ")

       

A C B B

       

改:修改单个或一段元素

In [ ]

namelist = ["A", "B", "C"]# 修改指定下标的元素内容namelist[1] = "D"for name in namelist:    print(name, end=" ")

       

A D C

       In [ ]

# 修改一段元素a = range(7)b = list(a)b[3:5]=(8, 9)print(b)

       

[0, 1, 2, 8, 9, 5, 6]

       

查:count 函数、index 函数

In [ ]

# count 函数对列表中的某一元素进行计数mylist = ["a","b","c","a","b"]print(mylist.count("a"))mylist.count("c")

       

2

       

1

               In [ ]

# index 函数用以搜索在list中第一个出现的元素mylist = ["a","b","c","a","b"]# 可以查找指定下标范围的元素,并返回找到对应数据的下标print(mylist.index("a",1,4))  print(mylist.index("a",0,4))    # 只会找到重复内容的第一个元素print(mylist.count("a"))        # 统计某个元素出现了几次# print(mylist.index("a",1,3))  # 找不到会报错,因为范围区间,左闭右开 [1,3)

       

302

       

『行远见大』手把手教你学 Python:基础篇(二) - 创想鸟        

In [ ]

# in/not in 判断元素是否在列表中mylist = ["a","b","c","a","b"]"C" in mylist

       

False

               In [ ]

mylist = ["a","b","c","a","b"]"D" not in mylist

       

True

               In [ ]

# 用if语句查找列表中的元素alphabet = input("请输入一个英文字母:")if alphabet in mylist:    print("在列表中找到了相同的英文字母:%s" % alphabet)else:    print("没有找到")

       

请输入一个英文字母:在列表中找到了相同的英文字母:b

       

排序和反转

In [ ]

# 升序a = [1, 4, 5, 2, 3]# sort(reverse=false),默认等于Falsea.sort()print(a)# 降序a = [1, 4, 5, 2, 3]a.sort(reverse=True)print(a)a = [1, 4, 5, 2, 3]# 将列表所有元素反转a.reverse()print(a)

       

[1, 2, 3, 4, 5][5, 4, 3, 2, 1][3, 2, 5, 4, 1]

       In [ ]

# 分片拷贝list1 = [5, 6, 7, 8, 9, 0, 1, 2]list2 = list1[:]list3 = list1list1.sort()print(list1, list2, list3)# 如果没有[:],list2就会像list3那样随着list1改变而改变,list2是把list1里的值作为一条新的数据进行存储,而list3只是把数据指向了list1

       

[0, 1, 2, 5, 6, 7, 8, 9] [5, 6, 7, 8, 9, 0, 1, 2] [0, 1, 2, 5, 6, 7, 8, 9]

       

小练习

有三个办公室123,有八位老师abcdefgh,要求八位老师随机分配到三个办公室。

In [ ]

import random# 创建有3个元素的空列表,每个元素都是一个空列表offices = [[],[],[]]names = ["a","b","c","d","e","f","g","h"]for name in names:    index = random.randint(0,2)   # 三个办公室    offices[index].append(name)   # 八位老师一个一个地添加入officesi = 1for office in offices:    # 用 len()长度表示办公室老师人数    print("办公室 %d 的人数为:%d" % (i,len(office)))    i += 1    for name in office:        print("%s" % name , end="")    print(" ")    print("-"*20)

       

办公室 1 的人数为:2fg --------------------办公室 2 的人数为:3acd --------------------办公室 3 的人数为:3beh --------------------

       

元组 Tuple

Tuple 与 List 类似,不同之处在于 Tuple 的元素不能修改。Tuple 写在小括号里,元素之间用逗号隔开。注意:即使是定义一个只有1个元素的 Tuple,也必须加逗号,如”tuple1 = (1, )”。元组的元素不可变,但可以包含可变的对象,如 List。

元组的基础操作

In [ ]

# Python自带的Tuple文档# tuple?# help(tuple)# dir(tuple)

   In [ ]

tup1 = ()           # 创建空的元组print(type(tup1))tup2 = (1)print(type(tup2))   # 这不是元组,这是整型tup3 = (1, )print(type(tup3))tup4 = (1, 2, 3)print(type(tup4))

       


       In [ ]

'''操作名称:其它类型对象转换成元组操作方法:把对象放在里边,输出出来的就是元组了'''mylist = [1, 2, 3, 4]tup5 = tuple(mylist)print(type(tup5))'''操作名称:元组的成员关系操作方法:in/not in'''tup6 = (1, 2, 3, 4)print(2 in tup6)print(5 not in tup6)'''操作名称:得到重复元素数量操作方法:count() 函数操作名称:获取元组长度操作方法:len() 函数操作名称:获取元组元素最大值操作方法:max()操作名称:获取元组元素最小值操作方法:min()'''tup7 = (0, 1, 1, 1, 1, 1, 2, 2, 3)print(tup7.count(1))print(len(tup7))print(max(tup7))print(min(tup7))# 元组的标志是括号内有逗号tup8 = (8, )print(tup8 * 8)tup9 = (8)print(tup9 * 8)

       

TrueTrue5930(8, 8, 8, 8, 8, 8, 8, 8)64

       

元组的增、删、改、查操作

In [ ]

tup1 = ("abc", "def", "123", "456", "789")print(tup1[0])        # 访问元组中的元素,通过下标直接访问print(tup1[-1])       # 访问最后一个元素print(tup1[1:4])      # 左闭右开,进行切片tup2 = (123, 456)tup3 = ("abc", "def")tup4 = tup2 + tup3    # 元组的加法操作print(tup4)tup5 = tup4del tup5              # 删除了整个元组变量# print(tup5)         # 会报错,tup5已被删除

       

abc789('def', '123', '456')(123, 456, 'abc', 'def')

       

『行远见大』手把手教你学 Python:基础篇(二) - 创想鸟        

In [ ]

# 修改元组元素tup6 = (1,2,3,4,5,6,7,8)# tup6[1] = 0         # 非法操作# 更新和修改一个元组的方法是用分片tup7 = tup6[:1] + (0,) + tup6[2:]tup7

       

(1, 0, 3, 4, 5, 6, 7, 8)

               

『行远见大』手把手教你学 Python:基础篇(二) - 创想鸟        

字典 Dict

字典是无序的对象集合,使用键-值(key-value)存储,具有极块的查找速度。键必须使用不可变类型。同一个字典中,键必须是唯一的。

字典的基础操作

In [ ]

# Python自带的Dict文档# dict?# help(dict)# dir(dict)

   In [ ]

# 字典的定义info = {"name":"行远见大", "nickname":"魔都吴彦祖"}# 字典的访问print(info["name"])print(info["nickname"]) # print(info["age"])               # 访问了不存在的键,会报错print(info.get("age"))             # 使用get方法,没有找到对应的键,默认返回:Noneprint(info.get("age","18"))        # 没找到的时候,可以设定默认值print(info.get("name","行远见大")) # 找到则返回原值

       

行远见大魔都吴彦祖None18行远见大

       In [ ]

info = {"name":"行远见大", "nickname":"魔都吴彦祖"}# 遍历字典中key、value、itemfor each_key in info.keys():print(each_key)for each_value in info.values():print(each_value)for each_item in info.items():print(each_item)

       

namenickname行远见大魔都吴彦祖('name', '行远见大')('nickname', '魔都吴彦祖')

       In [ ]

# fromkeys函数mydict = {}                                              # 新建一个空白字典print(mydict.fromkeys((1, 2, 3)))                        # 添加键print(mydict.fromkeys((1, 2, 3), "number"))              # 添加值print(mydict.fromkeys(range(1, 4), "number"))print(mydict.fromkeys((1, 2, 3), ("one","two","three"))) # 添加多个值

       

{1: None, 2: None, 3: None}{1: 'number', 2: 'number', 3: 'number'}{1: 'number', 2: 'number', 3: 'number'}{1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}

       In [ ]

a = {1:"one", 2:"two", 3:"three"}b = a.copy()c = aprint(b)print(c)# b = a.copy() 是浅拷贝在内存中的位置是不一样的,c = a 是赋值在内存中的位置是一样的print(id(a), id(b), id(c))

       

{1: 'one', 2: 'two', 3: 'three'}{1: 'one', 2: 'two', 3: 'three'}140180218566608 140180219063584 140180218566608

       In [ ]

c = {1:"one", 2:"two", 3:"three"}c[4] = "four"print(a)print(b)print(c)

       

{1: 'one', 2: 'two', 3: 'three', 4: 'four'}{1: 'one', 2: 'two', 3: 'three'}{1: 'one', 2: 'two', 3: 'three', 4: 'four'}

       

字典的增、删、改、查操作

In [ ]

# 增info = {"name":"行远见大", "nickname":"魔都吴彦祖"}my_age = input("请输入你的年龄:")info["age"] = my_ageprint(info["age"])print(info)# setdefault 函数info = {"name":"行远见大", "nickname":"魔都吴彦祖"}info.setdefault("age", "19")print(info)# update 函数info = {"name":"行远见大", "nickname":"魔都吴彦祖"}my_age = {"age": "20"}info.update(my_age)print(info)

       

请输入你的年龄:18{'name': '行远见大', 'nickname': '魔都吴彦祖', 'age': '18'}{'name': '行远见大', 'nickname': '魔都吴彦祖', 'age': '19'}{'name': '行远见大', 'nickname': '魔都吴彦祖', 'age': '20'}

       In [ ]

# 删# del 方法info = {"name":"行远见大", "nickname":"魔都吴彦祖"}del info["name"]print("删除name后:%s" % info)# print("删除后:%s" % info["name"])  # 删除了指定键值对后,再次访问会报错info = {"name":"行远见大", "nickname":"魔都吴彦祖"}print("删除前:%s" % info)del info# print("删除后:%s" % info)          # 删除字典后再访问,报错# clear 函数info = {"name":"行远见大", "nickname":"魔都吴彦祖"}print("清空前:%s" % info)info.clear()print("清空后:%s" % info)            # 返回一个空的字典

       

删除name后:{'nickname': '魔都吴彦祖'}删除前:{'name': '行远见大', 'nickname': '魔都吴彦祖'}清空前:{'name': '行远见大', 'nickname': '魔都吴彦祖'}清空后:{}

       In [ ]

# new_dic没有随info的变化而变化,即没删干净info = {"name":"行远见大", "nickname":"魔都吴彦祖"}new_dic = infoinfo = {}print(info)print(new_dic)print("-" * 50)# new_dic随info的变化而变化info = {"name":"行远见大", "nickname":"魔都吴彦祖"}new_dic = infoprint(info)info.clear()print(info)print(new_dic)

       

{}{'name': '行远见大', 'nickname': '魔都吴彦祖'}--------------------------------------------------{'name': '行远见大', 'nickname': '魔都吴彦祖'}{}{}

       In [ ]

my_dict = {1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five'}print(my_dict.pop(2))     # pop 函数弹出对应键的值print(my_dict.popitem())  # popitem 函数是弹出最后一个项

       

two(5, 'five')

       In [ ]

# 改info = {"name":"行远见大", "nickname":"魔都吴彦祖"}info["nickname"] = "上海吴彦祖"print(info["nickname"])

       

上海吴彦祖

       In [ ]

# 查# 字典的查询有两部分,键的查询和值的查询info = {"name":"行远见大", "nickname":"魔都吴彦祖", "age":18}print(info.keys())      # 得到所有的键:dict_keys(['name', 'nickname', 'age'])print(info.values())    # 得到所有的值:dict_values(['行远见大', '魔都吴彦祖', 18])print(info.items())     # 得到所有的项,每个键值对是一个元组# 遍历所有的键for key in info.keys():    print(key)# 遍历所有的值for value in info.values():    print(value)# 遍历所有的键值对for key,value in info.items():    print("keys = %s, ""value = %s" % (key, value))

       

dict_keys(['name', 'nickname', 'age'])dict_values(['行远见大', '魔都吴彦祖', 18])dict_items([('name', '行远见大'), ('nickname', '魔都吴彦祖'), ('age', 18)])namenicknameage行远见大魔都吴彦祖18keys = name, value = 行远见大keys = nickname, value = 魔都吴彦祖keys = age, value = 18

       In [ ]

mylist = ["a","b","c","d"]for x in mylist:    print(x)# 使用枚举函数 enumerate,同时拿到列表中的下标和元素内容for i,x in enumerate(mylist):    print(i+1, x)

       

abcd1 a2 b3 c4 d

       

集合 Set

Set 和 Dict 类似,也是一组 key 的集合,但不存储 value。由于 key 不能重复,所以在 Set 中没有重复的 key。Set 是无序的,重复元素在 Set 中自动被过滤。Set 可以看成数学意义上的无序和无重复元素的集合,因此,两个 Set 可以做数学意义上的交集(&)、并集(|)、差集(-)等操作。

集合的基础操作

In [ ]

# Python自带的Set文档# set?# help(set)# dir(set)

   In [ ]

print(set([1, 1, 2, 2, 2, 3]))num1 = { }print(type(num1))num2 = {1, 2, 3, 4, 5}print(type(num2))# 集合不支持索引 index# num2[2]

       

{1, 2, 3}

       

『行远见大』手把手教你学 Python:基础篇(二) - 创想鸟        

In [ ]

# 不使用 Setnum3 = [0, 1, 2, 3, 4, 5, 4, 3, 2, 1]temp = [ ]for each in num3:if each not in temp:temp.append(each)print(temp)# 使用 Set'''操作名称:其它类型对象转换成集合操作方法:set()'''print(set(num3))'''操作名称:获取集合长度操作方法:len()'''print(len(set(num3)))'''操作名称:获取最大的元素操作方法:max()操作名称:获取最小的元素操作方法:min()'''print(max(set(num3)))print(min(set(num3)))

       

[0, 1, 2, 3, 4, 5]{0, 1, 2, 3, 4, 5}650

       

集合的增、删、查操作

In [ ]

# 增'''操作名称:向集合添加元素操作方法:add方法'''my_set = set([0, 1, 2, 3, 4, 5, 4, 3, 2, 1])my_set.add(6)my_set

       

{0, 1, 2, 3, 4, 5, 6}

               In [ ]

# 删'''操作名称:移除集合中的元素操作方法:remove方法'''my_set = set([0, 1, 2, 3, 4, 5, 4, 3, 2, 1])my_set.remove(4)print(my_set)'''操作名称:弹出元素操作方法:pop方法'''my_set.pop()# 弹出最后一个元素print(my_set.pop())print(my_set)'''操作名称:清除元素操作方法:clear方法'''my_set.clear()print(my_set)'''操作名称:删除集合操作方法:del'''del my_set# print(my_set)

       

{0, 1, 2, 3, 5}1{2, 3, 5}set()

       

『行远见大』手把手教你学 Python:基础篇(二) - 创想鸟        

In [ ]

# 查my_set = set([0, 1, 2, 3, 4, 5, 4, 3, 2, 1])print(0 in my_set)print("0" in my_set)'''操作名称:遍历集合操作方法:通过for循环'''for i in my_set:    print(i, end=" ")

       

TrueFalse0 1 2 3 4 5

       

本章小结

名称 是否有序 是否可变类型

列表[ ]有序可变类型元组( )有序不可变类型字典{ }无序key 不可变,val 可变集合{ }无序可变类型(内容不重复)

有序:可以通过下标来访问。可变:元素的类型可以是数字也可以是字符串。

本章练习题

1. 让列表中的元素从小到大排序,再从大到小排序

要求:补全代码并使程序正常运行

In [ ]

# 请在此处作答第一题my_list = [229, 10, 331, 58, 520, 123]

   

2. 输入三个整数x,y,z,让这三个数从小到大输出

要求:使用 sort( ) 函数

In [ ]

# 请在此处作答第二题

   

3. 将一个列表的数据复制到另一个列表中

要求:分片拷贝

In [ ]

# 请在此处作答第三题a = [1, 3, 5, 7, 9]# 补全代码并使程序正常运行print(b)

   

4. 一球从100米高度自由落下,每次落地后反跳回原高度的一半再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

要求:for 循环语句

In [ ]

# 请在此处作答第四题 distance = []height = []start = 100.0    # 起始高度time = 10        # 次数# 补全代码并使程序正常运行

   

5. 三局两胜制的石头剪刀布

要求:while 循环语句

In [ ]

# 请在此处作答第五题print("来玩石头剪刀布啦,这次是三局两胜制~")import randomall_choices = ['石头', '剪刀', '布']# 补全代码并使程序正常运行win_list = [ ]prompt = '''请出拳:(0) 石头(1) 剪刀(2) 布'''cwin = 0pwin = 0# 补全代码并使程序正常运行while :        print('你出了:%s,计算机出了:%s' % (player, computer))    if player == computer:        print('[33;1m平局[0m')    elif [player, computer] in win_list:        print('[32;1m你赢了![0m')        pwin += 1    else:        print('[31;1m你输了![0m')        cwin += 1else:    if cwin > pwin:        print('三局两胜!你输了!')    else:        print('三局两胜!你赢了!')

   

以上就是『行远见大』手把手教你学 Python:基础篇(二)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/58422.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月10日 08:58:00
下一篇 2025年11月10日 09:20:03

相关推荐

  • Uniapp 中如何不拉伸不裁剪地展示图片?

    灵活展示图片:如何不拉伸不裁剪 在界面设计中,常常需要以原尺寸展示用户上传的图片。本文将介绍一种在 uniapp 框架中实现该功能的简单方法。 对于不同尺寸的图片,可以采用以下处理方式: 极端宽高比:撑满屏幕宽度或高度,再等比缩放居中。非极端宽高比:居中显示,若能撑满则撑满。 然而,如果需要不拉伸不…

    2025年12月24日
    400
  • 如何让小说网站控制台显示乱码,同时网页内容正常显示?

    如何在不影响用户界面的情况下实现控制台乱码? 当在小说网站上下载小说时,大家可能会遇到一个问题:网站上的文本在网页内正常显示,但是在控制台中却是乱码。如何实现此类操作,从而在不影响用户界面(UI)的情况下保持控制台乱码呢? 答案在于使用自定义字体。网站可以通过在服务器端配置自定义字体,并通过在客户端…

    2025年12月24日
    800
  • 如何在地图上轻松创建气泡信息框?

    地图上气泡信息框的巧妙生成 地图上气泡信息框是一种常用的交互功能,它简便易用,能够为用户提供额外信息。本文将探讨如何借助地图库的功能轻松创建这一功能。 利用地图库的原生功能 大多数地图库,如高德地图,都提供了现成的信息窗体和右键菜单功能。这些功能可以通过以下途径实现: 高德地图 JS API 参考文…

    2025年12月24日
    400
  • 如何使用 scroll-behavior 属性实现元素scrollLeft变化时的平滑动画?

    如何实现元素scrollleft变化时的平滑动画效果? 在许多网页应用中,滚动容器的水平滚动条(scrollleft)需要频繁使用。为了让滚动动作更加自然,你希望给scrollleft的变化添加动画效果。 解决方案:scroll-behavior 属性 要实现scrollleft变化时的平滑动画效果…

    2025年12月24日
    000
  • 如何为滚动元素添加平滑过渡,使滚动条滑动时更自然流畅?

    给滚动元素平滑过渡 如何在滚动条属性(scrollleft)发生改变时为元素添加平滑的过渡效果? 解决方案:scroll-behavior 属性 为滚动容器设置 scroll-behavior 属性可以实现平滑滚动。 html 代码: click the button to slide right!…

    2025年12月24日
    500
  • 如何选择元素个数不固定的指定类名子元素?

    灵活选择元素个数不固定的指定类名子元素 在网页布局中,有时需要选择特定类名的子元素,但这些元素的数量并不固定。例如,下面这段 html 代码中,activebar 和 item 元素的数量均不固定: *n *n 如果需要选择第一个 item元素,可以使用 css 选择器 :nth-child()。该…

    2025年12月24日
    200
  • 使用 SVG 如何实现自定义宽度、间距和半径的虚线边框?

    使用 svg 实现自定义虚线边框 如何实现一个具有自定义宽度、间距和半径的虚线边框是一个常见的前端开发问题。传统的解决方案通常涉及使用 border-image 引入切片图片,但是这种方法存在引入外部资源、性能低下的缺点。 为了避免上述问题,可以使用 svg(可缩放矢量图形)来创建纯代码实现。一种方…

    2025年12月24日
    100
  • 如何解决本地图片在使用 mask JS 库时出现的跨域错误?

    如何跨越localhost使用本地图片? 问题: 在本地使用mask js库时,引入本地图片会报跨域错误。 解决方案: 要解决此问题,需要使用本地服务器启动文件,以http或https协议访问图片,而不是使用file://协议。例如: python -m http.server 8000 然后,可以…

    2025年12月24日
    200
  • 如何让“元素跟随文本高度,而不是撑高父容器?

    如何让 元素跟随文本高度,而不是撑高父容器 在页面布局中,经常遇到父容器高度被子元素撑开的问题。在图例所示的案例中,父容器被较高的图片撑开,而文本的高度没有被考虑。本问答将提供纯css解决方案,让图片跟随文本高度,确保父容器的高度不会被图片影响。 解决方法 为了解决这个问题,需要将图片从文档流中脱离…

    2025年12月24日
    000
  • 为什么 CSS mask 属性未请求指定图片?

    解决 css mask 属性未请求图片的问题 在使用 css mask 属性时,指定了图片地址,但网络面板显示未请求获取该图片,这可能是由于浏览器兼容性问题造成的。 问题 如下代码所示: 立即学习“前端免费学习笔记(深入)”; icon [data-icon=”cloud”] { –icon-cl…

    2025年12月24日
    200
  • 如何利用 CSS 选中激活标签并影响相邻元素的样式?

    如何利用 css 选中激活标签并影响相邻元素? 为了实现激活标签影响相邻元素的样式需求,可以通过 :has 选择器来实现。以下是如何具体操作: 对于激活标签相邻后的元素,可以在 css 中使用以下代码进行设置: li:has(+li.active) { border-radius: 0 0 10px…

    2025年12月24日
    100
  • 如何模拟Windows 10 设置界面中的鼠标悬浮放大效果?

    win10设置界面的鼠标移动显示周边的样式(探照灯效果)的实现方式 在windows设置界面的鼠标悬浮效果中,光标周围会显示一个放大区域。在前端开发中,可以通过多种方式实现类似的效果。 使用css 使用css的transform和box-shadow属性。通过将transform: scale(1.…

    2025年12月24日
    200
  • 为什么我的 Safari 自定义样式表在百度页面上失效了?

    为什么在 Safari 中自定义样式表未能正常工作? 在 Safari 的偏好设置中设置自定义样式表后,您对其进行测试却发现效果不同。在您自己的网页中,样式有效,而在百度页面中却失效。 造成这种情况的原因是,第一个访问的项目使用了文件协议,可以访问本地目录中的图片文件。而第二个访问的百度使用了 ht…

    2025年12月24日
    000
  • 如何用前端实现 Windows 10 设置界面的鼠标移动探照灯效果?

    如何在前端实现 Windows 10 设置界面中的鼠标移动探照灯效果 想要在前端开发中实现 Windows 10 设置界面中类似的鼠标移动探照灯效果,可以通过以下途径: CSS 解决方案 DEMO 1: Windows 10 网格悬停效果:https://codepen.io/tr4553r7/pe…

    2025年12月24日
    000
  • 使用CSS mask属性指定图片URL时,为什么浏览器无法加载图片?

    css mask属性未能加载图片的解决方法 使用css mask属性指定图片url时,如示例中所示: mask: url(“https://api.iconify.design/mdi:apple-icloud.svg”) center / contain no-repeat; 但是,在网络面板中却…

    2025年12月24日
    000
  • 如何用CSS Paint API为网页元素添加时尚的斑马线边框?

    为元素添加时尚的斑马线边框 在网页设计中,有时我们需要添加时尚的边框来提升元素的视觉效果。其中,斑马线边框是一种既醒目又别致的设计元素。 实现斜向斑马线边框 要实现斜向斑马线间隔圆环,我们可以使用css paint api。该api提供了强大的功能,可以让我们在元素上绘制复杂的图形。 立即学习“前端…

    2025年12月24日
    000
  • 图片如何不撑高父容器?

    如何让图片不撑高父容器? 当父容器包含不同高度的子元素时,父容器的高度通常会被最高元素撑开。如果你希望父容器的高度由文本内容撑开,避免图片对其产生影响,可以通过以下 css 解决方法: 绝对定位元素: .child-image { position: absolute; top: 0; left: …

    2025年12月24日
    000
  • 使用 Mask 导入本地图片时,如何解决跨域问题?

    跨域疑难:如何解决 mask 引入本地图片产生的跨域问题? 在使用 mask 导入本地图片时,你可能会遇到令人沮丧的跨域错误。为什么会出现跨域问题呢?让我们深入了解一下: mask 框架假设你以 http(s) 协议加载你的 html 文件,而当使用 file:// 协议打开本地文件时,就会产生跨域…

    2025年12月24日
    200
  • CSS 帮助

    我正在尝试将文本附加到棕色框的左侧。我不能。我不知道代码有什么问题。请帮助我。 css .hero { position: relative; bottom: 80px; display: flex; justify-content: left; align-items: start; color:…

    2025年12月24日 好文分享
    200
  • 前端代码辅助工具:如何选择最可靠的AI工具?

    前端代码辅助工具:可靠性探讨 对于前端工程师来说,在HTML、CSS和JavaScript开发中借助AI工具是司空见惯的事情。然而,并非所有工具都能提供同等的可靠性。 个性化需求 关于哪个AI工具最可靠,这个问题没有一刀切的答案。每个人的使用习惯和项目需求各不相同。以下是一些影响选择的重要因素: 立…

    2025年12月24日
    300

发表回复

登录后才能评论
关注微信