Python 入门学习之数据类型、字符串、运算符

最近开始学Python,这是一个很强大和便捷的编程语言,日后进行科学计算和科研的时候必然成为主要的编程语言。

本来买了一本Python基础教程(第2版),然而教学顺序不太喜欢,因为一开始并没有讲清楚语法,不能学了立马用到实验中。并且,这本书针对的是没有编程基础的人,讲的比较浅。

Python基础教程(第2版)高清晰PDF+源代码  下载 

在这里把python中特有的,以及和C不同的地方记下来。

数据类型

强制类型转换

字符串

转义字符

自然字符串

Unicode字符串

字符串是不可变的

标识符变量的命名

缩进

运算符

运算优先级

1.数据类型

在python中,有4种数据类型——整数(int)、长整数(long)、浮点数(float)和复数(complex)。

2是一个整数的例子。

长整数不过是大一些的整数。长整型通常在数字后面加L表示,如1000000L。

3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。

(-5+4j)和(2.3-4.6j)是复数的例子。

这里居然有复数,果然比C要方便计算,在C中通常需要自己定义复数类型。

强制类型转换

上面的4中数据类型可以互相转换,还可以转换为字符串类型(str)如:

>>> a=12343434 >>> long(a) 12343434L >>> str(a) '12343434' >>> float(a) 12343434.0 complex(a) (12343434+0j) 2.字符串

可以用单引号和双引号来表示中间为字符串,两者并没有什么差别。当字符串里有引号或者多行时,可以用三引号括起来(”’或者”“”)表示。

在C++中,使用单引号表示char,用双引号表示String。 转义字符

在字符中,若要表示斜杠\,需要使用\,其他特殊符号也是,例如用\’ 表示引号(若没有使用三引号)。程序中可以使用 \ 表示两行是连在一起的,例如

s = 'This is a string. \ This continues the string.' print s

输出:

This is a string. This continues the string. 自然字符串

如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r或R来指定。例如r”Newlines are indicated by \n”。

Unicode字符串

Unicode是书写国际文本的标准方法。如果你想要用中文或者其他非英文文本,那么你需要有一个支持Unicode的编辑器。类似地,Python允许你处理Unicode文本——你只需要在字符串前加上前缀u或U。例如,u”This is a Unicode string.”。

记住,在你处理文本文件的时候使用Unicode字符串,特别是当你知道这个文件含有用非英语的语言写的文本。

字符串是不可变的

这意味着一旦你创造了一个字符串,你就不能再改变它了。虽然这看起来像是一件坏事,但实际上它不是。若要对一个字符进行修改,其实也可以用原来的名字进行赋值,例如:

>>> s='abc' >>> s=s[:2] >>> print s ab 3.标识符(变量的命名)

标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _ ’)。

标识符名称的其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成。

无效 标识符名称的例子有2things、this is spaced out和my-name。

使用变量时只需要给它们赋一个值。不需要声明或定义数据类型。

4.缩进

空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。

这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。

不要混用空格和tab,要是用tab就全部用tab,若用4个空格或2个空格则一直用空格。一个tab和4个空格是不一样的,即使看起来位置一样!

5.运算符

我把值得注意的,和C不一样的列出来:

运算符名称说明例子
**     返回x的y次幂   3 ** 4得到81(即3 * 3 * 3 * 3)  
//   取整除   返回商的整数部分   4 // 3.0得到1.0  
^   按位异或   数的按位异或   5 ^ 3得到6  
~   按位翻转   x的按位翻转是-(x+1)   ~5得到6。  
<=   小于等于   返回x是否小于等于y   x = 3; y = 6; x <= y返回True。  
>=   大于等于   返回x是否大于等于y   x = 4; y = 3; x >= y返回True。  
not   布尔“非”   如果x为True,返回False。如果x为False,它返回True。   x = True; not y返回False。  
and   布尔“与”   如果x为False,x and y返回False,否则它返回y的计算值。   x = False; y = True; x and y,由于x是False,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算。  
or   布尔“或”   如果x是True,它返回True,否则它返回y的计算值。   x = True; y = False; x or y返回True。短路计算在这里也适用。  
6.运算优先级

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/1f8d87c542d53bda05652b480f7714d7.html