函数
函数用来:实现一个功能,函数理解成一个工具,遇到问题就可以把这个工具拿过来用
函数的好处: 函数比较方便,复用,可以在多个场景下用
函数定义: def 函数名 (参数)
利用调用函数求解圆的pi
def get_pi(num):
import random
count = 0
for i in range(num):
x, y = random.random(), random.random()
dist = pow((x - 0) ** 2 + (y - 0) ** 2, 0.5)
if dist < 1:
count += 1
print(4 * count / num)
get_pi(10)
get_pi(100)
get_pi(1000)
get_pi(10000)
get_pi(100000)
函数分为, 带参数的函数和带返回值的函数
def add_sum(num):# num就是一个参数
count = 0
for i in range(1, num):
count += i
return count #返回值, 是count
res1= add_sum(101) #101就是参数的值传给函数的参数
print('res1:',res1)
res2 = add_sum(1001)
print('res2:',res2)
res3 = add_sum(10001)
print('res3:',res3)
集合
什么是集合: 集合就是一组数据
集合定义(定义集合可以用set(),也可以直接定义用{}括起来)
s1={'nick','handsome',121,11}#
s2 = set('nick') # iterable(序列类型)
s3 = set(['1', 2, 3])
#输出结果{1.0, 'nick', 'dsb', 1231, 'wuhao', 'handsome'}
{'n', 'i', 'c', 'k'}
{'1', 2, 3}
集合的操作符
操作符及应用 | 描述 |
---|---|
S | T | 返回一个新集合,包括在集合S和T中的所有元素 |
S - T | 返回一个新集合,包括在集合S但不在T中的元素 |
S & T | 返回一个新集合,包括同时在集合S和T中的元素 |
S ^ T | 返回一个新集合,包括集合S和T中的非相同元素 |
S <= T或S < T | 返回True/False,判断S和T的子集关系 |
S >= T或S > T | 返回True/False,判断S和T的包含关系 |
集合的处理方法
操作函数或方法 | 描述 |
---|---|
S.add(x) | 如果x不在集合S中,将x增加到S |
S.discard(x) | 移除S中元素x,如果x不在集合S中,不报错 |
S.remove(x) | 移除S中元素x,如果x不在集合S中,产生KeyError异常 |
S.clear() | 移除S中所有元素 |
S.pop() | 随机返回S的一个元素,更新S,若S为空产生KeyError异常 |
S.copy() | 返回集合S的一个副本 |
len(S) | 返回集合S的元素个数 |
x in S | 判断S中元素x,x在集合S中,返回True,否则返回False |
x not in S | 判断S中元素x,x不在集合S中,返回False,否则返回True |
set(x) | 将其他类型变量x转变为集合类型 |
序列
序列会有序列号, 就像索引一样,
序列的类型,就是带有索引的数据类型:字符型,列表,元祖
列表用中括号中间用逗号隔开
例如:
lt = ["nick","handsome",1,1]
print(lt)
列表定义的函数
函数或方法 | 描述 |
---|---|
ls[i] = x | 替换列表ls第i元素为x |
ls[i: j: k] = lt | 用列表lt替换ls切片后所对应元素子列表 |
del ls[i] | 删除列表ls中第i元素 |
del ls[i: j: k] | 删除列表ls中第i到第j以k为步长的元素 |
ls += lt | 更新列表ls,将列表lt元素增加到列表ls中 |
ls *= n | 更新列表ls,其元素重复n次 |
列表定义的
函数或方法 | 描述 |
---|---|
ls.append(x) | 在列表ls最后增加一个元素x |
ls.clear() | 删除列表ls中所有元素 |
ls.copy() | 生成一个新列表,赋值ls中所有元素 |
ls.insert(i,x) | 在列表ls的第i位置增加元素x |
ls.pop(i) | 将列表ls中第i位置元素取出并删除该元素 |
ls.remove(x) | 将列表ls中出现的第一个元素x删除 |
ls.reverse() | 将列表ls中的元素反转 |
# 清除
lt.clear()
#
lt2 = lt.copy()
# 排序
lt = [1,3,2,100,4,5]
lt.sort()
print(lt)
# 翻转
lt.reverse()
print(lt)
# 元组
# 元组就是把列表的中括号换成小括号,然后他没有内置方法
lt = [1,3,2,100,4,5]
# 只可取不可更改
tu = (1,3,2,100,4,5)
print(tu[0])
基本统计方法
通过用户输入一组数据(用户一个一个输入),然后计算数据的中位数,平均值,方差,求o和等操作
nums = []
while True:
num1 = input('请输入你需要输入的数字(输入 q 退出):')
if num1 == 'q':
break
nums.append(int(num1))
def get_median(nums): # ['123', '32', '123', '234']
# 0 1 2 3
nums.sort()
nums_len = len(nums)
if nums_len % 2 == 0:
print((nums[int(nums_len / 2 - 1)] + nums[int(nums_len / 2)]) / 2)
else: # ['123', '32', '123'] # 1
print(nums[nums_len // 2]) # ['123', '32', '123','123', '32', '123','123'] # 3
# get_median(nums)
def get_sum(nums): # ['123', '123', '213', '234', '98234']
count = 0
for i in nums:
count += int(i)
return count
# count = get_sum(nums)
# print('count:',count)
def get_average(nums):
count = get_sum(nums)
average_count = count/len(nums)
return average_count
# average_count = get_average(nums)
# print(average_count)
def get_variance(nums):
average_count = get_average(nums)
variance_count = 0
for i in nums:
variance_count += pow(i-average_count,2)
return variance_count
variance_count = get_variance(nums)
print(variance_count)
字典类型
字典类型的定义可以用dict也可以直接定义
d={"中国":"北京","美国":"华盛顿"}
字典处理函数的方法
函数或方法 | 描述 |
---|---|
del d[k] | 删除字典d中键k对应的数据值 |
k in d | 判断键k是否在字典d中,如果在返回True,否则False |
d.keys() | 返回字典d中所有的键信息 |
d.values() | 返回字典d中所有的值信息 |
d.items() | 返回字典d中所有的键值对信息 |
字典类型操作函数和方法
函数或方法 | 描述 |
---|---|
d.get(k, ) | 键k存在,则返回相应值,不在则返回值 |
d.pop(k, ) | 键k存在,则取出相应值,不在则返回值 |
d.popitem() | 随机从字典d中取出一个键值对,以元组形式返回 |
d.clear() | 删除所有的键值对 |
len(d) | 返回字典d中元素的个数 |
jieba库
jieba库一般用于分词
主要了解三个语句
# 马尔可夫模型(两层)
res = jieba.lcut('中华人民共和国是一个伟大的国家') # 第一个就是尽量长,主要掌握这一个
print(res)
res = jieba.lcut_for_search('中华人民共和国是一个伟大的国家') # 第二个就是把第一个的长的单词继续切
print(res)
res = jieba.lcut('中华人民共和国是一个伟大的国家',cut_all=True) # 把所有的可能全部切出来
print(res)
原文地址:https://www.cnblogs.com/quyang46/p/11209386.html
时间: 2024-11-10 15:52:19