Python3 学习手册(一) 基本数据类型

转载请注明本文出自maplejaw的博客(http://blog.csdn.net/maplejaw_

基本操作

  • cmd怎么进入python交互环境?
    在cmd中输入python,看到>>>表示成功进入交互环境。
    image_1al3m1kqofk06vhb4n1kpb104s9.png-10.3kB

  • 四则运算
    >>>右边输入代码,控制台可以自动打印结果。可以看出python中的除法和c/java不一样,默认为浮点数。
    image_1al3m5622194m147oe7gtuub9m.png-11.8kB

  • 打印字符
    打印字符用print(),print()可以打印字符串,数字,布尔值等,可以输入多个参数,用逗号隔开即可,逗号会被打印成空格。
    image_1al3m8mtqmr4514j2c1vfb8hd13.png-2.6kB

  • 输入字符
    有时候需要交互,由用户来输入字符。python提供了一个input()
    1.gif-30.8kB

  • 运行源码
    通过控制台交互有个弊端,每次都要重新输入,无法保存源码。怎么才能避免这一繁琐的操作呢。首先在新建一个文本文件命名为1.py。然后打开1.py写下如下代码后保存
    image_1al3o870nhfe1ci3icb1pqi9fk29.png-5.6kB
    再次运行cmd,运行。
    1.gif-32.4kB
    从上面我们可以看出400+100这行结果没有输出,说明不同于cmd交互,直接执行源码时,如果没有使用print(),是不会打印出相关结果的。此外,input是一个阻塞函数,会等待用户输入完毕才会往后执行。

  • 怎么添加注释?
    使用#号,只需在一个语句之后或者单独一个空行中添加相应注释。

# 这是第一条注释
spam = 1  # 这是第二条注释
          # 这是第三条注释
text = "# 注意,这里虽然有#号但不是注释,这里是字符串哦"

四则运算

python中的四则运算和其他语言大同小异,支持+,-,*,/%。可以使用()来分组以支持运算优先级。需要注意的是/返回的是浮点数,不像C和Java中返回的整型数相除仍是整数。%用来求余。

>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5  # 除法默认返回浮动数
1.6

如果你希望除法也返回整数,可以使用//运算符
image_1al3qstf0talrbp3j2ron7b632.png-3.2kB
使用**来进行幂运算。

>>> 5 ** 2  # 5 的平方
25
>>> 2 ** 7  # 2 的7次幂
128

我们可以使用=号来进行赋值给变量,下面中width和height就是一个变量,在python中变量可以不用声明类型因为一旦被赋值,解释器会自动推导出类型。

>>> width = 20
>>> height = 5 * 9
>>> width * height
900

python支持在一行中同时赋值。

>>> width ,height= 205 * 9
>>> width * height
900

python中使用_来表示上一个表达式的值(也就是说,如果上一个值没有赋值给变量,则会默认赋值给_)。

>>> width = 20
>>> height = 5 * 9
>>> width * height
900
>>> width + _
920

从上面可以看出width * height没有赋值给变量,所以赋值给了_,因此width + _等于20+900

字符串(String)

python中的字符串使用' '或者" "包含起来。
有时候,如果打印的字符串本身也包含引号怎么办?此时我们可以混着用,即如果字符串中包含',我们可以用" "来包含字符串,如果字符串中包含",我们就用'来包含字符串,这样我们就可以避免语义冲突了。

>>> "doesn't"  # 使用双重引用
"doesn't"

上面的用法并不适用于所有场景,此时应该使用\转义字符告诉解释器我们需要原样输出,和大多数编程语言的转换规则一样,\n表示换行,\t表示制表符。

>>> 'doesn\'t'  # 使用转义字符
"doesn't"
>>> 'I\'m \"OK\"!' # 使用转义字符
"I'm "OK"!"

说完需要转义的场景再来说说不需转义的场景。
假如我们想打印一个路径,如下。

>>> print('C:\some\name')  # 这里 \n 意味着换行。
C:\some
ame

可以看出,由于\n导致被迫转义换行,这不是我们需要的,怎么阻止这一行为?
同样我们进行二次转义,告诉解释器,我们需要原样输出

>>> print('C:\some\\name')  # 在 \n 之前 加个 \
C:\some\name

此外,我们可以使用r来修饰字符串,表示整个字符串都原样输出

>>> print(r'C:\some\name')  # 在字符串前加上r
C:\some\name

我们知道在cmd窗口中不能换行输入,如果想换行使用"""...""" 或者 '''...''',此时可以保持以换行的格式输出。
直接输出如下:
1.gif-17.3kB
采用变量名输出如下
1.gif-22.8kB
使用*+进行字符串连接运算。

>>> 3 * 'un' + 'ium' # 3 次 'un', 追加 'ium'
'unununium'

多个使用空格分开的字符串也会自动追加合并

>>> 'i' 'love' 'you'
'iloveyou'

如果需要换行输入,但是要求拼接成一行输出时,我们可以使用(''...'')
1.gif-12.1kB

和其他编程语言一样,字符串也有索引。下标从0开始。

>>>text="hello world"
>>>print(text[0])
h

当然,我们可以使用负数,表示从右往左开始,-1表示最右边的数。

>>>text="hello world"
>>>print(text[-1])
d

此外,我们还可以,输出多个字符

>>>text="hello world"
>>>print(text[1:3]) # 第一个数字开始索引(包含该位置),第二个数字结束索引(不包含该位置)。
el

>>>print(text[:3]) # 结束索引为3(不包含该位置)。
hel

>>>print(text[3:]) # 开始索引为3(包含该位置))。
lo world

不能对字符串的单个位置进行改变。
image_1al45ql6shg154nk6pli1gjd4j.png-6.9kB
可以使用len函数来输出字符串长度

>>>text="hello world"
>>>print(len(text))
11

数组(List)

首先,我们按照如下格式定义一个数组。

>>> squares = [1, 4, 9, 16, 25]
>>> squares
[1, 4, 9, 16, 25]

跟字符串一样,数组也支持索引。

>>> squares[0]  # indexing returns the item
1
>>> squares[-1]
25
>>> squares[-3:]  # slicing returns a new list
[9, 16, 25]

跟字符串一样,数组也支持连接操作。

>>> squares + [36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

跟字符串不一样的地方,数组支持索引修改元素。

>>> cubes = [1, 8, 27, 65, 125]  # 其中有个值是错的,经过检查发现是下标为3的元素出错。
>>> cubes[3] = 64  # 修改下标为3的值
>>> cubes
[1, 8, 27, 64, 125]

使用append可以来追加数组元素。

>>> cubes.append(216)  # add the cube of 6
>>> cubes
[1, 8, 27, 64, 125, 216, 343]

我们还可以批量修改数组元素

>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> letters
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> # 替换部分元素
>>> letters[2:5] = ['C', 'D', 'E']
>>> letters
['a', 'b', 'C', 'D', 'E', 'f', 'g']
>>> # 移除部分元素
>>> letters[2:5] = []
>>> letters
['a', 'b', 'f', 'g']
>>> # 清空所有元素
>>> letters[:] = []
>>> letters
[]

python也支持二维和多维数组
image_1al46u3rf17tr8qv45q14nnhtp50.png-4.7kB

While循环

使用while循环时,在条件语句后加上:号,所有循环体内的语句都应该加上至少一个空格的缩进,且一般会在循环结束后留下一行空行。
image_1al48j4c968t6rfdsifuq2iq5d.png-8.5kB
如上图,你会发现,采用了换行输出的方式。如果不想换行输出,我们可以使用print(a,end='')指定结束符。
image_1al49e8771m4jsgi9qs1jc3orb5q.png-4.6kB

最后

去年就在学习python,由于各种事情,断断续续的一直没有继续下去。这次以博客的形式再次系统的学习一遍,希望自己能够坚持下去。共勉!

发布了30 篇原创文章 · 获赞 287 · 访问量 43万+

猜你喜欢

转载自blog.csdn.net/maplejaw_/article/details/51658059