python基础
1.使用list和tuple
list
例如:
>>> classmates[“Michael”,”Bob”,”Tracy”]
//用函数”len()”求得list的个数
>>> len(classmates)
>>> 3
用索引来访问list中的每一个元素
>>> classmates[0]
‘Michael’
>>> classmates[1]
‘Bob’
>>> classmates[2]
‘Tracy’
取最后一个元素
>>> classmates[-1]
依次递推可以获取倒数第2个,倒数第3个
>>> classmates[-2]
‘Bob’
>>> classmates[-3]
‘Michael’
把元素查到指定的位置
>>> classmates.insert(1,’Jack’)
>>> classmates
[‘Michael’,’Jack’,’Bob’,’Tracy’]
list是一个可变的有序表,所以,可以往list中追加元素到末尾
>>> classmates.append(‘Adam’)
>>> classmates
[‘Michael’, ‘Bob’, ‘Tracy’, ‘Adam’]
要删除list末尾的元素,用pop()方法:
>>> classmates.pop()
‘Adam’
>>> classmates
[‘Michael’, ‘Jack’, ‘Bob’, ‘Tracy’]
要删除指定位置的元素,用pop(i)方法,其中i是索引位置:
>>> classmates.pop(1)
‘Jack’
>>> classmates
[‘Michael’, ‘Bob’, ‘Tracy’]
要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:
>>> classmates[1] = ‘Sarah’
>>> classmates
[‘Michael’, ‘Sarah’, ‘Tracy’]
如果一个list中一个元素也没有,就是一个空的list,它的长度为0:
>>> L = []
>>> len(L)
0
Tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改
tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来,比如:
>>> t = (1, 2)
>>> t
(1, 2)
如果要定义一个空的tuple,可以写成():
>>> t = ()
>>> t
()
只有1个元素的tuple定义时必须加一个逗号
>>> t = (1,)
>>> t
(1,)
条件判断
elif是else if的缩写,完全可以有多个elif,所以if语句的完整形式就是
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
注意:if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else
if 判断条件的简写
if x:
print('True')
循环
for…in循环
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
rang(n)函数:生成一个从0开始小于n的整数序列
例如:计算1~100以内的整数和:
sum=0
for x in range(101)
sum=sum+x;
while
eg:计算100以内的奇数和
sum=0
n=99
while n>0:
sum=sum+n
n=n-2
print(sum)
Dict 字典
>>>d={'Michael':95,'Bob':75,'Tracy':85}
>>>d['Michael']
95
初始化Dic
>>> d['Adam'] = 67
>>> d['Adam']
67
由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉:
>>> d['Jack'] = 90
>>> d['Jack']
90
>>> d['Jack'] = 88
>>> d['Jack']
88
要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:
>>> 'Thomas' in d
False
key不存在的错误,有两种办法
方法1:
>>> 'Thomas' in d
False
方法2:
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
注意:返回None的时候Python的交互式命令行不显示结果。
要删除一个key,用pop(key)方法,对应的value也会从dict中删除:
>>> d.pop('Bob')
75
>>> d
{'Michael': 95, 'Tracy': 85}
注意,dict内部存放的顺序和key放入的顺序是没有关系的。
Set
本质:是key的集合
创建set
>>>s=set([1,2,3])
>>>s
{1,2,3}
注意:传入的[1,2,3]是一个list,
重复元素在set中自动被过滤:
>>>s=set([1,1,2,2,3,3])
>>>s
{1,2,3}
通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果:
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
通过remove(key)方法可以删除元素:
>>> s.remove(4)
>>> s
{1, 2, 3}
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:
>>>s1=set([1,2,3])
>>>s2=set([2,3,4])
>>>s1&s2
{2,3}
>>>s1|s2
{1,2,3,4}
2.函数
(1)调用函数
函数可以同时返回多个值,但其实就是一个tuple。
import math
def move(x, y, step, angle=0):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
>>> x, y = move(100, 100, 60, math.pi / 6)
>>> print(x, y)
151.96152422706632 70.0
>>> r = move(100, 100, 60, math.pi / 6)
>>> print(r)
(151.96152422706632, 70.0)
(2)函数的定义
请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:
ax2 + bx + c = 0 的两个解。
import math
def quadratic(a,b,c):
if a==0:
d=-c/b
print("d")
elif b*b-4*a*c<0:
print("方程无解")
else:
t=math.sqrt(b*b-4*a*c)
x1=(-b-t)/(2*a)
x2=(-b+t)/(2*a)
print("x1=",x1)
print("x2=",x2)
print(quadratic(2,3,1))
print("------------------")
print(quadratic(1,3,-4))
print("------------------")
print(quadratic(0,2,-4))