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() 同样适用于列表
-
允许嵌套列表(创建一个包含其它列表的列表)