python-数据类型

时间:2019-09-22
本文章向大家介绍python-数据类型,主要包括python-数据类型使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、数字类型

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()

  

  

原文地址:https://www.cnblogs.com/motoharu/p/11566785.html