Python - 基础(一)
数字
在Python 中数的类型有三种——整数、浮点数和复数。
-
2 是一个整数的例子。
-
3.23 和52.3E-4 是浮点数的例子。E 标记表示10 的幂。在这里, 52.3E-4 表示52.3 * 10−4。
-
(-5+4j) 和(2.3-4.6j) 是复数的例子。
在Python 中不用区分‘long int’类型。默认的整数类型可以任意长。
字符串
字符串是字符的序列。字符串基本上就是一组单词。单词可以是英语或其它由Unicode 标准支持的语言,其实这也意味着世界上几乎所有的语言
没有仅仅使用ASCII 的字符串,原因是Unicode 是ASCII 的超集。如果要严格使用ASCII 编码的字节流,可用str.encode("ascii")
单引号
你可以用单引号指定字符串,如’Quote me on this’ 。所有的空白,即空格和制表符都照原样保留。
双引号
在双引号中的字符串与单引号中的字符串的使用完全相同,例如"What’s yourname?" 。
5.6 三引号
利用三引号("""or'''),你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号
转义序列
用\表示转义序列需要说明的是,在一个字符串中,在一行末尾的反斜杠仅仅表示下一行的字符串是上一行的继续。,但并不增加新的行。
自然字符串
如果,你想指定一些不被特殊处理,例如像转义序列,那么,就需要通过在字符串前面附加r 或R 来指定自然字符串。例如,"Newlines are indicated by \n" 。
字符串是不可变的
这意味着一个字符串一旦创建,就不能在改变它。
如果你把两个字符串按字面意义相邻放着,他们会被Python 自动级连。例如,’What\’s”your name?’ 会被自动转为"What’s your name?" 。
format 方法
有时我们并不想用其他信息来构造字符串。这儿format() 方法就很有用。
#!/usr/bin/python
# Filename: str_format.py
age = 25
name = 'Swaroop'
print('{0} is {1} years old'.format(name, age))
print('Why is {0} playing with that python?'.format(name))
标识符的命名
数字,字母,下划线,不能以数字开头,区分大小写
操作符
+ 加
- 减
* 乘
** 乘方
/ 除
// 取整除
% 取余
<< 左移
>> 右移
& 与
| 或
^ 异或
~ 按位取反
< 小于
> 大于
<= 小于等于
>= 大于等于
!= 不等于
not 非
and 且
or 或
优先级
lambda
or
and
not x
in,not in
is,not is
<,<=,>,>=,!=,==
|
^
&
<<,>>
+,-
*,/,//,%
+x,-x
~x
**
x.attribute
x[index]
x[index1:index2]
f(arguments ...)
(expressions, ...)
[expressions, ...]
key:datum, ...
结合顺序
运算符通常是从左往右结合的,例如,有相同优先级的运算符按照从左向右的顺序计算。例如,2+3+4 的顺序是(2+3)+4。一些运算符,如赋值运算符有从右向左的结合顺序,例如a=b=c 被当成a=(b=c) 。