一、数字类型
1、整数类型
pow(x,y)计算x的y次幂(python的整数没有限制范围)
2、浮点数类型
float
3、复数类型
z=a+bj,a是整数,b是虚数,a、b都是浮点类型,虚数用j或J标识
z.real 获得复数的实数部分
z.image 获得复数的虚数部分
4、扩展关系
整数--->浮点数---->复数
混合运算结果为最宽类型
5、三种数字类型互相转换
int()
float()
complex() ,复数不能直接转换成整数和浮点数
6、判断数字类型
type()
7、运算符
二、字符串类型
1、单引号、双引号标识
2、转义符:\
3、字符序列
①索引 <string>[3],索引从【0 --> len(str)-1】,反向索引<string>[-1]
②子序列 <string>[0:3],不包括3的位置
4、【+】两个字符串连接成一个新的字符串
【*】本身字符串重复链接
str1 = 'abcd'
str2 = 'lala'
print(str1+str2) #abcdlala
print(str1*2) #abcdabcd
5、len()--返回字符串长度
6、str()--转换为字符串
7、例子
months = "JanFebMarAprMayJunJulAugSepOctNovDec"
n = input("请输入月份:")
pos = (int(n)-1)*3
# print("月份名称缩写为:{}".format(months[pos:pos+3]))
print("月份名称缩写为:"+months[pos:pos+3])
8、字符串操作方法
\n 换行符
三、元组类型
※元组是包含多个元素的类型,元素间用逗号分割
t1 = 123,355,'hhh'
※元组可以是空的 t2 = ()
※元组可以只有一个元素 t2 =123,
※元组可以使用括号,也可以不使用
1、特点
※元组中的元素可以是不同类型,元组中也可以包含元组元素,但要加 ( ) 进行区分
t3 = 123,345,("哈哈哈",123)
※索引访问元组元素 t3[0],t3[0:4]
※元组定义后不能更改和删除!!!
※元组可以使用 +、*
四、列表类型(list)
1、列表的操作
vlist = [0,1,2,3,4]
print(vlist*2) #[0, 1, 2, 3, 4, 0, 1, 2, 3, 4]
print(vlist[2:]) #[2, 3, 4]
print(len(vlist[3:])) ##2
for i in vlist[:3]:
print(i)
if 2 in vlist:
print("yes")
else:
print("no")
vlist = [0,1,2,3,4]
vlist.append('python') #[0, 1, 2, 3, 4, 'python']
print(vlist)
vlist.reverse()
print(vlist) #['python', 4, 3, 2, 1, 0]
print(vlist.index(3)) #2
print(vlist.pop(3),vlist) #2 ['python', 4, 3, 1, 0]
2、split()函数:将字符串拆分成列表
Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
str='啦啦啦 \n哈哈哈 呼呼 \n呼哈'
print(str.split( )) # 以空格为分隔符,包含 \n,['啦啦啦', '哈哈哈', '呼呼', '呼哈']
print(str.split(' ', 1 )) # 以空格为分隔符,分隔成两个,['啦啦啦', '\n哈哈哈 呼呼 \n呼哈']
五、math库
六、random库
生成随机数
from random import *
print(random()) #随机生成一个0-1的小数
print(uniform(0,10)) #随机生成一个0-10的小数
print(randint(0,10)) #随机生成一个0-10的整数
print(randrange(0,10,2)) #随机生成一个0-10,以2递增的整数
vlist = [0,1,2,'lala','haha',6,7]
print(choice(vlist)) #在列表中随机选一个数
shuffle(vlist) #随机改变列表的顺序
print(vlist)
print(sample(vlist,4)) #在列表中随机采样4个元素
###随机种子
seed(10)
print(uniform(0,10)) #5.714025946899135
print(uniform(0,10)) #4.288890546751146
seed(10)
print(uniform(0,10)) #5.714025946899135
print(uniform(0,10)) #4.288890546751146
##设置相同的随机种子,产生的随机数相同
案例,计算Π
# pi.py
from random import random
from math import sqrt
from time import clock
DARTS = 1200
hits = 0
clock()
for i in range(1,DARTS):
x, y = random(), random()
dist = sqrt(x**2 + y**2)
if dist <= 1.0:
hits = hits + 1
pi = 4 * (hits/DARTS)
print("Pi的值是 %s" % pi)
print("程序运行时间是 %-5.5ss" % clock())
练习题
#字符串组合输出
str1 = input('请输入一个人的名字:')
str2 = input('请输入一个国家的名字:')
print('世界那么大,{}想去{}看看'.format(str1,str2))
N = input('请输入一个正整数N:')
s = 0
for i in range(int(N)):
s += i+1
print('1-N求和结果为'+s)
#九九乘法表
for i in range(1,10):
for j in range(1,1+i):
print("{}*{}={:2} ".format(j,i,i*j),end='')
print('')
s = 0
for i in range(1,11):
t = 1
for j in range(1,1+i):
t= t * j
s = s+t
print('1+2!+...+10!的运算结果是:{}'.format(s))
s,t = 0,1
for i in range(1,11):
t *= i
s += t
print('1+2!+...+10!的运算结果是:{}'.format(s))
##猴子吃桃问题
s = 1
for i in range(1,6):
s = (s + 1)*2
print(s)
n=1
for i in range(5,0,-1):
n = (n+1)<<1
print(n)
##食谱搭配
diet = ['西红柿','豆角','黄瓜','虾仁','玉米']
for x in range(0,5):
for y in range(0,5):
if not(x==y):
print("{}{}".format(diet[x],diet[y]))
##绘图
from turtle import *
color('red','yellow')
begin_fill()
while True:
forward(200)
left(170)
if abs(pos()) < 1:
break
end_fill()
done()