1. 写在前面

  • 在以后文章出现的代码示例中,带提示符(>>>)的代码是在IDLE中运行的,并且带提示符(>>>)的代码行为输入行,否则为输出行。
  • python的注释是以#号开头的,一直到该行的末尾结束。注释是用来阐明代码的不会被解释器解释,所以在键入以下例子时,可不用键入注释。
  • 这里只是简单的介绍,目的是在以后的学习中遇到相关例子时不会觉得太突然,字符串和列表在后面会有更详细的介绍。

2. 数字

2.1 类型

整数(如:1,4,6)的类型时int,有小数部分(如3.0,4.5,6.35)的类型是float。

2.2 运算符

Python的加、减、乘、除运算符和其他语言一样,也和大家理解的一样,大家都懂。直接上代码。

>>> 5 + 3
8
>>> 6 - 2
4
>>> 12 * 2
24
>>> 12 / 6
2.0

当然也支持综合表达式,其中括号(())用来分组

>>> 5 + 3 - 2
6
>>> (6 - 3) * 3
9
>>> 9 / 2 + 1
5.5

值得注意的是,python的除法和其他语言略有不同,很多编程语言一般都采用地板除法(floor division)的方式。地板除法是指计算结果取比商小的最大整数,说白了就是将小数部分抛弃(例如:5 / 2 = 2)。但是,在python中除法运算(/)返回的永远是浮点数类型,即使是两个整数相除。可以使用//运算符来表示地板除法。使用%运算符来计算余数。

>>> 5 / 2
2.5
>>> 5 // 2
2
>>> 5 % 2
1

在python中,可以使用**运算符来计算乘方

>>> 6 ** 2
36
>>> 3 ** 3
27

等号(=)运算符用于给变量赋值

>>> a = 2
>>> b = 3
>>> a + b
5

等号(=)运算符还可以实现多重赋值

>>> a, b = 0, 1
>>> a
0
>>> b
1

当然,如果未给变量赋值就试图使用它时,会提示错误

>>> i = 5
>>> i + j
Traceback (most recent call last):
  File "<pyshell#16>", line 1, in <module>
    i + j
NameError: name 'j' is not defined

当表达式中包含多种混合类型运算数的运算时,python会把整数转换为浮点数。

>>> 5 + 3 * 2.5
12.5

在交互式解释器中,上一次的运算结果会赋值给运算符_

>>> a = 3
>>> b = 5
>>> a + b
8
>>> a + _
11

3. 字符串

和其他语言一样python也可以操作字符串。在创建字符串时,在字符两边加上引号即可,可以是单引号或双引号,效果时一样的。

>>> 'python project'
'python project'
>>> "python project"
'python project'

但是,字符串两边的引号必须相同,不能一边单引号一边双引号。

>>> 'python project"
SyntaxError: EOL while scanning string literal

如果在将要输出的字符串中出现单引号或双引号,就会出现下面这种情况

>>> 'I'm python'
SyntaxError: invalid syntax

这时我们就要用到转义字符(\)对字符串中的引号进行转义,或者使用与字符串中引号不同的引号表示字符串。

>>> 'I\'m python'
"I'm python"
>>> "I'm python"
"I'm python"

python的输出语句是print()函数,print()函数会生成可读性更强的输出,即略去两边的引号,并且打印出经过转义的特殊字符。

>>> 'I Love You'
'I Love You'
>>> print('I Love You')
I Love You

这样看来反斜杠还是非常好用的,但是当我们打印C:\python\name时

>>> print('C:\python\name')
C:\python
ame

打印结果出乎意料,原因是反斜杠和后面的字符n恰好构成了换行符(\n),这时候可以再使用一个反斜杠来转移反斜杠就行了

>>> print('C:\python\\name')
C:\python\name

但是,如果一个字符串中有很多个这样的反斜杠,再用这个方法就太麻烦了,不过不用怕,可以使用原始字符串,原始字符串只需在字符串前面加个字母R或r即可

>>> print(r'C:\python\name')
C:\python\name

如果我们相实现连续跨行输入,可以使用三重引号('''...'''"""..."""

>>> print("""
	    悯农

      锄禾日当午,
      汗滴禾下土。
      谁知盘中餐,
      粒粒皆辛苦。
""")

	    悯农

      锄禾日当午,
      汗滴禾下土。
      谁知盘中餐,
      粒粒皆辛苦。

字符串可以用+号拼接,用*号重复

>>> 'hello' + 'world'
'helloworld'
>>> 'hello' * 3
'hellohellohello'

字符串是可以被 索引 (下标访问)的,第一个字符索引是 0,第二个字符索引是1,…,以此类推。索引也可以是复数,最后一个字符是索引是-1,倒数第二个字符索引是-2,…,以此类推,注意没有-0.

>>> strWord = 'hello world'
>>> strWord[2]
'l'
>>> strWord[4]
'o'
>>> strWord[-1]
'd'

python中字符串是不能被修改的,因为它是不可变对象,因此向字符串的某个索引位置赋值时会提示错误

>>> strWord = 'hello world'
>>> strWord[i] = 'n'
Traceback (most recent call last):
  File "<pyshell#54>", line 1, in <module>
    strWord[i] = 'n'
TypeError: 'str' object does not support item assignment

内置函数len()可以返回字符串的长度(关于内置函数后续文章会有详细介绍)

>>> strWord = 'hello world'
>>> len(strWord)
11

4. 列表

Python 中可以通过组合一些值得到多种复合数据类型。其中最常用的列表 ,可以通过方括号括起、逗号分隔的一组值(元素)得到。一个列表可以包含不同类型的元素,但通常使用时各个元素类型相同。与字符串不同,列表是可变对象,它的值是可以改变的。
创建列表

>>> numList = [1, 2, 3, 4, 5, 6]

创建包含不同元素类型的列表

mixList = [1, 2, '李小刀DXL', 5.67, [1, 2, 3]]

向列表中添加元素
可以使用append()方法(后面文章将会对列表函数进行更加详细的讲解)

>>> numList = [1, 2, 3, 4, 5, 6]
>>> numList.append(15)
>>> numList
[1, 2, 3, 4, 5, 6, 15]

从列表中获取元素
和字符串一样,列表也支持索引操作,方法和字符串相同。不同的是,列表可以向索引位置赋值

>>> strList = ['pyhton', 'C++', 'Java', 'C#']
>>> strList[2]
'Java'
>>> strList[-1]
'C#'
>>> strList[1] = 'C'
>>> strList
['pyhton', 'C', 'Java', 'C#']

求列表长度
内置函数len()也可以用在列表上,用来求列表的长度

>>> strList = ['pyhton', 'C++', 'Java', 'C#']
>>> len(strList)
4

更多推荐

02 Python的自我介绍(数字、字符串、列表)