1.字符串与编码
想要输出中文,在开头加上
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
2.使用list和tuple
list是一种有序的集合,a=['1','2','3']
tuple和list非常类似,但是tuple一旦初始化就不能修改 ,b=('1','2','3')
3.条件与判断
if age<=18: #如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else(有多个else时,即使下面的也是正确的,也不会执行)
print('teenager')
else:
print('adult')
4.input()
返回的数据类型是str
5.循环
<1>for...in循环,依次把list或tuple中的每个元素迭代出来
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
<2>while循环
n=5
sum=0
while n>0:
sum=sum+n
n=n-1
6.dict和set
dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
和list比较,dict有以下几个特点:
- 查找和插入的速度极快,不会随着key的增加而变慢;
- 需要占用大量的内存,内存浪费多。
需要牢记的第一条就是dict的key必须是不可变对象。
set 在set中,没有重复的key,可以看成数学意义上的无序和无重复元素的集合
s = set([1, 2, 3])
7.函数
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
def my_abs(x):
if not isinstance(x,(int,float)):
raise TypeError('bad operand type')
if(x>0):
return x
else:
return -x
#print(my_abs(-10))
#空函数,不能少pass
def nop():
pass
#print '+',nop(),'+'
#返回多个参数,其实这只是一种假象,返回值是一个tuple
#在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。
def fun(x,y):
return x+y,x-y
x,y=fun(3,1)
print(x,y)
print(fun(3,1))
# 练习
import math
def quadratic(a, b, c):
if not isinstance(a,(int,float)):
raise TypeError('输入数据类型错误 \'a\'')
if not isinstance(b,(int,float)):
raise TypeError('输入数据类型错误 \'b\'')
if not isinstance(c,(int,float)):
raise TypeError('输入数据类型错误 \'c\'')
data=b*b-4*a*c
if data<0:
return '方程无解'
else:
x1=(-b+math.sqrt(data))/(2*a)
x2=(-b-math.sqrt(data))/(2*a)
return x1,x2
print(quadratic('a',1,2))