python基础(1):
基础操作:
python是一个解释性语言。故可以直接通过命令行与python解释器交互:
In
[
1
]
:
a
=
1
In
[
2
]
:
print
(
a
)
1
在python中,+ - * 分别表示加减乘,但 / 表示的是浮点除法,而 // 表示地板除法 ,** 表示乘方 ,%表示求余
# 用'#'表示注释
a
=
3
+
2
# 5
b
=
a
-
2
# 3
c
=
a
*
b
# 15
d
=
5
/
2
# 2.5
e
=
5
//
2
# 2
f
=
5
%
2
# 1
字符串
python的字符串使用单引号(’ ')或者双引号(" "),但须成对出现,对应即可。
In
[
3
]
:
print
(
'hello'
)
hello
In
[
4
]
:
a
=
'abcdefg'
In
[
5
]
:
a
Out
[
5
]
:
'abcdefg'
python有非常丰富的库,下面是几个常用的字符串方法:
- title() 以首字母大写的方式显示每个单词
- upper()将字符串大写 ; lower()将字符串小写
- isupper()检验字符串是否是全部大写 ; islower()判断字符串是否全是小写
a
=
'title'
print
(
a
.
title
(
)
)
a
=
'upper'
print
(
a
.
upper
(
)
)
a
=
'LOWER'
print
(
a
.
lower
(
)
)
a
=
'ISLOWER'
print
(
a
.
islower
(
)
)
a
=
'isupper'
print
(
a
.
isupper
(
)
)
#输出:
Title
UPPER
lower
False
False
字符串不可以修改,但是可以通过’+'连接字符串
a
=
'aaa'
b
=
'bbb'
c
=
a
+
b
print
(
c
)
#输出:
aaabbb
缩进
python与c++不同的是,python使用缩进而不是括号组织代码:(冒号表示代码块开始,之后的代码缩进相同)
#举个例子说明缩进的代码风格:
#注意缩进和冒号等
the_list
=
[
1
,
2
,
3
,
4
,
5
]
for
each
in
the_list
:
if
each
>=
3
:
print
(
each
,
'big'
)
else
:
print
(
each
,
'small'
)
列表
列表是有特定顺序的元素组成的集合,列表不要求元素的数据类型一致
the_list
=
[
1
,
'list'
,
'great'
,
[
1
,
2
,
3
]
]
print
(
the_list
)
[
1
,
'list'
,
'great'
,
[
1
,
2
,
3
]
]
可以通过索引的方式访问列表元素,索引从0开始,有趣的是python的索引可以用负数表示倒数第几个元素:
print
(
the_list
[
1
]
)
list
print
(
the_list
[
-
1
]
)
[
1
,
2
,
3
]
添加、删除列表元素:
- append()在列表尾部添加元素
- insert(index,value)可以在任意位置添加元素
- remove()删除特定元素
- pop()默认弹出末尾元素,也可以指定弹出特定位置元素
- del()删除元素或列表
a
=
[
1
,
2
,
3
]
a
.
append
(
4
)
print
(
a
)
#[1, 2, 3, 4]
a
.
remove
(
2
)
print
(
a
)
#[1, 3, 4]
a
.
pop
(
)
print
(
a
)
#[1, 3]
a
.
insert
(
2
,
5
)
print
(
a
)
#[1, 3, 5]
del
a
#delete the list
列表的排序:
- 使用方法sort() 对列表进行永久性排序,默认为从小到大。可以在括号内添加 reverse=True得到从大到小的列表。改变的是原列表顺序。
- 使用函数sorted() 对列表进行临时排序,不改变原列表顺序
a
=
[
3
,
2
,
1
,
4
,
5
]
a
.
sort
(
)
print
(
a
)
#[1, 2, 3, 4, 5]
a
.
sort
(
reverse
=
True
)
print
(
a
)
#[5, 4, 3, 2, 1]
a
=
[
3
,
2
,
1
,
4
,
5
]
b
=
sorted
(
a
)
print
(
a
)
#[3, 2, 1, 4, 5] 可知a并没有发生变化
print
(
b
)
#[1, 2, 3, 4, 5]
几个常用的列表的函数:
- 方法reverse() 永久性地修改列表元素的排列顺序
- 使用函数len() 可快速获悉列表的长度
- 使用index()获得某一元素第一次出现位置的索引
- 使用count()统计某一元素出现次数
- 使用copy()复制列表
- 使用max(),min()获得最大值和最小值
a
=
[
1
,
2
,
3
,
4
,
5
]
a
.
reverse
(
)
print
(
a
)
#[5, 4, 3, 2, 1]
print
(
len
(
a
)
)
# 5
print
(
a
.
index
(
3
)
)
# 2
print
(
a
.
count
(
3
)
)
# 1
print
(
max
(
a
)
,
min
(
a
)
)
# 5 1
for循环
python的for循环与c++有很大区别,在python中for循环是一个迭代器的不断迭代。因此使用for循环访问列表将有很好的效果:
a
=
[
1
,
'bob'
,
[
2
,
3
]
,
'last'
,
5
]
for
each
in
a
:
print
(
each
)
#1
#bob
#[2, 3]
#last
#5
使用for达到计数的目的:
函数range(value1,value2,step) 让Python从你指定的value1开始数, 并在到达你指定的value2后停止, 不包括value2,但包括value1,且可以添加step作为步长
for
each
in
range
(
1
,
5
)
:
print
(
each
)
# 1
# 2
# 3
# 4
for
each
in
range
(
1
,
10
,
2
)
:
print
(
each
)
#1
#3
#5
#7
#9
列表解析:
将for 循环和创建新元素的代码合并成一行, 并自动附加新元素。
square
=
[
value
**
2
for
value
in
range
(
1
,
10
)
]
print
(
square
)
#[1, 4, 9, 16, 25, 36, 49, 64, 81]
列表的切片:
通过切片可以得到列表的子集,或者[:]得到列表的拷贝。name[start:end],start默认为0,end默认为结束。
要复制列表, 可创建一个包含整个列表的切片, 方法是同时省略起始索引和终止索引([:] )
a
=
[
1
,
2
,
3
,
4
,
5
,
6
]
b
=
a
[
1
:
3
]
print
(
b
)
#[2, 3]
c
=
a
[
:
]
print
(
a
)
#[1, 2, 3, 4, 5, 6]
#用负数表示倒数第几个
d
=
a
[
:
-
2
]
print
(
d
)
#[1, 2, 3, 4]
元组
不可变的列表被称为元组,通常使用圆括号标识,可以通过索引来访问元素
a
=
(
0
,
1
,
2
)
print
(
a
)
#(0, 1, 2)
a
[
0
]
=
3
#将报错:'tuple' object does not support item assignment
用for循环遍历元组:
a
=
(
0
,
1
,
2
)
for
each
in
a
:
print
(
each
)
#0
#1
#2