python学习记录

Python学习笔记

最近在学习python的基础,顺便记录一些基本语法

python简介

输入输出

输入和输出分别由大于号和句号提示符 ( >>> 和 ... ) 标注

输入:输入 (提示符后面的) 那些不包含提示符的代码行

!注意!
从属提示符表示你需要在最后多输入一个空行,解释器才能知道这是一个多行命令的结束。

操作符

表达式语法简单:

1 数字操作

运算符 +,-,* 和 / 与其它语言一样(例如:Pascal 或 C);括号 (()) 用于分组。 
  • / 除法 返回的类型取决于它的操作数。

    如果两个操作数都是 int,将采用 floor division 除法(floor division)并返回一个 int。

    如果两个操作数中有一个是 float,将采用传统的除法并返回一个 float。

  • // 运算符用于 floor division 而无论操作数是什么类型。

  • % 操作符计算余数

  • ** 运算符计算幂乘方

  • = 用于给变量赋值。赋值之后,在下一个提示符之前不会有任何结果显示

  • _ 用于最近一个表达式的值赋给变量,连续计算

      支持Decimal 和 Fraction。
      支持复数 ,使用后缀 j 或 J 表示虚数部分
    
  • 复数创建:带有非零实部的复数写为 (real+imagj) ,或者可以用 complex(real, imag) 函数创建。

      复数的实部和虚部总是记为两个浮点数。要从复数 z 中提取实部和虚部,使用 z.real 和 z.imag
    
  • 函数 abs(z) 用于获取其模(浮点数)或 z.real 获取其实部

      >>> a=3.0+4.0j
      >>> float(a)
      Traceback (most recent call last):
        File "<stdin>", line 1, in ?
      TypeError: can't convert complex to float; use abs(z)
      >>> a.real
      3.0
      >>> a.imag
      4.0
      >>> abs(a)  # sqrt(a.real**2 + a.imag**2)
      5.0
    

2 字符串

  • 单引号 ('...') 或双引号 ("...") 标识
  • \ 可以用来转义引号
  • 如果你前面带有 \ 的字符被当作特殊字符,你可以使用 原始字符串,方法是在第一个引号前面加上一个 r
- 字符串文本能够分成多行。一种方法是使用三引号:"""...""" 或者 '''...'''。行尾换行符会被自动包含到字符串中,但是可以在行尾加上 \ 来避免这个行为。下面的示例: 可以使用反斜杠为行结尾的连续字符串,它表示下一行在逻辑上是本行的后续内容 - 字符串可以由 + 操作符连接(粘到一起),可以由 * 表示重复 - 相邻的两个字符串文本自动连接在一起。
	!注意!它只用于两个字符串文本,不能用于字符串表达式
  • 字符串也可以被截取(检索),字符串的第一个字符索引为0。Python没有单独的字符类型;一个字符就是一个简单的长度为1的字符串。

    索引也可以是负数,这将导致从右边开始计算

    除了索引,还支持 切片。索引用于获得单个字符,切片 让你获得一个子字符串

      >>> word[0:2]  # characters from position 0 (included) to 2 (excluded)
      'Py'
      >>> word[2:5]  # characters from position 2 (included) to 5 (excluded)
      'tho'
    

    注意,包含起始的字符,不包含末尾的字符。这使得 s[:i] + s[i:] 永远等于 s

    切片的索引有非常有用的默认值;省略的第一个索引默认为零,省略的第二个索引默认为切片的字符串的大小。

    一个过大的索引值(即下标值大于字符串实际长度)将被字符串实际长度所代替,当上边界比下边界大时(即切片左值大于右值)就返回空字符串

  • 内置函数 len() 返回字符串长度

3 Unicode

  • 引号前的 'u' 表示这会创建一个 Unicode 字符串。如果想要在字符串中包含特殊字符,可以使用 Python 的 Unicode-Escape

      >>> u'Hello\u0020World !'
      u'Hello World !'
    
  • 可以在引号前加 “ur”,Python 会采用 Raw-Unicode-Escape 编码(译者:原始 Unicode 转义)。如果有前缀为 ‘u’ 的数值,它也只会显示为

      >>> ur'Hello\u0020World !'
      u'Hello World !'
      >>> ur'Hello\\u0020World !'
      u'Hello\\\\u0020World !'
    
  • 将一个 Unicode 字符串转换为一个使用特定编码的 8 位字符串,Unicode 对象提供一个 encode() 方法,它接受编码名作为参数。编码名应该小写。:

      >>> u"盲枚眉".encode('utf-8')
      '\xc3\xa4\xc3\xb6\xc3\xbc'
    
  • 如果有一个其它编码的数据,希望可以从中生成一个 Unicode 字符串,你可以使用 unicode 函数,它接受编码名作为第二参数:

      >>> unicode('\xc3\xa4\xc3\xb6\xc3\xbc', 'utf-8')
      u'\xe4\xf6\xfc'
    

4 列表

  • list 复合 数据类型,元素类型可以是不同的数据类型

  • 列表可以被索引和切片

  • 所有的切片操作都会返回一个包含请求的元素的新列表。这意味着下面的切片操作返回列表一个新的(浅)拷贝副本:

      >>> squares[:]
      [1, 4, 9, 16, 25]
    
  • 列表中支持类似于 + 操作

      >>> squares + [36, 49, 64, 81, 100]
      [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    
  • 列表中的数据可以进行修改

  • append()方法可以在list列表的末尾进行添加数据的操作

  • 列表中可以进行切片赋值

      >>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
      >>> letters
      ['a', 'b', 'c', 'd', 'e', 'f', 'g']
      >>> # replace some values
      >>> letters[2:5] = ['C', 'D', 'E']
      >>> letters
      ['a', 'b', 'C', 'D', 'E', 'f', 'g']
      >>> # now remove them
      >>> letters[2:5] = []
      >>> letters
      ['a', 'b', 'f', 'g']
      >>> # clear the list by replacing all the elements with an empty list
      >>> letters[:] = []
      >>> letters
      []
    
  • 内置函数 len() 同样适用于列表

  • 允许嵌套列表(创建一个包含其它列表的列表)

posted @ 2020-01-03 18:26  滴水穿石zcl  阅读(106)  评论(0编辑  收藏  举报