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