zoukankan      html  css  js  c++  java
  • python的语句

    python语句主要有:赋值语句,调用语句,打印语句,if | else、for | else、while | else语句,pass语句,break语句,continue语句,def语句,return语句,yield语句,global语句,nonlocal语句,import语句,from语句,calss语句,try | except | finally语句,raise语句,assert语句,with as语句,del语句。

    赋值语句:基本形式,元组赋值运算,列表赋值运算,序列赋值运算,扩展序列,多目标赋值,增强赋值运算

    1.类型属于对象,而不是变量

    >>> a = 3 #变量名即是变量,但类型却因变量的赋值(对象)的改变而改变
    >>> type(a)#整型
    <class 'int'>
    >>> a = 'string'#字符串
    >>> type(a)
    <class 'str'>
    >>>

    2.共享引用和相等

    >>> name1 = 'ming'
    >>> name2 = name1 #共享‘那么内存’
    >>> name1 = 'lily' #name1开辟新的内存
    >>> name1#新的内存
    'lily'
    >>> name2 #原来的
    'ming'

    >>> name1 is name2
    False #判断是否共享引用

    >>> l = [1,2,3]#列表在原处修改,可变对象支持在原处修改
    >>> m = l#
    >>> l.append(4)
    >>>
    >>> l
    [1, 2, 3, 4]
    >>> m #m随着l的改变而改变
    [1, 2, 3, 4]

    >>> l is m
    True

    3,元组赋值运算(具有位置性)

    >>> name1,name2 = 'ming','llily'
    >>> name1
    'ming'
    >>> name2
    'llily'

    >>>name1,name2 = 'ming'#l两个变量名不能赋值一个,这样把单词拆分为字母,然后一一对应后发现少连个变量名,则会报错

    Traceback (most recent call last):
    File "<pyshell#45>", line 1, in <module>
    name1,name2 = 'ming'
    ValueError: too many values to unpack (expected 2)

    >>> name1 = 'ming','lily' #但一个变量可以赋值两个,是一个元组的形式
    >>> name1
    ('ming', 'lily')

    4,列表运算符(具有位置性,和元组运算符基本相同)

    5,扩展序列 *

    >>> name1,*name2 = 'ming'
    >>> name1 #只匹配第一个字母
    'm'
    >>> name2 #匹配剩下的字母
    ['i', 'n', 'g']

    6,多目标赋值语句(共享引用)

    >>> a=b=c ='ming'
    >>> a,b,c
    ('ming', 'ming', 'ming')

    >>> a is b
    True
    >>> b is c
    True

    7,增强赋值语句(+=, -=, *=, /=, |=, %=, ^=, <<=, **=, >>=, //=)

    x +=2相当于x = x + 2

    8,增强赋值和共享引用

    >>> l = [1,2]
    >>> m = l #m 和了共用一个内存地址
    >>> l = l + [3,4] #形成一个新的内存地址,此l非原来的l
    >>> l,m #两个内存地址
    ([1, 2, 3, 4], [1, 2])
    >>>

    >>> l = [1,2]
    >>> m = l
    >>> l += [3,4]#此l就是原来的l
    >>> l,m #共用一个内存地址
    ([1, 2, 3, 4], [1, 2, 3, 4])
    >>> l is m
    True

    调用语句:函数调用,方法调用

    spam(hello),print(world)这种变量名在括号里面的是函数的调用

    spam.hello(world)带点的是指方法的调用

    一般来说方法的调用支持原处修改,不会生成一个新的内存地址如.sort() .append() .reverse()

    打印操作:标准输出

    python2中print不加括号,是语句,python3中加括号,是函数。

    print和sys.stdout等效

    >>> sys.stdout.write('hello python ')
    hello python
    13
    >>> print('hello world ')
    hello world

  • 相关阅读:
    拓扑排序
    数论初步(费马小定理)
    HDU
    HDU
    八月馒头
    萌新仓鼠,参上!
    新姿势
    字典树
    HDU
    Codeforce
  • 原文地址:https://www.cnblogs.com/Zhu-Xueming/p/8337755.html
Copyright © 2011-2022 走看看