展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 编程开发 > 有哪些经常被问到的Python面试题?

有哪些经常被问到的Python面试题?

Q51.请解释使用args和kwargs的含义当我们不知道向函数传递多少参数时,比如我们向传递一个列表或元组,我们就使用*args:deffunc(*args):foriinargs:print(i)func(3,2,1,4,7)32147在我们不知道该传递多少关键字参数时,使用**kwargs来收集关键字参数:deffunc(**kwargs):foriinkwargs:print(i,kwargs[i])func(a=1,b=2,c=7)a.1b.2c.7Q52.如何在Python中删除文件?使用命令

本文目录

    Q51.请解释使用args和kwargs的含义

    当我们不知道向函数传递多少参数时,比如我们向传递一个列表或元组,我们就使用*args:

    def func(*args):
    
      for i in args:
    
          print(i) 
    
    func(3,2,1,4,7)
    
    3
    
    2
    
    1
    
    4
    
    7

    在我们不知道该传递多少关键字参数时,使用**kwargs来收集关键字参数:

    def func(**kwargs):
    
      for i in kwargs:
    
          print(i,kwargs[i])
    
    func(a=1,b=2,c=7)
    
    a.1
    
    b.2
    
    c.7

    Q52.如何在Python中删除文件?

    使用命令os.remove(filename)或os.unlink(filename)

    Q53.解释如何从C访问用Python编写的模块?

    您可以通过以下方法访问C中用Python编写的模块:

    Module = = PyImport_ImportModule(“”)

    Q54.在Python中使用//运算符?

    它是一个Floor Divisionoperator,用于分割两个操作数,结果为商,只显示小数点前的数字。

    例如,10 // 5 = 2和10.0 // 5.0 = 2.0。

    Q55.怎么移除一个字符串中的前导空格?

    字符串中的前导空格就是出现在字符串中第一个非空格字符前的空格。

    我们使用方法Istrip()可以将它从字符串中移除。

    ’ Data123 '.lstrip()

    结果:

    'Data123 ’

    最初的字符串当中既有前导字符也有后缀字符,调用Istrip()去除了前导空格,如果我们想去除后缀空格,可以使用rstrip()方法。

    'Data123    '.rstrip()
    
    'Data123'

    Q56.如何用Python输出一个Fibonacci数列?

    a,b = 0, 1
    
      while b<100:
    
      print (b)
    
      a, b = b, a+b

    Q57.在Python中怎样将字符串转换为整型变量?

    如果字符串只含有数字字符,可以用函数int()将其转换为整数。

    int(‘22’)

    我们检查一下变量类型:

    type('22')
    
    
    
    type(int('22'))
    
    

    Q58.在Python中如何生成一个随机数?

    要想生成随机数,我们可以从random模块中导入函数random()。

    from random import random
    
    random()
    
    0.013501571090371978

    我们还可以使用函数randint(),它会用两个参数表示一个区间,返回该区间内的一个随机整数。

    from random import randint
    
    randint(2,7)
    
    4

    Q59.怎样将字符串中第一个字母大写?

    最简单的方法就是用capitalize()方法。

    'daxie'.capitalize()
    
    'Daxie'

    Q60.如何检查字符串中所有的字符都为字母数字?

    对于这个问题,我们可以使用isalnum()方法。

    'DATA123'.isalnum()
    
    True
    
    'DATA123!'.isalnum()
    
    False

    我们还可以用其它一些方法:

    '123'.isdigit()#检测字符串是否只由数字组成
    
    True
    
    '123'.isnumeric()#只针对unicode对象
    
    True
    
    'data'.islower()#是否都为小写
    
    True
    
    'Data'.isupper()#是否都为大写
    
    False

    Q61.什么是Python中的连接(concatenation)?

    Python中的连接就是将两个序列连在一起,我们使用+运算符完成:

    '22'+'33'
    
    ‘2233'
    
    [1,2,3]+[4,5,6]
    
    [1, 2,3, 4, 5, 6]
    
    (2,3)+(4)
    
    TypeError  Traceback (most recent call last)
    
     in 
    
    ----> 1 (2,3)+(4)
    
    TypeError: can only concatenate tuple (not "int") to tuple

    这里运行出错,因为(4)被看作是一个整数,修改一下再重新运行:

    (2,3)+(4,)
    
    (2, 3,4)

    Q62.什么是递归?

    在调用一个函数的过程中,直接或间接地调用了函数本身这个就叫递归。但为了避免出现死循环,必须要有一个结束条件,举个例子:

    def facto(n):
    
      if n==1: return 1
    
      return n*facto(n-1)
    
    facto(5)
    
    120

    Q63.什么是生成器?

    生成器会生成一系列的值用于迭代,这样看它又是一种可迭代对象。

    它是在for循环的过程中不断计算出下一个元素,并在适当的条件结束for循环。

    我们定义一个能逐个“yield”值的函数,然后用一个for循环来迭代它。

    def squares(n):
    
      i=1
    
      while(i<=n):
    
          yield i**2
    
          i+=1
    
    for i in squares(5):
    
      print(i)
    
    1
    
    4
    
    9
    
    16
    
    25

    Q64.什么是迭代器?

    迭代器是访问集合元素的一种方式。

    迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。

    迭代器只能往前不会后退。我们使用inter()函数创建迭代器。

    odds=iter([1,2,3,4,5])
    
    #每次想获取一个对象时,我们就调用next()函数
    
    next (odds)
    
    1
    
    next (odds)
    
    2
    
    next (odds)
    
    3
    
    next (odds)
    
    4
    
    next (odds)
    
    5

    Q65.请说说生成器和迭代器之间的区别

    1)在使用生成器时,我们创建一个函数;在使用迭代器时,我们使用内置函数iter()和next();

    2)在生成器中,我们使用关键字‘yield’来每次生成/返回一个对象;

    3)生成器中有多少‘yield’语句,你可以自定义;

    4)每次‘yield’暂停循环时,生成器会保存本地变量的状态。而迭代器并不会使用局部变量,它只需要一个可迭代对象进行迭代;

    5)使用类可以实现你自己的迭代器,但无法实现生成器;

    6)生成器运行速度快,语法简洁,更简单;

    7)迭代器更能节约内存。

    Q66.函数zip()的是干嘛的?

    Python新手可能对这个函数不是很熟悉,zip()可以返回元组的迭代器。

    list(zip([‘a’,‘b’,‘c’],[1,2,3]))

    [(‘a’,1), (‘b’, 2), (‘c’, 3)]

    在这里zip()函数对两个列表中的数据项进行了配对,并用它们创建了元组。

    Q67.如何用Python找出你目前在哪个目录?

    我们可以使用函数/方法getcwd(),从模块os中将其导入。

    import os

    os.getcwd()

    ‘C:\Users\37410\Desktop\代码’

    Q68.如何计算一个字符串的长度?

    这个也比较简单,在我们想计算长度的字符串上调用函数len()即可。

    len(‘Data 123’)

    8

    Q69.如何从列表中删除最后一个对象?

    从列表中删除并返回最后一个对象或obj。

    list.pop(obj = list [-1])

    Q70.解释一些在Python中实现面向功能的编程的方法

    有时,当我们想要遍历列表时,一些方法会派上用场。

    1)filter()

    过滤器允许我们根据条件逻辑过滤一些值。

    list(filter(lambda x:x> 5,range(8)))
    
    [6,7]
    
    2)map()

    Map将函数应用于iterable中的每个元素。

    list(map(lambda x:x ** 2,range(8)))
    
    [0,1,4,9,16,25,36,49]
    
    3)reduce()

    在我们达到单个值之前,Reduce会反复减少序列顺序。

    from functools import reduce
    
    reduce(lambda x,y:xy,[1,2,3,4,5])
    
    -13

    Q71.编写一个Python程序来计算数字列表的总和

    def list_sum(num_List):如果len(num_List)== 1:
    
    return num_List [0]
    
    else:
    
    return num_List [0] + list_sum(num_List [1:])
    
    print(list_sum([3,4,5,6,11]))
    
    29

    Q72.编写一个Python程序来读取文件中的随机行

    import random
    
    def random_line(fname):
    
    lines = open(fname).read().splitlines()
    
    return random.choice(lines)
    
    print(random_line('test.txt'))

    Q73.编写一个Python程序来计算文本文件中的行数

    def file_lengthy(fname):
    
    open(fname)as f:
    
    for i,l in enumerate(f):
    
    pass
    
    return i + 1
    
    print(“file of lines:”,file_lengthy(“test.txt”))

    Q74.请写一个Python逻辑,计算一个文件中的大写字母数量

    import os
    
    os.chdir('C:\Users\lifei\Desktop')
    
    with open('Today.txt') as today:
    
    count=0
    
    for i in today.read():
    
    if i.isupper():
    
    count+=1
    
    print(count)

    Q75.在Python中为数值数据集编写排序算法

    以下代码可用于在Python中对列表进行排序:

    list = ["1", "4", "0", "6", "9"]
    
    list = [int(i) for i in list]
    
    list.sort()
    
    print (list)
    
    Django有关

    Q76.请解释或描述一下Django的架构

    对于Django框架遵循MVC设计,并且有一个专有名词:MVT,

    M全拼为Model,与MVC中的M功能相同,负责数据处理,内嵌了ORM框架;

    V全拼为View,与MVC中的C功能相同,接收HttpRequest,业务处理,返回HttpResponse;

    T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html,内嵌了模板引擎

    Q77.Django,Pyramid和Flask之间的差异

    Flask是一个“微框架”,主要用于具有更简单要求的小型应用程序。

    Pyramid适用于大型应用程序,具有灵活性,允许开发人员为他们的项目使用数据库,URL结构,模板样式等正确的工具。

    Django也可以像Pyramid一样用于更大的应用程序。它包括一个ORM。

    Q78.讨论Django架构

    Django架构

    开发人员提供模型,视图和模板,然后将其映射到URL,Django可以为用户提供服务。

    Q79.解释如何在Django中设置数据库

    Django使用SQLite作为默认数据库,它将数据作为单个文件存储在文件系统中。

    如过你有数据库服务器-PostgreSQL,MySQL,Oracle,MSSQL-并且想要使用它而不是SQLite,那么使用数据库的管理工具为你的Django项目创建一个新的数据库。

    无论哪种方式,在您的(空)数据库到位的情况下,剩下的就是告诉Django如何使用它。

    这是项目的settings.py文件的来源。

    我们将以下代码行添加到setting.py文件中:

    DATABASES ={‘default’: {‘ENGINE’: ‘django.db.backends.sqlite3’, ‘NAME’: os.path.join(BASE_DIR, ‘db.sqlite3’),

    Q80.举例说明如何在Django中编写VIEW?

    这是我们在Django中使用write一个视图的方法:

    from django.http import HttpResponse
    
    import datetime
    
    def Current_datetime(request):
    
    now =datetime.datetime.now()
    
    html ="It is now %s"%now
    
    return HttpResponse(html)

    返回当前日期和时间,作为HTML文档。

    Q81.提到Django模板的组成部分。

    模板是一个简单的文本文件。

    它可以创建任何基于文本的格式,如XML,CSV,HTML等。

    模板包含在评估模板时替换为值的变量和控制模板逻辑的标记(%tag%)。

    Q82.在Django框架中解释会话的使用?

    Django提供的会话允许您基于每个站点访问者存储和检索数据。

    Django通过在客户端放置会话ID cookie并在服务器端存储所有相关数据来抽象发送和接收cookie的过程。

    所以数据本身并不存储在客户端。

    从安全角度来看,这很好。

    Q83.列出Django中的继承样式

    在Django中,有三种可能的继承样式:

    抽象基类:当你只希望父类包含而你不想为每个子模型键入的信息时使用;

    多表继承:对现有模型进行子类化,并且需要每个模型都有自己的数据库表。

    代理模型:只想修改模型的Python级别行为,而无需更改模型的字段。

    数据分析

    Q84.什么是Python中的map函数?

    map函数执行作为第一个参数给出的函数,该函数作为第二个参数给出的iterable的所有元素。

    如果给定的函数接受多于1个参数,则给出了许多迭代。

    Q85.如何在NumPy数组中获得N个最大值的索引?

    我们可以使用下面的代码在NumPy数组中获得N个最大值的索引:

    importnumpy as np
    
    arr =np.array([1, 3, 2, 4, 5])
    
    print(arr.argsort()[-3:][::-1])
    
    4 3 1

    Q86.如何用Python/ NumPy计算百分位数?

    importnumpy as np
    
    a =np.array([1,2,3,4,5]
    
    p =np.percentile(a, 50) #Returns 50th percentile, e.g. median
    
    print(p)
    
    3

    Q87.NumPy阵列在(嵌套)Python列表中提供了哪些优势?

    1)Python的列表是高效的通用容器。

    它们支持(相当)有效的插入,删除,追加和连接,Python的列表推导使它们易于构造和操作。

    2)有一定的局限性

    它们不支持元素化加法和乘法等“向量化”操作,可以包含不同类型的对象这一事实意味着Python必须存储每个元素的类型信息,并且必须在操作时执行类型调度代码在每个元素上。

    3)NumPy不仅效率更高,也更方便

    你可以获得大量的矢量和矩阵运算,这有时可以避免不必要的工作。

    4)NumPy数组更快

    你可以使用NumPy,FFT,卷积,快速搜索,基本统计,线性代数,直方图等内置。

    Q88.解释装饰器的用法

    Python中的装饰器用于修改或注入函数或类中的代码。

    使用装饰器,您可以包装类或函数方法调用,以便在执行原始代码之前或之后执行一段代码。

    装饰器可用于检查权限,修改或跟踪传递给方法的参数,将调用记录到特定方法等

    Q89.NumPy和SciPy有什么区别?

    1)在理想的世界中,NumPy只包含数组数据类型和最基本的操作:索引,排序,重新整形,基本元素函数等。

    2)所有数字代码都将驻留在SciPy中。然而,NumPy的一个重要目标是兼容性,因此NumPy试图保留其前任任何一个支持的所有功能。

    3)因此,NumPy包含一些线性代数函数,即使它们更恰当地属于SciPy。无论如何,SciPy包含更多全功能的线性代数模块版本,以及许多其他数值算法。

    4)如果你使用python进行科学计算,你应该安装NumPy和SciPy。大多数新功能属于SciPy而非NumPy。

    Q90.如何使用NumPy / SciPy制作3D绘图/可视化?

    与2D绘图一样,3D图形超出了NumPy和SciPy的范围,但就像2D情况一样,存在与NumPy集成的包。

    Matplotlib在mplot3d子包中提供基本的3D绘图,而Mayavi使用功能强大的VTK引擎提供各种高质量的3D可视化功能。

    爬虫和scary框架

    Q91.scrapy和scrapy-redis有什么区别?为什么选择redis数据库?

    scrapy是一个Python爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。

    而scrapy-redis一套基于redis数据库、运行在scrapy框架之上的组件,可以让scrapy支持分布式策略,Slaver端共享Master端redis数据库里的item队列、请求队列和请求指纹集合。

    因为redis支持主从同步,而且数据都是缓存在内存中的,所以基于redis的分布式爬虫,对请求和数据的高频读取效率非常高。

    Q92.你用过的爬虫框架或者模块有哪些?

    Python自带:urllib,urllib2

    第 三 方:requests

    框 架:Scrapy

    urllib和urllib2模块都做与请求URL相关的操作,但他们提供不同的功能。

    urllib2.:urllib2.urlopen可以接受一个Request对象或者url,(在接受Request对象时候,并以此可以来设置一个URL 的headers),urllib.urlopen只接收一个url

    urllib 有urlencode,urllib2没有,因此总是urllib,urllib2常会一起使用的原因

    scrapy是封装起来的框架,他包含了下载器,解析器,日志及异常处理,基于多线程,。

    twisted的方式处理,对于固定单个网站的爬取开发,有优势;但是对于多网站爬取 100个网站,并发及分布式处理方面,不够灵活,不便调整与括展。

    request 是一个HTTP库, 它只是用来,进行请求,对于HTTP请求,他是一个强大的库,下载,解析全部自己处理,灵活性更高,高并发与分布式部署也非常灵活,对于功能可以更好实现。

    Q93.你常用的mysql引擎有哪些?各引擎间有什么区别?

    主要 MyISAM 与 InnoDB 两个引擎,其主要区别如下:

    1)InnoDB 支持事务,MyISAM 不支持,这一点是非常之重要。事务是一种高

    级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而 MyISAM就不可以了;

    2)MyISAM 适合查询以及插入为主的应用,InnoDB 适合频繁修改以及涉及到安全性较高的应用;

    3)InnoDB 支持外键,MyISAM 不支持;

    4)MyISAM 是默认引擎,InnoDB 需要指定;

    5)InnoDB 不支持 FULLTEXT 类型的索引;

    6)InnoDB 中不保存表的行数,如 select count(*) from table 时,InnoDB;

    需要扫描一遍整个表来计算有多少行,但是 MyISAM 只要简单的读出保存好的行数即可。

    注意的是,当 count(*)语句包含 where 条件时 MyISAM 也需要扫描整个表;

    7)对于自增长的字段,InnoDB 中必须包含只有该字段的索引,但是在 MyISAM表中可以和其他字段一起建立联合索引;

    8)清空整个表时,InnoDB 是一行一行的删除,效率非常慢。MyISAM 则会重建表;

    9)InnoDB 支持行锁(某些情况下还是锁整表,如 update table set a=1 whereuser like ‘%lee%’

    Q94.描述下scrapy框架运行的机制?

    从start_urls里获取第一批url并发送请求,请求由引擎交给调度器入请求队列,获取完毕后,

    调度器将请求队列里的请求交给下载器去获取请求对应的响应资源,并将响应交给自己编写的解析方法做提取处理:

    如果提取出需要的数据,则交给管道文件处理;

    2)如果提取出url,则继续执行之前的步骤(发送url请求,并由引擎将请求交给调度器入队列…),直到请求队列里没有请求,程序结束。

    Q95.什么是关联查询,有哪些?

    将多个表联合起来进行查询,主要有内连接、左连接、右连接、全连接(外连接)

    Q96.写爬虫是用多进程好?还是多线程好? 为什么?

    IO密集型代码(文件处理、网络爬虫等),多线程能够有效提升效率(单线程下有IO操作会进行IO等待,造成不必要的时间浪费,

    而开启多线程能在线程A等待时,自动切换到线程B,可以不浪费CPU的资源,从而能提升程序执行效率)。

    在实际的数据采集过程中,既考虑网速和响应的问题,也需要考虑自身机器的硬件情况来设置多进程或多线程。

    Q97.数据库的优化?

    1)优化索引、SQL 语句、分析慢查询;

    2)优化硬件;采用SSD,使用磁盘队列技术(RAID0,RAID1,RDID5)等;

    3)采用MySQL 内部自带的表分区技术,把数据分层不同的文件,能够提高磁盘的读取效率;

    4)选择合适的表引擎,参数上的优化;

    5)进行架构级别的缓存,静态化和分布式;

    6)采用更快的存储方式,例如 NoSQL存储经常访问的数据

    Q98.分布式爬虫主要解决什么问题?

    1)ip

    2)带宽

    3)cpu

    4)io

    Q99.爬虫过程中验证码怎么处理?

    1)scrapy自带

    2)付费接口

    Q100.常见的反爬虫和应对方法?

    1)通过Headers反爬虫从用户请求的Headers反爬虫是最常见的反爬虫策略。

    可以直接在爬虫中添加Headers,将浏览器的User-Agent复制到爬虫的Headers中;或者将Referer值修改为目标网站域名。

    2)基于用户行为反爬虫

    通过检测用户行为,例如同一IP短时间内多次访问同一页面,或者同一账户短时间内多次进行相同操作。

    大多数网站都是前一种情况,对于这种情况,使用IP代理就可以解决。

    可以专门写一个爬虫,爬取网上公开的代理ip,检测后全部保存起来。

    有了大量代理ip后可以每请求几次更换一个ip,这在requests或者urllib2中很容易做到,这样就能很容易的绕过第一种反爬虫。

    对于第二种情况,可以在每次请求后随机间隔几秒再进行下一次请求。

    有些有逻辑漏洞的网站,可以通过请求几次,退出登录,重新登录,继续请求来绕过同一账号短时间内不能多次进行相同请求的限制。

    3)动态页面的反爬虫

    首先用Fiddler对网络请求进行分析,如果能够找到ajax请求,也能分析出具体的参数和响应的具体含义,我们就能采用上面的方法。

    直接利用requests或者urllib2模拟ajax请求,对响应的json进行分析得到需要的数据。

    但是有些网站把ajax请求的所有参数全部加密了,没办法构造自己所需要的数据的请求。

    这种情况下就用selenium+phantomJS,调用浏览器内核,并利用phantomJS执行js来模拟人为操作以及触发页面中的js脚本。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Python
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    IntelliJ IDEA macOS版
    IntelliJ IDEA macOS版

    IntelliJ IDEA 是 JetBrains 推出的专业集成开发环境,重点服务于 Java、Kotlin 与 JVM 项目开发。软件集成代码补全、静态检查、重构、调试、测试、版本控制及构建工具,并可借助插件扩展语言和框架支持。

    PyCharm macOS版
    PyCharm macOS版

    JetBrains PyCharm 是面向 Python 开发者的集成开发环境,提供智能补全、代码检查、重构、调试、测试、版本控制及虚拟环境管理功能。Mac 版兼容 Intel 与 Apple 芯片,核心功能可免费使用。

    WebStorm macOS版
    WebStorm macOS版

    JetBrains WebStorm 是面向 JavaScript、TypeScript 和现代 Web 技术的专业集成开发环境,可智能理解项目结构,提供代码补全、重构、错误检查、运行调试、测试及 Git 工具。

    After Effects macOS版
    After Effects macOS版

    Adobe After Effects 是面向动态图形、影视特效与视频合成的专业创作软件。它提供关键帧动画、遮罩抠像、运动跟踪、三维空间、文字动画和表达式等工具,并可与 Premiere Pro、Photoshop、Illustrator

    Audition macOS版
    Audition macOS版

    Adobe Audition 是面向播客、影视后期、音乐制作及内容创作者的专业音频工作站,提供波形精修、多轨录制与混音、频谱编辑、降噪修复、响度匹配和效果处理工具,并可与 Adobe Premiere 协同完成视频声音制作。

    Bridge macOS版
    Bridge macOS版

    Adobe Bridge 是面向摄影师、设计师及内容团队的免费数字资产管理工具,可集中预览照片、视频和 Adobe 项目文件,并利用评级、标签、关键词、元数据、筛选与收藏集完成分类检索。它还支持批量重命名、格式导出、相机导入及 Camera

    Illustrator macOS版
    Illustrator macOS版

    Adobe Illustrator 是 Adobe 推出的专业矢量图形设计软件,适合在 Mac 上制作标志、图标、插画、包装、信息图及印刷版面。它以路径和锚点构建可无损缩放的图形,并提供钢笔、形状、文字、图像描摹、渐变、画板及生成式功能。

    InDesign macOS版
    InDesign macOS版

    Adobe InDesign 是面向印刷品与数字出版物的专业版面设计软件,可在 Mac 上制作书籍、杂志、宣传册、海报、报告及交互式文档。它提供精细的文字样式、网格、母版、长文档管理和印前输出能力。

    Lightroom Classic macOS版
    Lightroom Classic macOS版

    Adobe Lightroom Classic 是面向桌面摄影工作流的照片管理与后期处理软件,可将原始照片保存在本地硬盘,通过目录、关键词、评分和收藏夹高效整理图库,并提供 RAW 冲印、蒙版、镜头校正、批量同步及多格式导出等功能。

    Media Encoder macOS版
    Media Encoder macOS版

    Adobe Media Encoder 是 Adobe 推出的专业音视频编码与转码工具,可通过队列、预设和监视文件夹批量完成格式转换、代理文件创建及多平台成片输出,并与 Premiere Pro、After Effects 等软件紧密协作。

    Photoshop macOS版
    Photoshop macOS版

    Adobe Photoshop 是面向摄影师、设计师和内容创作者的专业图像处理软件,提供图层、蒙版、选区、修复、调色、文字排版、智能对象及生成式编辑等能力。Mac 版支持 Intel 与 Apple Silicon 处理器。

    Premiere Pro macOS版
    Premiere Pro macOS版

    Adobe Premiere Pro 是面向专业视频制作的非线性剪辑软件,提供多轨时间线、调色、音频处理、字幕、代理工作流和多格式输出能力,并可与 After Effects、Audition、Photoshop 及 Frame.io 协同

    WINDOWS 更多
    IntelliJ IDEA Windows版
    IntelliJ IDEA Windows版

    JetBrains IntelliJ IDEA 是以 Java、Kotlin 和 JVM 项目为核心的专业集成开发环境,提供智能补全、代码检查、安全重构、调试、测试、版本控制及构建工具集成。统一发行版的核心功能可免费用于商业和非商业项目,

    PhpStorm Windows版
    PhpStorm Windows版

    PhpStorm 是 JetBrains 面向 PHP 与现代 Web 开发打造的专业集成开发环境,提供代码补全、静态检查、重构、调试、测试、数据库、版本控制及前端语言支持。Windows 用户可直接下载安装程序,

    PyCharm Windows版
    PyCharm Windows版

    PyCharm 是 JetBrains 推出的 Python 集成开发环境,提供智能代码补全、错误检查、重构、调试、测试、Git、终端及 Jupyter Notebook 支持。统一版安装后可体验 30 天 Pro 功能,

    WebStorm Windows版
    WebStorm Windows版

    WebStorm 是 JetBrains 面向 JavaScript、TypeScript 和现代 Web 技术打造的集成开发环境。它提供项目级代码分析、智能补全、安全重构、导航搜索,并集成调试、测试、终端、Git 与常用前端工具,

    Photoshop Windows版
    Photoshop Windows版

    Adobe Photoshop 是面向摄影师、设计师和内容创作者的专业图像处理工具,可在 Windows 上完成照片修饰、选区抠图、图层合成、文字排版、绘画及生成式编辑。软件采用订阅授权,由 Creative Cloud 管理安装、更新与许

    InDesign Windows版
    InDesign Windows版

    Adobe InDesign 是面向印刷与数字出版的专业页面排版工具,可制作书籍、杂志、宣传册、海报、交互式 PDF 和电子书。它提供精细的文字样式、多页面管理、印前检查及多格式输出能力,并能与 Photoshop、Illustrator

    Illustrator Windows版
    Illustrator Windows版

    Adobe Illustrator 是用于绘制矢量图形、插画、图标、徽标和版式的专业设计工具。它以路径和锚点为核心,作品放大后仍能保持清晰,并提供画板、文字、渐变、图像描摹及精确变换等功能,适合品牌视觉、印刷物料、数字界面和商业插画创作。

    Bridge Windows版
    Bridge Windows版

    Adobe Bridge 是 Adobe 推出的创意资产管理工具,可集中预览、分类和查找照片、视频、PDF及多种设计文件,并支持元数据、关键词、评级、批量重命名和格式导出。它可与 Photoshop、Illustrator 等应用衔接,

    Lightroom Classic Windows版
    Lightroom Classic Windows版

    Adobe Lightroom Classic 是面向 Windows 桌面摄影工作流的照片管理与无损编辑工具,可通过目录集中整理大型图库,并完成 RAW 显影、局部蒙版、批量调整、打印和多格式导出。它强调本地文件管理与精细控制,

    Acrobat Pro Windows版
    Acrobat Pro Windows版

    Adobe Acrobat Pro 是面向专业 PDF 工作的综合解决方案,可在 Windows 中创建、编辑、转换、比较、整理和保护文档,并支持表单、电子签名、扫描件文字识别及敏感信息永久遮盖。订阅还包含网页、移动服务和云端协作能力,

    After Effects Windows版
    After Effects Windows版

    Adobe After Effects 是面向动态图形、动画与影视视觉特效制作的专业工具,可完成关键帧动画、图层合成、遮罩跟踪、抠像、文字动画和二维三维元素整合。Windows 版通过 Adobe Creative Cloud 安装及更新,

    Media Encoder Windows版
    Media Encoder Windows版

    Adobe Media Encoder 是 Adobe 面向视频与音频制作流程提供的专业编码和转码工具,可批量处理媒体文件、创建代理、套用输出预设并监控文件夹自动执行任务。它与 Premiere、After Effects、Audition