news 2026/8/14 12:03:04

Python基础知识点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python基础知识点

Python是一种面向对象的解释型计算机程序设计语言。

Python是强类型的动态脚本语言。

编译型和解释型语言各有优缺点:

解释型:

缺点:执行慢

优点:可以跨平台(操作系统)

编译型:

缺点:不能跨平台

优点:执行快

1 注释

1.1 单行注释

1.2 多行注释

使用方式

三组英文双引号(""")或三组英文单引号(''')

1.3 批量注释/取消注释

选中后按 (Ctrl+/)

2 输入输出

1.1输出:print()

  • sep=' '设置多语句输出的分隔符,默认为空格

print("哈哈哈","嘿嘿嘿","嘻嘻嘻") # 输出:哈哈哈 嘿嘿嘿 嘻嘻嘻 ​ print("哈哈哈","嘿嘿嘿","嘻嘻嘻",sep=',') # 输出:哈哈哈,嘿嘿嘿,嘻嘻嘻
  • end=' '设定以...结尾,默认值是'\n'。也可用于字符串拼接

print("字符串1",end="字符串2") # 输出:字符串1+字符串2+第二个print里的值

字符串输入输出必须加上引号,单引号双引号均可

1.2输入:input()

name = input("请输入姓名:") print(name)

3 变量

标识符的命名规范

3.1 合法的标识符:

字母,数字(不能开头),下划线,py3可以用中文(不建议),py2不可以。

3.2 注意大小
3.3 不能使用关键字和保留字

关键字: if,while,for,as,import

保留字:input,print,range

3.4没有长度限制
3.5望文生义,看到名字就知道要表达的意思。

4 数据类型

4.1 数值类型

  • 整数int

  • 浮点型float

  • 布尔型bool

  • 复数complex

    • 固定写法:z = a + bj

    • a是实部,b是虚部,j是虚数单位

4.2核心数据类型

数据类型查询:print(type(数据名))

  • 字符串(str)"Hello"'Python'

  • 数字(int/float)423.14

  • 布尔值(bool)TrueFalse

  • 列表(list)[1, 2, 3](可修改)。

  • 元组(tuple)(1, "a")(不可修改)。

  • 字典(dict){"name": "Alice"}(键值对)。

5 表达式

数字、算符、数字分组符号(括号)、变量等对象的组合叫做表达式,表达式均有固定字面值

6 运算符

6.1 算术运算符

  • 基本运算+(加)、-(减)、*(乘)、/(除,返回浮点数)。

  • 特殊运算

    • //(整除):结果向下取整

    • %(取模):余数符号与除数一致

    • **(幂运算):右结合性,如2**3**2 = 2^(3^2) = 512

6.2 位运算符

  • 操作二进制位:仅支持整数类型,需掌握二进制转换(如5→101)。

  • 关键运算符

    • ~(按位取反):结果为-(x+1),如~5 = -6

    • >>(右移):正数补0,负数补1,如-5 >> 2 = -2

6.3 比较运算符

  • 结果类型:返回布尔值(True/False),支持数值、字符串、列表等。

  • 易错点

    • ==(值相等) vsis(内存地址相同),如1 == 1.0True,但1 is 1.0False

    • 链式比较:如1 < 2 < 3等价于1 < 2 and 2 < 3

    • 字符串比较:按ASCII码顺序,如'A' < 'a''abc' < 'abd'

6.4 逻辑运算符

  • 组合布尔值not>and>or(优先级),支持短路求值。

6.5 赋值运算符

  • 基础形式=(赋值),复合形式如+=-=*=等。

  • 注意:Python无++--自增运算符,需用x += 1替代。

6.6 运算符优先级

  • 从高到低

    1. 幂运算**

    2. 按位取反~、正负号+x/-x

    3. 算术运算(乘*、除/、整除//、取模%> 加+、减-)。

    4. 位运算(左移<<、右移>>> 按位与&> 按位异或^> 按位或|)。

    5. 比较运算(<>==等)和身份运算(isis not)。

    6. 逻辑运算(not>and>or)。

    7. 赋值运算(=及其复合形式,优先级最低)。

  • 强制优先级:使用括号()明确运算顺序。

6.7 特殊规则

  • 结合性:同优先级运算符按“左结合”(从左到右)或“右结合”(如幂运算**从右到左)。

  • 类型限制:位运算仅支持整数,算术运算支持数值类型。

7 字符串

7.1 字符串基础特性

  1. 不可变性

    • 定义后无法直接修改单个字符(如s[0] = 'A'会报错),需通过切片或拼接生成新字符串。

  2. 可迭代性

    • 支持遍历每个字符:

  3. 三种表示形式

    引号类型语法示例适用场景
    单引号'Hello'短文本,内部可嵌套双引号(如'He said "Hi"'
    双引号"Python"功能同单引号,内部可嵌套单引号(如"It's a cat"
    三引号'''多行\n文本'''"""多行\n文本"""多行文本或保留换行/空格,也可作多行注释

7.2 字符串访问与操作

1. 索引(获取单个字符)
  • 规则:正向从0开始,反向从-1开始。

    s = "Python" print(s[0]) # 输出: P(正向索引0) print(s[-1]) # 输出: n(反向索引-1)
2. 切片(截取子串)
  • 语法[start:end:step],左闭右开(包含start,不包含end),step默认为1

    s = "Python" print(s[1:4]) # 输出: yth(索引1到3) print(s[::2]) # 输出: Pto(全串,步长2) print(s[::-1]) # 输出: nohtyp(步长-1,反转字符串)
3. 常用操作
  • 拼接:用+连接字符串(仅支持字符串间拼接)。

    print("Hello" + " " + "World") # 输出: Hello World
  • 重复:用*重复字符串n次。

    print("-" * 10) # 输出: ----------
  • 成员判断:用in/not in判断字符/子串是否存在。

    print("ll" in "hello") # 输出: True

7.3 字符串内置方法

1. 大小写转换
  • s.upper():全部转为大写。

  • s.lower():全部转为小写。

  • s.title():每个单词首字母大写。

    print("hello".upper()) # 输出: HELLO print("HELLO".lower()) # 输出: hello print("hello world".title()) # 输出: Hello World
2. 去除空白字符
  • s.strip():去除首尾空白(含空格、换行符\n、制表符\t)。

  • s.lstrip()/s.rstrip():仅去除左/右空白。

    s = " \n Python \t " print(s.strip()) # 输出: Python
3. 查找与替换
  • s.find(sub):返回子串sub第一次出现的下标,不存在返回-1

  • s.replace(old, new, count):替换oldnewcount可选(指定替换次数,默认全部)。

    s = "hello world" print(s.find("l")) # 输出: 2 print(s.replace("l", "x", 2)) # 输出: hexxo world
4. 分割与连接
  • s.split(sep):按sep分割字符串,返回列表(sep默认为空白)。

  • sep.join(list):用sep连接列表元素为字符串。

    s = "a,b,c" print(s.split(",")) # 输出: ['a', 'b', 'c'] print("-".join(["a", "b"])) # 输出: a-b
5. 类型判断
  • s.isdigit():判断是否全为数字。

  • s.isalpha():判断是否全为字母。

    print("123".isdigit()) # 输出: True print("abc".isalpha()) # 输出: True

7.4 字符串格式化

1. f-string
name = "Elysia" age = 18 print(f"Hello, {name}!") # 输出: Hello, Elysia!
2.format()方法
print("Hello, {}!".format(name)) # 输出: Hello, Elysia!
3.%格式化(最常用)
print("Hello, %s!" % name) # 输出: Hello, Elysia! print("姓名: %s,年龄: %d" % (name,age)) # 输出: 姓名: Elysia,年龄: 18
  • %6d:输出整数位数为6,不足的话用空格补全

  • %06d:输出整数位数为6,不足的话用0补全

7.5 转义字符

  • Python用反斜杠\转义特殊字符:

    print("\n") # 换行符 print("\t") # 制表符 print("\\") # 输出\ print("%%") # 输出%
  • 使用原始字符串(r'\n')可忽略转义:

    print(r'\n') # 输出: \n

7.6 注意事项

  1. 引号必须成对使用,且开始与结束的引号类型需一致。

  2. 字符串拼接时,非字符串类型需用str()转换(如"Num:" + str(123))。

  3. 字符串方法均返回新字符串,不修改原字符串(不可变性)。

8 判断语句

8.1 if判断

例:

age = input("请输入你的年龄:") if age < '18': '''input内部默认字符串类型,而字符串与整形不能进行大小比较,故将整形变为字符串类型''' print("未成年人不能上网") if age >= '18': print("年龄通过,祝您愉快!")

8.2 if-else判断

8.3 if嵌套

9 循环

9.1 循环类型

while循环(条件循环)
  • 条件循环:通过判断条件决定是否执行循环体,分为当型循环和直到型循环。

  • 语法

    初始化计数器 while 条件: 循环体 更新计数器
  • 特点

    • 需手动初始化计数器并更新条件,否则可能形成死循环

    • 适用于循环次数未知的场景 。

for循环(迭代循环)
  • 遍历循环:用于迭代序列(如strlisttupledict)或可迭代对象。

  • 语法

    for 元素 in 可迭代对象: 循环体
    for i in range(1,6): print(i) # 输出1,2,3,4,5
  • 特点

    • 循环次数由序列长度决定,无需手动更新计数器。

    • 遍历顺序为元素在序列中的原始顺序。

9.2 循环控制语句

  1. break
    • 作用:立即终止整个循环(无论条件是否满足)。

    • 场景:搜索算法中提前退出、用户输入满足条件时停止。

    • 示例

      for i in range(10): if i == 5: break print(i) # 输出0-4
  2. continue
    • 作用:跳过当前迭代,直接进入下一次循环。

    • 场景:过滤数据时跳过不符合条件的元素。

    • 示例

      for i in range(5): if i == 2: continue print(i) # 输出0,1,3,4

9.3 循环选择建议

  • for循环:优先用于已知迭代次数或需遍历序列的场景

  • while循环:适用于循环次数未知或需动态判断条件的场景

10 列表(list)

10.1 列表的创建与特性

  1. 创建方式
    • 直接定义:list1 = [1, "hello", True, [2, 3]](支持嵌套和混合类型)

    • 空列表:list2 = []list2 = list()

    • 转换其他对象:

      list3 = list("abc") # 输出: ['a', 'b', 'c'] list4 = list((1, 2, 3)) # 输出: [1, 2, 3]
  2. 核心特性
    • 可变:可直接修改元素(增、删、改),内存地址不变。

    • 有序:元素按插入顺序排列,支持索引访问(从0开始)。

    • 可重复:允许存储相同值的元素(如[1, 1, 2])。

    • 类型无限制:可存储整数、字符串、列表、字典等任意类型。

10.2 索引与切片(访问元素)

  1. 索引
    • 正向索引:从左到右,第一个元素为0(如lst[0])。

    • 反向索引:从右到左,最后一个元素为-1(如lst[-1])。

    • 示例:

      lst = [10, 20, 30, 40] print(lst[0]) # 输出: 10 print(lst[-1]) # 输出: 40
  2. 切片
    • 语法:lst[start:end:step],返回新列表(不修改原列表)。

    • 规则:

      • start:起始位置(默认0)。

      • end:结束位置(不包含,默认列表长度)。

      • step:步长(默认1,负数表示反向切片)。

    • 示例:

      lst = [10, 20, 30, 40, 50] print(lst[1:3]) # 输出: [20, 30] print(lst[::2]) # 输出: [10, 30, 50] print(lst[::-1]) # 输出: [50, 40, 30, 20, 10]

10.3 列表的相关操作

  • 增加元素
lst = [10, 20, 30, 40, 50]
方法功能示例
append(x)末尾添加一个元素lst.append(60)[10,20,30,40,50,60]
extend(iterable)末尾添加可迭代对象的所有元素(对于字符串分散添加)lst.extend([60,70])[10,20,30,40,50,60,70]
insert(index, x)指定索引处插入元素(指定位置如果有元素,原有元素会后移)lst.insert(2, 25)[10,20,25,30,40,50]
  • 删除元素
方法功能示例
remove(x)根据元素的值进行删除(默认删除最先出现的元素)lst.remove(1)→ 删除第一个1
pop([i])删除指定位置元素 (若无索引,则默认删除最后一个元素)popped = lst.pop(2)→ 删除索引2的元素
clear()清空列表lst.clear()[]
del删除列表或删除指定位置元素del lst→ 删除列表lstdel lst[2]→ 删除索引2的元素
  • 修改元素
    • 通过索引直接修改:

      lst = [1, 2, 3] lst[0] = 10 # 修改第一个元素 → [10, 2, 3]
  • 查询与统计

name_list = ['bingbing','susu','zizi']

方法功能示例
index(x)返回元素第一次出现的索引lst.index(3)→ 返回3的索引
count(x)统计元素出现的次数lst.count(1)→ 统计1的个数
  • 排序与反转
lst = [2,3,5,1,4]
方法功能示例
sort()排序列表(默认升序排列,即从小到大)lst.sort()→print 输出[1, 2, 3, 4, 5]
reverse()反转列表顺序lst.reverse()→ print输出[4, 1, 5, 3, 2]
#降序排列 ls = [2,3,5,1,4] ls.sort() #升序排列(从小到大) ls.reverse() #倒叙排列 print(ls) #输出列表 #输出结果为降序[5, 4, 3, 2, 1]
  • 复制与浅拷贝

copy():返回列表的浅拷贝(相当于a[:])。

lst_copy = lst.copy() # 浅拷贝,修改不影响原列表

10.4 高级操作

  1. 列表推导式

    • 简洁创建列表的方式,可结合条件语句:

      squares = [x**2 for x in range(10) if x % 2 == 0] # 输出: [0, 4, 16, 36, 64]
  2. 嵌套列表

    • 列表中可包含其他列表,形成多维结构:

      matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

11 元组(tuple)

11.1 元组基本格式

tua = (1,2,3,'a','b','c') #定义元组(不同元素可以是不同数据类型 tua = () #定义空元组 tua = (1,) #只有一个元素时,末尾必须加上',',否则返回唯一的值的数据类型

11.2 元组与列表的区别

  1. 元组只有一个元素末尾必须加逗号,列表不用

  2. 元组只支持查询操作,不支持增删改(元组只读)

11.3 应用场景

12 字典(dict)

12.1 基本格式

  • 字典名 = {键1 :值1 ,键2 ,值2}

  • 字典中键具有唯一性,但值可以重复

  • 如果键发生重复,不会报错,但相同键名前面的值会被后面的值所覆盖

12.2 字典常见操作一

  • 查看元素
    变量名[键名]键名不存在会报错
    变量名.get(键名)键名不存在默认返回None
    1. 变量名[键名]

      不可以根据下标查询,字典里没有下标查找元素需要根据键名,键名相当于下标

      dic = {'name':'bingbing','age':18} #创建字典 print(dic['age']) #查找元素需要根据键名 print(dic['sex']) #键名不存在会报错
    2. 变量名.get(键名)

      键名不存在会返回None

      dic = {'name':'bingbing','age':18} #创建字典 print(dic.get('sex')) #键名不存在,默认返回None print(dic.get('sex','不存在')) #可自行设置返回值,目前返回‘不存在’
  • 修改元素

  • 添加元素

  • 删除元素
    方法功能示例
    del 字典名删除整个字典del dic
    del 字典名[键名]删除指定键值对(键值对不存在会报错)del dic['age']
    .pop()删除指定键值对(键值对不存在会报错)dic.pop('age')
    .clear()清空字典内容,保留字典本身dic.clear()print(dic)输出结果为{}

12.3 字典常见操作二

  • len()求长度

    • 求字典中键值对个数

    • 求列表中元素个数

    • 求字符串中字符个数(不包括'\0')

  • .keys()返回字典里包含的所有键名
    dic = {'name':'bingbing','age':18} print(dic.keys()) #输出 dict_keys(['name','age']) # for循环取出键名 for i in dic.keys(): #只取出键名 print(i) #输出 name \n age
  • .values()返回字典里包含的所有值
    dic = {'name':'bingbing','age':18} print(dic.values()) #输出 dict_values(['bingbing',18]) # for循环取出值 for i in dic.keys(): #只取出值 print(i) #输出 bingbing \n 18
  • .item()返回字典里包含的所有键值对

    键值对以元组形式输出

12.4 字典的应用场景

使用键值对,存储描述一个物体的相关信息

13 集合(set)

13.1 集合的基本格式

集合中的元素可以是不同的数据类型

13.2 集合的特性

  • 无序性:同一个集合,每次打印输出时,输出的字符元素顺序都各不相同(但数字集合运行结果一致)

    且不能修改集合中的值不能通过下标去查询

  • 唯一性:可以自动去重

13.3 集合的常见操作

集合具有无序性,所以不能通过下标去查询或修改

  • 添加元素

    集合的唯一性决定了如果需要添加的元素在原集合中已经存在,就不进行任何操作

    方法功能示例
    .add()整体添加(一次只能添加一个元素,但可用元组类型整体添加s2.add(5)→ 向原有集合s2中增添一个元素5s2.add(5,6)报错,一次只能添加一个元素s2.add((5,6))→ 向原有集合s2中添加一个元组(5,6)
    .update()拆分元素,逐个放入集合(括号里需要放可迭代对象,如字符串、列表、元组)s2.update('567')
  • 删除元素
    方法功能示例
    .remove()指定元素删除(若指定元素集合中没有则报错s2.remove(3)→ 删除原集合s2中的元素3
    .pop()括号中无参,默认删除根据hash表无序排列后第一个元素s2.pop()
    .discard()指定元素删除(若指定元素集合中没有则不会进行任何操作)s2.discard()

13.4 交集和并集

14 类型转换

15 深浅拷贝

浅拷贝只拷贝数据,深拷贝拷贝内存地址

方法功能示例
赋值数据完全共享,变化一致li = [1,2,3]li2 = li
浅拷贝数据半共享li2 = copy.copy(li)
深拷贝数据完全不共享li2 = copy.deepcopy(li)

15.1 赋值

15.2 浅拷贝(数据半共享,藕断丝连)

会创建新的对象,拷贝第一层的数据,嵌套层会指向原来的内存地址

import copy #导入copy模块 li = [1,2,3,[4,5,6]] #定义一个嵌套列表 #浅拷贝 第一个copy是调用库copy,第二个是库copy中的copy函数 li2 = copy.copy(li) print("li",li) print("li2",li2) #查看内存地址 id() print("li内存地址:",id(li)) print("li2内存地址:",id(li2)) #内存地址不一样,说明不是同一个对象 li.append(8) print("li",li) #打印输出包含新增元素8 print("li2",li2) #打印输出不包含新增元素8 #往嵌套列表添加元素 li[3].append(7) print("li",li) #打印输出嵌套列表中包含新增元素7 print("li2",li2) #打印输出嵌套列表中包含新增元素7 #查看嵌套列表内存地址 print("li[3]内存地址:",id(li)) print("li2[3]内存地址:",id(li2)) #内存地址相同,说明是同一个对象,即嵌套层会指向原来的内存地址 #总结:外层的内存地址不同,但内层的内存地址相同

优点:拷贝速度快,占用空间少,拷贝效率高

15.3 深拷贝(数据完全不共享,完全无关)

外部的对象和内部的元素全部拷贝了一遍

import copy #导入copy模块 li = [1,2,3,[4,5,6]] #定义一个嵌套列表 #深拷贝 第一个copy是调用库copy,第二个是库copy中的deepcopy函数 li2 = copy.deepcopy(li) print("li",li) print("li2",li2) #查看内存地址 id() print("li内存地址:",id(li)) print("li2内存地址:",id(li2)) #内存地址不一样,说明不是同一个对象 li.append(8) print("li",li) #打印输出包含新增元素8 print("li2",li2) #打印输出不包含新增元素8 #往嵌套列表添加元素 li[3].append(7) print("li",li) #打印输出嵌套列表中包含新增元素7 print("li2",li2) #打印输出嵌套列表中不包含新增元素7 #查看嵌套列表内存地址 print("li[3]内存地址:",id(li)) print("li2[3]内存地址:",id(li2)) #嵌套列表内存地址不一样,说明也不是同一个对象 #总结:内外层的内存地址均不同,即深拷贝数据变化只影响自己本身,跟原来对象没有联系

16 可变与不可变对象

16.1 可变对象

  • 含义:变量对应的值可以修改,但内存地址不会发生改变

16.2 不可变对象

  • 含义:变量对应的值不能被修改,如果修改就会生成一个新的之从而分配新的内存空间

17 函数

17.1 函数基础

  • 函数定义

    def 函数名(参数列表):定义,函数体缩进。

    def login(name): print("这是登录函数")
  • 函数调用

    函数名加括号传参调用。

    login()

17.2 参数类型

  1. 位置参数

    按定义顺序传参。

    def add(a, b): return a + b result = add(3, 5)
  2. 关键字参数

    指定参数名传参,可打乱顺序。

    result = add(b = 5, a = 3)
  3. 默认参数

    定义时为参数设默认值,调用可省略。

    def power(x, n = 2): return x ** n result = power(4)
  4. 可变参数
    • *args

    接收任意数量位置参数,打包成元组。

    def sum_numbers(*args): return sum(args) result = sum_numbers(1, 2, 3, 4)
    • **kwargs

    接收任意数量关键字参数,打包成字典。

    def print_info(**kwargs): for k, v in kwargs.items(): print(f"{k}: {v}") print_info(name = "Bob", age = 25)

17.3 返回值

  1. 无返回值

    返回None

  2. 单返回值

    用 return 返回一个值。

    def square(x): return x * x result = square(6) print(result)
  3. 多返回值

    以元组形式返回多个值。

    def get_name_and_age(): return "bingbing", 18 print(get_name_and_age())
  • return与print的区别

    1.return表示函数结束,print会一直执行

    2.return是返回计算值,print是打印结果

17.4 作用域

  1. 局部作用域

    函数内变量,只能内部访问。

    def test_local(): local_var = 10 print(local_var) test_local()
  2. 全局作用域

    函数外变量,程序全局可访问。用 global 在函数内修改。

    global_var = 20 def modify_global(): global global_var global_var = 30 modify_global() print(global_var)
  3. 嵌套作用域

    内层函数可访问外层变量,用 nonlocal 修改。

    def outer(): outer_var = 40 def inner(): nonlocal outer_var outer_var = 50 inner() print(outer_var) outer()

17.5 匿名函数(lambda 函数)

  • 定义简单一次性函数,lambda 参数: 表达式。

add = lambda a, b: a + b result = add(7, 8)

17.6 装饰器

  • 增强函数功能,本质高阶函数。

def my_decorator(func): def wrapper(): print("Before") func() print("After") return wrapper @my_decorator def say_hello(): print("Hello!") say_hello()
17.7 递归函数
  • 函数调用自身,需有终止条件。

def factorial(n): return 1 if n in [0, 1] else n * factorial(n - 1) result = factorial(5)
17.8 生成器函数
  • 用 yield 关键字,返回生成器对象。

def count_up_to(n): num = 1 while num <= n: yield num num += 1 counter = count_up_to(3) for num in counter: print(num)

18 模块

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/14 12:03:02

上海opencart网站建设指南:从零基础到精通的实战心得与避坑指南

在这个电商竞争几乎白热化的年代,如果你想在上海这样的商业高地立足,或者单纯想通过互联网把生意做到全球各地,选对建站系统真的是至关重要的一步。很多人一听到跨境电商或者独立站,第一反应就是“这很贵”、“这很复杂”,或者直接奔着Shopify去。但我必须得说,对于有一定…

作者头像 李华
网站建设 2026/8/14 12:03:01

2024网站建设外包公司排名深度解析:如何避坑选对靠谱服务商

在这个数字化飞速发展的时代,无论是初创团队想要搭建第一个品牌官网,还是老牌企业渴望进行数字化转型,网站早已不仅仅是一个展示窗口,它更是企业的名片、业务的引擎以及连接用户的桥梁。然而,每当提起“网站建设”这四个字,很多老板和业务负责人都会感到一阵头大。市场水…

作者头像 李华
网站建设 2026/8/14 12:02:42

避坑指南:2024年德州网站建设哪家好?资深从业者带你深入解析本地化建站的核心逻辑与选择策略

在这个数字化浪潮席卷各行各业的时代,对于德州的中小企业或者是正在筹备创业的个人老板来说,拥有一个专业、美观且功能强大的官方网站,早就不是“锦上添花”的选修课,而是关乎企业生死存亡的必修课了。但是,咱们摸着良心说句实话,当你第一次拿起手机搜索“德州网站建设哪…

作者头像 李华
网站建设 2026/8/14 12:02:41

AI视频生成进阶:电影级Prompt库my_ai_town实战指南

想用AI生成视频&#xff0c;但总被“分镜”卡住&#xff1f;看着别人用Sora、Runway、Pika做出电影感十足的短片&#xff0c;自己却只能得到一堆混乱、跳跃、风格不一的画面。问题往往不在模型&#xff0c;而在于你给模型的“指令”太业余了。一个专业的电影导演&#xff0c;绝…

作者头像 李华
网站建设 2026/8/14 12:01:38

商业街网站建设方案:从流量变留量,打造永不落幕的线上购物天堂

最近跟几个做实体商业的朋友聊天,大家心里都挺憋屈的。以前那条街多红火啊,一到周末人挤人,现在呢?除了几个网红打卡点偶尔有点人气,大部分店铺还在苦苦支撑。很多老板跟我吐槽:“现在谁还去逛街啊,都在手机上刷抖音、看小红书下单了。”这话虽然扎心,但确实是事实。现…

作者头像 李华