Python语言程序设计MOOC-03周 类型及应用

2020-06-21

在MOOC上,学习了北京理工大学嵩天老师的Python语言程序设计,此为学习笔记记录,备查,备翻阅复习。

数字类型

python语言的类型,主要有6种

  • 数字类型
  • 字符串类型
  • 元组类型
  • 列表类型
  • 文件类型
  • 字典类型

python有三种数字类型:

  • 整数类型:没有取值范围,可以是十进制 八进制 十六进制
  • 浮点类型:带有小数点,浮点数可以用科学计数法表示,
  • 复数类型,与数学中的复数概念一致

三种类型可以互相转换 int() float() complex()

int(4.5) = 4

float(4) = 4.0

complex(4) = 4 + 0j

type(x)判断变量的类型,使用于所有类型的判断。

字符串类型

单引号或者双引号括起来的字符

字符串是一个字符序列,索引从0开始,可以通过索引操作字符串。

字符串可以通过+ 和* 操作

len()返回字符串长度

str()转化为字符串

#输入1-12的数字返回对应月份的缩写
# month.py
months="JanFebMarAprMayJunJulAugSepOctNovDec"
n=input("请输入月份数(1-12):")
pos=(int(n)-1) * 3
monthAbbrev=months[pos:pos+3]
print("月份简写是" + monthAbbrev + ".")

字符串的操作方法

string.

string.upper() 返回小写字母转为大写字母的字符串。

string.lower() 返回将字符串中所有大写字符转换为小写后生成的字符串。

string.capitalize() 该方法返回一个首字母大写的字符串。

string.strip()去除字符串两边空格以及去指定字符

string.split() 按指定字符分割字符串为数组

string.isdigit() 判断是否为数字类型,如果是真返回True, 否则返回False。

string.find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串string中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含则返回开始的索引值,否则返回-1。

string.repalce(old, new [, max]) 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。

字符串中可以使用转义字符来表达在打印时没法打印出来的内容,例如\n会打印出换行。

Python 的字符串常用内建函数(一共40个),作为字符串内置方法的备查列表。

元组类型

元组元素之间用逗号分隔

元组中的元素可以是不同类型

元组中的元素存在先后顺序,可以索引

元组中的元素定义后不能修改

元组也可以通过+ * 操作。

元组是为了更安全,如果不考虑安全,考虑使用的灵活性,可以考虑使用列表类型。

列表类型

是有序的元素组合,可以索引

其中的元素可以是不同类型

列表大小没有限制,其中元素可以修改

列表的操作方法

列表的操作方式和字符串的操作方式类似

vlist = [0,1,2,3,4]
vlist *2
len(vlist[2:])
for i in vlist[:3]:
    print(i)
    
>>>2 in vlist
True

python 包含的列表函数:

  • len(list) 列表元素个数
  • max(list) 返回列表元素最大值
  • min(list) 返回列表元素最小值
  • list(seq) 将元组转换为列表

python 包含的列表方法:

  • list.append(obj) , 在列表末尾添加新的对象
  • list.count(obj), 统计某个元素在列表中出现的次数
  • list.extend(seq), 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
  • list.index(obj), 从列表中找出某个值第一个匹配项的索引位置
  • list.insert(index, obj), 将对象插入列表
  • list.pop(index = -1), 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
  • list.remove(obj), 移除列表中某个值的第一个匹配项
  • list.reverse(), 反向列表中元素
  • list.sort( key=None, reverse=False) 对原列表进行排序
  • list.clear() 清空列表
  • list.copy() 复制列表

Python列表函数&方法, 作为python 列表方法的备查目录。

math库、random库

math库包含了常用的数学计算函数,与数学公式比较类似。

random库常用函数

seed(x) 给随机数指定一个种子值

random() 返回随机生成的一个实数,它在[0,1)范围内。

uniform(a,b) 随机生成一个小数,它在 [a, b] 范围内

randint(a,b) 生成一个a到b之间的随机整数

randrange([start,] stop [,step]) 随机生成一个从a开始到b以c递增的数

choice(list) 从列表随机返回一个元素

shuffle(list) 将列表元素随机打乱

sample(list, k) 从指定列表随机获取K个元素

实例π的计算

圆周率π是一个无理数,没有任何一个精确公式能够计算π值,π的计算只能采用近似算法,国际公认的计算方法是蒙特卡洛方法。

蒙特卡洛方法又称为随机抽样或统计试验方法,当所求解的问题是某种事件出现的概率,或某随机变量的期望值时,可以通过某种试验的方法求解。简单说蒙特卡洛方法就是利用随机试验求解问题的方法。广泛应用于当一个问题不能通过确定公式获得求解时,转而通过设计随机试验进行估计。

# 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() # 原点即(0, 0), 抛撒点就是(x, y)
    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())