精华内容
下载资源
问答
  • Word代码块

    2020-10-19 13:56:14
    http://www.planetb.ca/syntax-highlight-word

    http://www.planetb.ca/syntax-highlight-word

    展开全文
  • word代码块

    2020-06-02 11:40:00
    http://www.planetb.ca/syntax-highlight-word 这个网址
    展开全文
  • 如果按照其它语言的思路来写Python代码,则会使得代码繁琐复杂,并且容易出现Bug。在Python语言中,有个词很火,Pythonic。有的同学可能不明白这个词的意义,小编的理解就是用Python的写法写代码,而非是其它语言的...

    (点击上方公众号,可快速关注一起学Python)

    Python 与其它语言(比如Java或者C++)相比有比较大的区别,其中最大的特点就是非常简洁。如果按照其它语言的思路来写Python代码,则会使得代码繁琐复杂,并且容易出现Bug。在Python语言中,有个词很火,Pythonic。有的同学可能不明白这个词的意义,小编的理解就是用Python的写法写代码,而非是其它语言的通用的写法,写出Python的特点,写出Python的风格

    下面,就通过几个示例来看一下不同思维的Python代码的差异。

    1、变量值交换

    这个问题最常见,大家从最开始写Java及C++等语言代码都会遇到这个问题。通常是通过一个临时变量来实现的:

    tmp = a
    a = b
    b = tmp

    而Python中可以直接交换两个变量,即:

    a, b = b, a

    2、列表推导式

    列表推导式是Java及C++等语言没有的特性,能够很简洁的实现for循环,可以应用于列表,集合或者字典。

    例如我们要求20以内的整除3的数的平方的列表,可以用如下代码实现:

    numbers = []
    for x in xrange(20):
       if x % 3 == 0:
           numbers.append(x*x)

    而通过列表推导式一行代码即可实现:

    numbers = [x*x for x in range(20) if x % 3 == 0]

    列表推导式也可以用于集合和字典,将[...]变为{...}即可。集合和字典的实现如下所示:

    集合:

    numbers = {x * x for x in range(0, 20) if x % 3 == 0}

    字典:

    numbers = {x: x * x for x in range(0, 20) if x % 3 == 0}

    3、字符串拼接

    这是一个老生常谈的问题,当我们需要将数个字符串拼接的时候,习惯性的使用 "+" 作为连接字符串的手段。

    然而,由于像字符串这种不可变对象在内存中生成后无法修改,合并后的字符串会重新开辟出一块内存空间来存储。因此每合并一次就会单独开辟一块内存空间,这样会占用大量的内存空间,严重影响代码的效率。

    words = ['I', ' ', 'love', ' ', 'Python', '.']

    sentence = ''
    for word in words:
       sentence += '' + word

    解决这个问题的办法是使用字符串连接的join,Python写法如下:

    words = ['I', ' ', 'love', ' ', 'Python', '.']

    sentence = ''.join(words)

    4、如何快速翻转字符串

    Java或者C++等语言的写法是新建一个字符串,从最后开始访问原字符串:

    a = 'I love Python.'

    reverse_a = ''
    for i in range(0, len(a)):
       reverse_a += a[len(a) - i - 1]

    而Python则将字符串看作list,而列表可以通过切片操作来实现反转:

    a = 'I love Python.'
    reverse_a = a[::-1]

    5、for/else语句

    在C语言或Java语言中,我们寻找一个字符是否在一个list中,通常会设置一个布尔型变量表示是否找到:

    cities = ['BeiJing', 'TianJin', 'JiNan', 'ShenZhen', 'WuHan']
    tofind = 'Shanghai'

    found = False
    for city in cities:
       if tofind == city:
           print 'Found!'
           found = True
           break
    if not found:
       print 'Not found!'

    而Python中的通过for...else...会使得代码很简洁,注意else中的代码块仅仅是在for循环中没有执行break语句的时候执行:

    cities = ['BeiJing', 'TianJin', 'JiNan', 'ShenZhen', 'WuHan']
    tofind = 'Shanghai'

    for city in cities:
       if tofind == city:
           print 'Found!'
           break
    else:
       # 执行else中的语句意味着没有执行break
       print 'Not found!'

    另外,while以及try关键字都可以和else搭配使用,具体可以参考小编之前写的文章  Python中else块那点事。

    6、迭代对象善用enumerate类

    enumerate类接收两个参数,其中一个是可以迭代的对象,另外一个是开始的索引。比如,我们想要打印一个列表的索引及其内容,可以用如下代码实现:

    cities = ['BeiJing', 'TianJin', 'JiNan', 'ShenZhen', 'WuHan']

    index = 0
    for city in cities:
       index = index + 1
       print index, ':', city

    而通过使用enumerate则极大简化了代码,这里索引设置为从1开始(默认是从0开始):

    cities = ['BeiJing', 'TianJin', 'JiNan', 'ShenZhen', 'WuHan']
    for index, city in enumerate(cities, 1):
       print index, ":", city

    7、通过lambda来定义函数

    lambda可以返回一个可以调用的函数对象,会使得代码更为简洁。若不使用lambda则需要单独定义一个函数:

    def f(x):
       return x * x

    map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])

    使用lambda后仅仅需要一行代码:

    map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])

    这里注意,lambda生成的是一个可以像其他函数一样使用的函数对象,即

    def f(x):
       return x * x

    等价于  

    lambda x: x * x

    8、应用上下文管理

    在打开文件时,通常是通过捕获异常来进行实现的,并且在finally模块中对文件来进行关闭:

    try:
       file = open('python.txt')
       for line in file:
           print line
    except:
       print "File error!"
    finally:
       file.close()

    而通过上下文管理中的with语句可以让代码非常简洁:

    with open('python.txt') as file:
       for line in file:
           print line

    具体原理可以参考小编之前写的 with语句那点事。

    9、使用装饰器

    装饰器在Python中应用特别广泛,其特点是可以在具体函数执行之前或者之后做相关的操作,比如:执行前打印执行函数的相关信息,对函数的参数进行校验;执行后记录函数调用的相关流水日志等。使用装饰器最大的好处是使得函数功能单一化,仅仅处理业务逻辑,而不附带其它功能

    在函数调用前打印时间函数名相关的信息,不使用装饰器可以用如下代码实现:

    from time import ctime

    def foo():
       print('[%s]  %s() is called' % (ctime(), foo.__name__))
       print('Hello, Python')

    这样写的问题是业务逻辑中会夹杂参数检查,日志记录等信息,使得代码逻辑不够清晰。所以,这种场景需要使用装饰器:

    from time import ctime

    def deco(func):
       def decorator(*args, **kwargs):
           print('[%s]  %s() is called' % (ctime(), func.__name__))
           return func(*args, **kwargs)
       return decorator

    @deco
    def foo():
       print('Hello, Python')

    如果想深入理解装饰器,可以阅读小编之前写的 深入理解Python中的装饰器。

    10、使用生成器

    生成器与列表最大的区别就是,列表是一次性生成的,需要较大的内存空间;而生成器是需要的时候生成的,基本不占用内存空间。生成器分为生成器表达式和生成器函数。

    先看一下列表:

    l = [x for x in range(10)]

    改为生成器只需要将[...]变为(...),即

    g = (x for x in range(10))

    至于生成器函数,是通过yield关键字来实现的,我们以计算斐波那契数列为例,使用列表可以用如下代码来实现:

    def fib(max):
       n, a, b = 0, 0, 1
       fibonacci = []
       while n < max:
           fibonacci.append(b)
           a, b = b, a + b
           n = n + 1
       return fibonacci

    而使用生成器则变为:

    def fib(max):
       n, a, b = 0, 0, 1
       while n < max:
           yield b
           a, b = b, a + b
           n = n + 1

    对生成器感兴趣的可以深入阅读小编之前写的文章 生成器那点事 及 深入理解生成器及协程。

    11、Counter的使用

    通常的词频统计中,我们的思路是:

    需要一个字典,key值存储单词,value存储对应的词频。当遇到一个单词,判断是否在这个字典中,如果是,则词频加1;如果否,则字典中新增这个单词,同时对应的词频设置为1。

    对应的Python代码实现如下:

    #统计单词出现的频次
    def computeFrequencies(wordList):
       #词频字典
       wordfrequencies = {}

       for word in wordList:
           if word not in wordfrequencies:
               # 单词不在单词词频字典中, 词频设置为1
               wordfrequencies[word] = 1
           else:
               # 单词在单词词频字典中, 词频加1
               wordfrequencies[word] = wordfrequencies[word]  + 1
        return wordfrequencies

    有没有更简单的方式呢?答案是肯定的,就是使用Counter。collection 中的 Counter 类就完成了这样的功能,它是字典类的一个子类。Python代码变得无比简洁:

    # 统计单词出现的频次
    def computeFrequencies(wordList):
       #词频字典
       wordfrequencies = Counter(wordList)
       return wordfrequencies

    感兴趣的可以深入阅读小编之前写的文章 Python中的词频统计。

    12、链式比较

    在实际数字比较中,我们可能需要多次比较多次,比如我们判断学习成绩是否位于某个区间:

    x = 79

    >>> x < 80 and x > 70
    True

    而更Pythonic的写法变身链式比较,即:

    x = 79

    >>> 80 < x < 90
    False

    >>> 70 < x < 80
    True

    这种写法给人的感受也更为直观易懂。

    13、函数返回多个值

    在Java语言中,当函数需要返回多个值时,通常的做法是生成一个Response对象,然后将要返回的值写入对象内部。而Python不需要这样做,可以直接返回多个值:

    def f():
       error_code = 0
       error_desc = "成功"
       return error_code, error_desc

    使用的时候也会非常简单:

    code, desc = f()
    print code, desc

    14、使用*运算符

    *运算符和** 运算符完美的解决了将元组参数、字典参数进行  unpack,从而简化了函数定义的形式,如:

    def fun(*args):
       for eacharg in args:
           print 'tuple arg:', eacharg

    fun('I', 'love', 'Python')

    运行的结果为:

    tuple arg: I

    tuple arg: love

    tuple arg: Python

    感兴趣的可以深入阅读小编之前写的文章 Python 中的*args和**kwargs

    15、找出列表中出现最多的数

    这是经常会遇到的一个问题。解决这个问题的其中一个思路是按照标题11提供的词频统计的方法,先统计词频,然后遍历字典,找出具有最大词频的数字。有没有更简洁的方式?

    当然,Python代码如下:

    num = [1, 3, 3, 4, 5, 6, 3, 6, 6, 6]

    print  max(set(num),key=num.count)

    这些Pythonic的代码是否让你耳目一新?你还能写出哪些Pythonic的代码?在留言区跟大家分享一下吧!

    提醒福利

    之前给大家推荐的《Python核心技术与实战》还在优惠期,原价¥99,限时优惠¥68,不要错过了。既然你要学Python为什么不跟着知名公司的一线程序员学呐?100天,带你进阶高手。扫码免费试看

    7e8e46001ee3d6e2566fc846ac5eb506.png

    (完)

    看完本文有收获?请转发分享给更多人

    关注「Python那些事」,做全栈开发工程师

    fa4b350dd84007dcc223e8e371b35b1d.png

    79bef2175e66e1462db69f0ad3b110fb.png

    点「在看」的人都变好看了哦
    展开全文
  • 记笔记是我们从小到大都一直在经历的事情,...但是Office的Word文档作为大多数人的编辑器实在是不方便。今天就给大家安利一款简单好用的东西Markdown,推荐上网课的老师总结知识点用哦!Markdown是一种轻量级标记...
    记笔记是我们从小到大都一直在经历的事情,听课记笔记,看书做笔记,考试复习做笔记,准备面试做笔记,开会做笔记,讨论做笔记,甚至是看剧看电影也要记笔记!而很多小伙伴已经习惯了在电脑上码字的感觉,不喜欢在纸上做笔记。但是Office的Word文档作为大多数人的编辑器实在是不方便。今天就给大家安利一款简单好用的东西Markdown,推荐上网课的老师总结知识点用哦!aba796a9e5e9801349e7ddd9c467b9c6.pngMarkdown是一种轻量级标记语言,创始人是约翰·格鲁伯(John Gruber)。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的HTML文档。                          —— 来自维基百科这句话看起来这么官方,不是我们的风格。简单来说,这就是一个文本编辑器语言。有人和我说Word的排版很麻烦,经常字体的样式和标题的大小都要重新设置,最重要的是对于很多人来说,仅仅只是做一个记录或是做一个笔记,为什么要管这么多格式问题呢?这就是为什么要推荐这个标记语言的原因,Markdown可以给任何文本信息排版,使之更加美观。虽然它是一个文本编辑语言,但是它的语法只需要1-2分钟就能掌握,语法这里就不讲解,感兴趣的同学可以百度一下。45a92c31170b056c33b943f3b97a4d34.png当然作为一个文本编辑语言,除了控制格式的输出,还可以快速插入代码块、表格、数学公式等功能,总之word上面有的功能它都有,很适合程序员们总结知识点。它支持在各种平台上使用,GitHub上面说明文档的语言就是Markdown哦。最最最重要的是,它可以为将文件格式导出为PDF和Word格式等好几种格式,可以给你不用Markdown的朋友装个X01ab0445e3dbc882d392559a434ed86a.png6c3a1dcc026907c88b065630dc08dd1c.png至于编辑的软件,有很多种。Windows系统上的同学,主要推荐Typora这个软件。它支持很多快捷键,如Ctrl+1就是大标题,Ctrl+Shift+k是插入代码块。也支持导出各种格式的文本。Mac系统上可以用Mou,它支持实时预览,可以一边码代码,一边看实时输出的结果,适合现在被迫营业的网课主播使用。01ab0445e3dbc882d392559a434ed86a.png好了,今天的分享就到这里,我们下次再见。
    展开全文
  • 文档中存在带有超链接的网址,无外出两种情况:一是在录入电子邮箱时,由于Word的自动更正功能将邮箱地址转变成超链接形式;二是从网页等其他位置复制文本时,其中内嵌了网址。如下图中的带下划线的部分文字:对于...
  • 大部分老师工作中或多或少都受到过Word的荼毒。Word当然是个很厉害的软件,但是其复杂的细节和操作,有时候会使人崩溃。这并不是一个能让你专注于写作的工具。我自己在多年的工作中,尝试了很多不同的软件和工具,...
  • 今天我们继续分享一个真实的办公自动化需求:如何使Python+Excel+Word批量生成指定格式内容的合同。主要涉及的知识点有:openpyxl模块的综合运用与Word文档的两种遍历逻辑。需求描述你是乙方建筑公司,手上有一份...
  • 之前讲过很多基于Excel的数据及样式调整案例,今天分享一个Python操作Word的真实自动化需求实现过程:「使用Python批量修改Word样式」主要将涉及os模块综合应用glob模块综合应用docx模块读写Word文档及样式修改需求...
  • 引言首先,我不建议用Microsoft Word做数学笔记。它确实有着一些优点:方便、所见即所得、利用OneDrive可以方便地跨平台等,而且也不需要学习什么东西(假的,不然你也不会来搜这篇文)。但是它的缺点也非常明显:...
  • 想必大家有一个问题。什么是词云呢?词云又叫名字云,是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达...代码块imp...
  • Microsoft Word 插入代码块

    万次阅读 2019-03-14 20:10:55
    Microsoft Word 插入代码块
  • word 插入代码块

    2021-05-02 16:08:00
    (1)插入一个1*1的表格; (2)打开vscode,把有格式的代码复制进去; (3)粘贴到word中; (4)调整一下字体大小,以及行间距。
  • Word添加代码块

    千次阅读 2019-04-28 16:55:35
    贴上网址 :http://www.planetb.ca/syntax-highlight-word 复制下来直接放在word上就好
  • Word美化代码块样式

    2020-04-10 18:14:17
    Word美化代码块样式 效果 美化方法只是修改样式,不会自动高亮,高亮是ide完成的,美化只是修改下字体大小,加个底色 新建样式 字体: (中文) 微软雅黑, (默认) 微软雅黑, 字体颜色: 文字 1, 左 行距: 固定值 ...
  • 我们其实也可以在word文档里添加代码块就像博客一样,这样看着很舒服而且还能快速的进行复制粘贴修改等等选中表格然后绘制表格然后点击这个插入表格按钮然后选中生成的这个 右击设置属性还有:然后就可以生成自己的...
  • word中插入代码着色的代码块

    万次阅读 2017-10-23 15:00:09
    怎样在Word中插入代码并保持样式不变 如何优雅地在 microsoft word 插入代码块 Word 中插入 C/C++ 代码 如何在Word中排出漂亮的代码 word2013种如何插入代码着色的代码块
  • Word中插入代码块

    万次阅读 2016-09-13 16:39:21
    Word中将代码块显示出来:方法: 1、创建一个表格 2、将代码复制到表格中 3、设置表格的背景为灰色,无边框形式
  • word中插入代码块

    2019-08-06 10:36:25
    如何在word中插入代码块word中,插入代码块,是比较烦的一件事。 1.打开http://www.planetb.ca/syntax-highlight-word网站 2.将你的代码复制进去,选择编译语言,点击“Show Highlighted” 3.复制格式化后的...
  • 如何在word中插入代码块

    万次阅读 多人点赞 2019-07-04 16:34:00
    word中,插入代码块,是比较烦的一件事。 1.打开http://www.planetb.ca/syntax-highlight-word网站 2.将你的代码复制进去,选择编译语言,点击“Show Highlighted” 3.复制格式化后的代码 4.直接在word中粘贴...
  • 如何在word中插入代码块word中,插入代码块,是比较烦的一件事。 1.打开http://www.planetb.ca/syntax-highlight-word网站 2.将你的代码复制进去,选择编译语言,点击“Show Highlighted” 3.复制格式化后的...
  • 如何向Word中插入代码块

    千次阅读 2020-05-13 10:20:48
    如何向Word中插入代码块 对于一些用Word写的论文,作业中如果要插入代码,无论是直接复制粘贴还是加上灰色无边框的效果看上去十分不美观, 优雅的插入代码块给别人的印象就会好很多。 思路:将代码块的原格式包装成对象...
  • 在Microsoft Word中插入代码块

    千次阅读 2020-03-16 18:09:00
    步骤: 1.打开网页http://www.planetb.ca/syntax-highlight-word将想要插入的代码复制到code框里面,选择相应的语言,点击Show HighLighted,生成新的代码块。...3. 将复制的代码块,粘贴到word中 ...
  • word插入漂亮的代码块

    2021-04-09 21:27:41
    前言 在写毕业论文的时候不可避免...缺点:代码块word文档中没有分隔与突出的效果。 适用场景:作为技术文档非常实用,方便技术人员查看。 借助网页的渲染格式 方式最简单,借助某些帮助网址即可。 原本流传较广的
  • 如何优雅地在 microsoft word 插入代码块标签:插入代码优雅microsoft word文档如何优雅地在 microsoft word 插入代码块此步骤适用于文档中需要插入代码或者某些特定的段落1. 选择菜单表格2. 选择1*1表格3. 设置字体...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 612
精华内容 244
关键字:

word代码块