精华内容
下载资源
问答
  • #定义了一个list nameList = ['accp','8.0','czkt','soft','engineer'...#在Python里可以用切片语法,比如取出0,1,2(不含3)索引的元素 print(nameList[0:3])#输出: ['accp', '8.0', 'czkt'] #或者从0开始可以简化成na
    #定义了一个list
    nameList = ['accp','8.0','czkt','soft','engineer','train']
    #经常会有取出来某一个范围的元素来使用,for循环显得繁琐
    #在Python里可以用切片语法,比如取出0,1,2(不含3)索引的元素
    print(nameList[0:3])#输出: ['accp', '8.0', 'czkt']
    #或者从0开始可以简化成nameList[:3]
    
    #还可以用负数下标,表示倒数范围,如从倒数第三个到倒数第一个的两个元素:
    print(nameList[-3:-1])#输出: ['soft', 'engineer']
    #如果-1省略,表示切片直至末尾。可以得出结论:范围的省略部分,表示直到头或尾
    print(nameList[-3:])#输出: ['soft', 'engineer', 'train']
    
    #不仅可以从list中截取片段,还以指定隔几个选一个出来,
    #如下两个冒号前的索引未填,表示从头至尾,最后的2表示每隔2个取一个(1/3/5):
    print(nameList[::2])#输出: ['accp', 'czkt', 'engineer']
    
    #Python版的substring如何实现?
    print('liudun-is-a-goodboy'[:7])#输出: 'liudun-'
    

    展开全文
  • Python是一种广泛使用的解释型、高级编程、通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。这篇文章主要介绍了Python和Java的语法对比,语法简洁python的确完美胜出 ,需要的朋友可以参考下
  • Python语法

    2019-12-17 08:52:27
    Python语法相对比C,C++,Java更加简洁,比较符合人的正常思维。本篇介绍Python的基本语法,通过本篇文章你可以学到以下内容。 掌握Python的基本语法 识别Python中的关键字 Python是一门脚本语言,有以下特点: ...

    Python基本语法

    Python的语法相对比C,C++,Java更加简洁,比较符合人的正常思维。本篇介绍Python的基本语法,通过本篇文章你可以学到以下内容。

    • 掌握Python的基本语法
    • 识别Python中的关键字

    Python是一门脚本语言,有以下特点:

    • 面向对象:类
    • 语法块:使用缩进进行标记
    • 注释: #单行注释,""“多行注释”"",’’‘我也是多行注释’’
    • 打印与输出:print(), input()
    • 变量: 变量在赋值的时候确定变量的类型
    • 模块:通过import 模块名进行加载模块

    Python的标识符

    标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。

    标识符的命名遵循以下规定:

    • 开头以字母或者下划线_,剩下的字符数字字母或者下划线
    • Python遵循小驼峰命名法
    • 不是使用Python中的关键字进行命名

    代码示例:

    num = 10 # 这是一个int类型变量
    

    错误命名示例:

    123rate(数字开头)、 mac book pro(含有空格)class(关键字)
    

    Python关键字
    以下列表中的关键字不可以当做标识符进行使用。Python语言的关键字只包含小写字母。

    and exec not
    assert finally or
    break for pass
    class from print
    continue global raise
    def if return
    del import try
    elif in while
    else is with
    except lambda yield

    Python语句的缩进

    Python相对于传统语言(C,Java)而言最大的不同之处就是没有大括号{},而是使用缩进对齐表示代码逻辑。行末没有分号;直接另起下行即可,接近于伪代码。代码风格以‘优雅’,‘简单’著称。

    代码示例:

    def main():
        # 通过缩进标记函数代码块
        print("这是一个主函数")
        print("我是函数内部的代码块")
    

    如果缩进没有对齐,长产生对应的语法错误或者是缩进错误。

    Python的多行语句

    Python语句中行末没有分号;直接另起下行即可。

    可以使用斜杠进行多行显示,代码如下:

    num1 = 10
    num2 = 20
    num3 = 30
    result = num1 + \
            num2 + \
            num3
    

    如果是list,dict,tuple就不需要多行连接符。如下所示:

    nums_list = [1, 2, 3, 4
    5, 6, 7]
    

    Python中引号的使用

    Python语言中,使用单引号'和双引号"表示字符串数据类型。注意:引号必须成对出现。代码如下:

    string = "python666"
    string1 = 'python'
    string2 = """我是字符串内容"""
    string3 = '''我是字符串内容'''
    

    Python中的注释

    Python语言中,两种注释:单行注释(#)和多行注释(单引号和双引号),例子如下:

    # 你好,我是单行注释
    '''
    我是多行注释
    '''
    """
    我也是多行注释
    """
    

    Python空格和换行

    Python语言之所以简洁,是因为在代码中添加了空格和空行。书写代码时不添加空格和空行不会报错,加上之后只是为了代码的可读性。

    string = "abc"
    

    变量中,等于号左右两边使用了空格,看起来更加美观。

    def func():
        pass
    
    
    def main():
        pass
    

    函数和函数之间空两行,更加美观。

    打印

    Python中打印是一个内置函数。print()默认换行,如果不想换行加上end参数。

    print('hello world', end='')
    

    输入

    Python中输入是一个内置函数。input()函数,注意默认是输入一个字符串。

    str_name = input("请输入你的名字")
    

    注意:括号里面的是一个提示信息。

    有需要的话可以关注我的微信公众号,会第一时间接收最新的知识。

    image

    展开全文
  • 7种表达简洁Python 语法

    千次阅读 2018-12-09 08:30:44
    在所有的高级计算机语言中,Python 是最接近人类自然语言的。Python语法、风格都与英文的书写习惯非常接近,Python 的这种风格被称为 Pythonic。P...
        

    640?wx_fmt=png


    在所有的高级计算机语言中,Python 是最接近人类自然语言的。Python 的语法、风格都与英文的书写习惯非常接近,Python 的这种风格被称为 Pythonic。


    Python 是一门用途广泛、易读、而且容易入门的编程语言。但同时 python 语法也允许我们做一些很奇怪的事情。


    1、使用 lambda 表达式重写多行函数

    众所周知 python 的 lambda 表达式不支持多行代码。但是可以模拟出多行代码的效果。

    def f():

        x = 'string'

        if x.endswith('g'):

            x = x[:-1]

        r = ''

        for i in xrange(len(x)):

            if x[i] != 'i':

                r += x[i]

        return r

    f()

    -> 'strn'


    虽然看起来很奇怪,但是上面的函数可以使用下面的 lambda 表达式函数代替:


    (lambda: ([x for x in ['string']], x.endswith('g') and [x for x in [x[:-1]]], [r for r in ['']], [x[i] != 'i' and [r for r in [r+x[i]]] for i in xrange(len(x))], r)[-1])()

    -> 'strn'


    永远不要在生产环境写这样的代码 :)

    2、三元运算符

    现代的 python 提供了更简便的语法:

    b if a else c


    也可以通过下面的方式重写:


    (a and [b] or [c])[0]

     

    (b, c)[not a]


    顺便说一下,下面的变体是错误的:


    a and b or c

    True and [] or [1] -> [1], but: [] if True else [1] -> []


    3、通过列表推导式移除重复的元素

    让我们来把字符串 x = 'tteesstt' 转换成 'test' 吧。

    1.在原字符串中和上一个字符比较:

    ''.join(['' if i and j == x[i-1] else j for i,j in enumerate(x)]


    2.把前一个字符保存到临时变量中:


    ''.join([('' if i == a else i, [a for a in [i]])[0] for a in [''] for i in x])

    ''.join([('' if i == a.pop() else i, a.append(i))[0] for a in [['']] for i in x])


    3.在新字符串中和上一个字符比较:


    [(not r.endswith(i) and [r for r in [r+i]], r)[-1] for r in [''] for i in x][-1]


    4.通过 reduce 函数和 lambda 表达式:


    reduce(lambda a, b: a if a.endswith(b) else a + b, x)


    4、通过列表推导式获得斐波拉契数列

    1.把中间值保存在列表中


    [(lambda: (l[-1], l.append(l[-1] + l[-2]))[0])() for l in [[1, 1]] for x in xrange(19)]

    [(l[-1], l.append(l[-1] + l[-2]))[0] for l in [[1, 1]] for x in xrange(19)]


    2.把中间值保存到字典中:


    [i for x in [(lambda: (l['a'], l.update({'a': l['a'] + l['b']}), l['b'], l.update({'b': l['a'] + l['b']}))[::2])() for l in [{'a': 1, 'b': 1}] for x in xrange(10)] for i in x]

    [i for x in [(l['a'], l.update({'a': l['a'] + l['b']}), l['b'], l.update({'b': l['a'] + l['b']}))[::2] for l in [{'a': 1, 'b': 1}] for x in xrange(10)] for i in x]


    3.通过 reduce 函数和 lambda 表达式:


    reduce(lambda a, b: a + [a[-1] + a[-2]], xrange(10), [1, 1])

    reduce(lambda a, b: a.append(a[-1] + a[-2]) or a, xrange(10), [1, 1])


    4.速度最快的变体:


    [l.append(l[-1] + l[-2]) or l for l in [[1, 1]] for x in xrange(10)][0]


    5、使用列表推导式产生死循环

    [a.append(b) for a in [[None]] for b in a]

    列表切片技巧

    1.复制列表:


    l = [1, 2, 3]

    m = l[:]

    m

    -> [1, 2, 3]


    2.移除/替换 列表中的任意元素:


    l = [1, 2, 3]

    l[1:-1] = [4, 5, 6, 7]

    l

    -> [1, 4, 5, 6, 7, 3]


    3.在列表的开头添加元素:


    l = [1, 2, 3]

    l[:0] = [4, 5, 6]

    l

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


    4.在列表的尾部添加元素:


    l = [1, 2, 3]

    l[-1:] = [l[-1], 4, 5, 6]

    l

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


    5.反转列表:


    l = [1, 2, 3]

    l[:] = l[::-1]


    6、替换方法字节码

    Python 阻止替换类实例中的方法,因为 python 给类实例中的方法赋予了只读属性:

    class A(object):

        def x(self):

            print "hello"

    a = A()

    def y(self):

        print "world"

    a.x.im_func = y

    -> TypeError: readonly attribute


    但是可以在字节码的层面上进行替换:


    a.x.im_func.func_code = y.func_code

    a.x()

    -> 'world'


    注意! 这不仅对当前的实例有影响,而且对整个类都有影响(准确的说是与这个类绑定的函数)(译者注:此处应该是笔误,推测作者原意是:准确的说是与这个函数绑定的所有类),并且所有其他的实例也会受到影响:


    new_a = A()

    new_a.x()

    -> 'world'


    7、让可变元素作为函数参数默认值

    把可变对象作为函数参数的默认值是非常危险的一件事,并且在面试中有大量关于这方面棘手的面试问题。但这一点对于缓存机制非常有帮助。

    1.阶乘函数:


    def f(n, c={}):

        if n in c:

            return c[n]

        if (n < 2):

            r = 1

        else:

            r = n * f(n - 1)

        c[n] = r

        return r

    f(10)

    -> 3628800

    f.func_defaults

    ({1: 1,

      2: 2,

      3: 6,

      4: 24,

      5: 120,

      6: 720,

      7: 5040,

      8: 40320,

      9: 362880,

      10: 3628800},)


    2.斐波拉契数列:


    def fib(n, c={}):

        if n in c:

            return c[n]

        if (n < 2):

            r = 1

        else:

            r = fib(n - 2) + fib(n - 1)

        c[n] = r

        return r

    fib(10)

    -> 89

    fib.func_defaults[0].values()

    -> [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]


    个人觉得,在所有的高级计算机语言中,Python 是最接近人类自然语言的。Python 的语法、风格都与英文的书写习惯非常接近,Python 的这种风格被称为 Pythonic,如条件表达式,在 Java 和 C++ 中是这样的:


    int min = x < y ? x : y

    而 Python 是这样的:

    min = x if x < y else y

    显然,更加接近人的自然思维。

    ∞∞∞

    640?wx_fmt=png

    公众号回复“IT派”

    邀你加入IT派 { 技术青年圈} 

    展开全文
  • Python基础语法

    2018-09-28 16:26:05
    Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至...
  • 【python】python语法

    2021-03-12 21:01:43
    python 语法糖 1. 什么是语法糖???? 语法糖是由编程语言提供的一种可以让我们写出来的代码在不影响语句执行的功能的条件下,能够让我们的代码看起来更简洁和美观的一种语法。 很多人刚开始接触语法糖的时候,总会...

    python 语法糖

    1. 什么是语法糖🍬

    语法糖是由编程语言提供的一种可以让我们写出来的代码在不影响语句执行的功能的条件下,能够让我们的代码看起来更简洁和美观的一种语法。

    很多人刚开始接触语法糖的时候,总会说这样一句:“最讨厌语法糖,不好好说话”,当学会使用了语法糖之后:
    在这里插入图片描述

    要说语法糖这东西,其实可以联想到C语言大神,能把宏定义玩出花来,被玩出花来的宏我愿称之为自创语法糖。

    2. 经典的 a 和 b

    当我们需要交换两个数字的值的时候,相信很多人都写过这句代码

    a, b = 10, 20
    t = a
    a = b
    b = t
    print(a, b)
    

    python给我们提供了一种交换a 和 b的值的语法糖

    a, b = 10, 20
    a, b = b, a
    print(a, b)
    

    程序输出为:

    20 10

    实际上,在python内部,这句a, b = b, a在使用了之后,内存空间的变化如下:

    刚开始:
    在这里插入图片描述

    交换后:
    在这里插入图片描述

    学习C语言指针从入门到入坟的人:DNA动了😂

    3. 数字用下划线间隔

    当我们需要一个很大很大的整数的时候,比如一百亿,我们采用以下写法

    >>> a = 10000000000
    >>> a
    10000000000
    

    啊,个,十,百,千,万,十万,百万,千万,亿,十亿,百亿……

    这里可以使用科学计数法,但是还有另外一种方法让我们看清这个数字更加的容易,当然,记不住千,百万,亿……等跳跃性单位的人还是要一个一个数的,只是变得好数了一点。

    >>> a = 10_000_000_000
    >>> a
    10000000000
    

    使用下划线可以在编写数字的时候把数字划分开,方便我们阅读(悦读)

    4. 数字大小的比较

    当我们需要判断一个学生的成绩在80到90,学生的成绩为良的时候,在某些语言中,我们需要这么写:

    在这里插入图片描述

    if (grade >= 80 && grade < 90)
    {
        printf("%s\n","good");
        //cout << "good" << endl;
    }
    

    这判断条件看的眼睛都花了,,

    python就比较善解人意了,只需要这样写,和我们做数学题的时候表示区间范围一模一样~简单易懂

    if 80 <= grade < 90:
        print('良')
    

    除了以上这个,我们在判断很多变量之间的大小关系的时候,再也不用两两比对了,而是可以写为下面这种:

    >>> x = 1
    >>> y = 2
    >>> z = 3
    >>> n = 4
    >>> m = 5
    >>> if x < y < z < n < m:
    	print('life is short, we need python!')
    

    程序输出为:

    life is short, we need python!

    5. 列表相加

    我们有两个列表,现在我们需要把两个列表合并,按照传统的某些语言的写法,我们需要一个一个元素挪,但是python不用,我们直接相加就好

    >>> lis1 = [1, 2, 3, 4, 5]
    >>> lis2 = [6, 7, 8, 9, 0]
    >>> print(lis1 + lis2)
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
    

    我测试过元组,也可以输出结果,但是元组属于不可更改对象,所以不建议元组相加。

    6. 列表切片

    现在我们拥有一个列表,我们需要把列表中的一块内容取下,按照某些编程语言的逻辑,我们需要得到需要的内容的首元素下标和截至元素的下标,然后使用一个循环获取,不难,但是麻烦,python就提供了列表切片的语法,字符串,元组也同样适用

    >>> list1 = [2, 4, 6, 8, 10]
    >>> list1[:5]
    [2, 4, 6, 8, 10]
    >>> list1[3:5]
    [8, 10]
    >>> list1[1:4]
    [4, 6, 8]
    

    我们可以在中括号内输入我们获取的列表中的元素的首地址和截至元素的地址,切片语法有几个重点

    • list[start : end]获取我们需要的范围
    • start默认为0,end 默认为列表的长度
    • 切片的区间为左闭右开区间,也就是list[start]能够取到,list[end]不能取到

    7. 三元表达式

    当我们使用C/C++语法的时候需要写if-else 语句的时候,我们可以使用三元表达式替换if-else语句,

    int a;
    int b;
    int max;
    if (a > b) {
        max = a;
    } else {
        max = b;
    }
    

    这里是简单的三元表达式,当我们使用C/C++中的三元运算符简化的时候

    int a;
    int b;
    int max;
    max = a > b ? a : b;//等价以上的if-else语句
    

    python也提供相似的功能

    _max = a if a > b else b
    

    三元表达式语法可以表达为:

    结果 = 选项一 if 条件 else 选项二

    如果条件为真选前面的, 如果条件为假选后面的那个

    8. 元素的打包和解包

    当我们有一个元组,里面用来存一个空间中的坐标,比如:

    (1, 3, 5)

    现在我们需要把三个元素拿出来,一般的写法是:

    >>> zi = (1, 3, 5)
    >>> x = zi[0]
    >>> y = zi[1]
    >>> z = zi[2]
    >>> x, y, z
    (1, 3, 5)
    

    其实不用,我们只需要这样写

    >>> x, y, z = zi
    >>> x
    1
    >>> y
    3
    >>> z
    5
    >>> 
    

    用这种方法匹配一个元组,我们用来直接匹配的数字和元组元素的数量一定要一模一样,多了少了都不行,同样,列表也同样可以一键匹配,并且反向打包也可以

    #接上
    >>> lis = x, y, z
    >>> lis
    (1, 3, 5)
    

    9. 列表推导式

    列表推导式应该是所有语法糖中最常用的了,甚至我们还能在列表推导式后面加判断条件

    >>> list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> list3 = [x for x in list2]
    >>> list3
    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> list4 = [x for x in list2 if x % 2 == 0]#加判断条件
    >>> list4
    [2, 4, 6, 8]
    

    虽然叫做列表推导式,但是我们集合,字典也能够使用

    集合:

    >>> list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> set1 = {x for x in list2}
    >>> set1
    {1, 2, 3, 4, 5, 6, 7, 8, 9}
    

    字典:

    >>> list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> dict1 = {i : i + 100 for i in list2 if i % 2 == 0}
    >>> dict1
    {2: 102, 4: 104, 6: 106, 8: 108}
    
    展开全文
  • 众多的python语法中,我想列表推导式是最优雅的,而且很简短的一句话,超越Java n 行代码,这也是为什么现在很多coder喜欢python的原因。举个例子求列表各元素的平方: >>> arr = [1, 2, 3, 4, 5] >>...
  • python的语法规范非常重要,简洁明了是python的特性,以下是python语法的一些说明 python3的编码格式是unicode(utf-8) 标识符的规则:由字母、数字、下划线组成,且字母不能开头 命名规则:大驼峰(MyName), 小驼峰...
  • Python超级简洁的高深语法之四:assert Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。 断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况...
  • python语法介绍

    2013-05-13 16:11:18
    python,简单易学,功能强大的编程语言 高效率的高层数据结构 简单而有效地实现面向对象编程 语法简洁,支持动态输入 跨平台的理想的脚本语言 适用于快速的应用程序开发。
  • Python的设计哲学强调代码的可读性和简洁语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比于C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让...
  • Python 最初是作为一种教学语言开发的,由于它易用性和简洁语法使它受到初学者和专家的欢迎。 Python 语法的整洁性导致一些人将其称为“可执行伪代码”,而事实上,根据我的经验,与阅读类似的用 C 语言编写的程序...
  • 基础 字符串和列表 元组 集合 条件控制 总结 python语法由于没有类型限制和符号限制,比java语法更加简洁。但是作为一个java程序员,如果要习惯这种无类型,无符号的编程需要时间。 ...
  • 源 / IT技术头条Python 是一门用途广泛、易读、而且容易入门的编程语言。但同时 python 语法也允许我们做一些很奇怪的事情。1、使用 lambda 表达式重写...
  • Python语法的“一五一十”

    万次阅读 多人点赞 2019-11-20 10:52:42
    简单、优雅,是 Python 的哲学理念,因而 Python语法,相对其它语言来说,也是非常得简洁明了。归纳起来,可以用12345和一个10来概括Python的基础语法。初学者只要理解掌握了这“一五一十”,就可以登堂入室了。...
  • python这门语言的弱类型特性,写程序的人爽了,读程序的人心情复杂,用一个例子说明吧:最近从github上下的一个seq2seq程式,其中获取data的代码如下:data = pd.read_csv("./data/neural_network_patent_query...
  • Python超级简洁的高深语法之一:with~as with 经常使用在文件操作的场景下,需要先打开文件,操作完成后需要关闭文件。如果不使用with,文件操作通常得这样: fp = open(r"C:\Users\Administrator\Desktop\example....
  • python语法注意事项

    2019-07-26 10:31:00
    python 与 java 和 c语言 等编程语言最大的不同在于,python语法中不需要使用大括号{},而是使用缩进来表示代码块。这样使得代码更加简洁,也不会因为少写一个大括号而出错。 python并没有规定使用几个空格来缩进,...
  • 简洁python语法表达 **kwargs 字典对象前的双星号允许将该字典内容作为命名参数传递给函数,字典的键是参数名,值是传递给函数的值。可以不同kwargs命名该参数。 dict = {'a':1, 'b':2} def addfunc(a,b):...
  • java语法和python语法的一些区别

    千次阅读 2019-06-16 23:22:02
    基础 字符串和列表 元组 集合 条件控制 循环 方法和模块 ...python语法由于没有类型限制和符号限制,比java语法更加简洁。但是作为一个java程序员,如果要习惯这种无类型,无符号的编程需要时间。 ...
  • Python超级简洁的高深语法之五:列表索引/切片 coder是很“懒”的人,说成懒,不如称为“智者”,能用一行搞定的,绝对不废话连篇,又有哪家公司按照代码的行数来绩效考核的呢?我想是没有的,如果说有,为了自己的...
  • 情景假设 有一组dict数据{'id': '123', 'name': 50},需求是将各个键值对按照特定的规则对数值格式进行转换,比如要求id的值是整数,name的值是字符串,按照这样的规则进行转换。 思路说明 为了提高效率,不要对每个...
  • Hypertag提供:通过本机控制块对页面呈现进行高级控制,通过类似Python的导入实现高度的模块化,借助本机自定义标签( hypertags )对代码重用提供了前所未有的支持,。 由Marcin Wojnarski( )撰写。 注意: ...
  • python语法总结

    2018-05-19 17:33:04
    变量名既简洁又具有代表性;尽量不要使用易混淆字母;大小写字母不是一个变量;不要和python里面的关键字混淆2.字符串字符串就是一系列字符。在python中,用单引号或者双引号括起来的都是字符串。而在字符串里面可以...
  • python语法

    2017-09-01 17:23:00
    语法糖指那些没有给计算机语言添加新功能,而... 举个例子:在C语言里用a[i]表示*(a+i),用a[i][j]表示*(*(a+i)+j),这种写法简洁明了,也更好懂了。  实际上从面向过程到面向对象也是一种语法糖啊,C语言可以通过...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,619
精华内容 1,447
关键字:

python语法简洁

python 订阅