首页 > 编程语言 > 详细

python基础3

时间:2021-03-17 22:44:08      阅读:41      评论:0      收藏:0      [点我收藏+]

一。模块的简介

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。

库的安装:

  • 代码: pip install 模块名

  • pycharm: settings--python intepreter

技术分享图片

 

 

二。模块的使用

1. import语句

  • 语法:

    • import 模块名1,模块2,.....,模块N

    • import 模块名 as 别名

  • 注意:用import导入模块时,使用其内部的函数和变量时,必须用:

模块名.函数名 模块名.变量 模块名.类

别名.函数名 别名.变量 别名.类

2. from ... import 语句

  • 语法:

    • from 模块名 import 函数名1,函数名2,。。。。

    • from 模块名 import 函数名1 as 别名

    • from 包名 import 模块名

  • 注意: 直接使用函数名,如果有别名就直接使用别名

3. from ... import * 语句 (不推荐)

把一个模块的所有内容全都导入到当前的命名空间也是可行的

from 模块名 import *

import random
def randint():
print("hello")

temp=random.randint(5,9)

from random import randint as r
temp=r(5,9)


print("Demo01:",__name__)

if __name__=="__main__":
print("只有在主运行时")
import Demo07
print("Demo02:",__name__)

print(dir(‘Demo01‘))
   

 

4. name属性

一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用name属性来使该程序块仅在该模块自身运行时执行。

5. dir()函数

内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回:

如果没有给定参数,那么 dir() 函数会罗列出当前定义的所有名称:

6. 标准模块

  • os模块提供了不少与操作系统相关联的函数

  • glob模块提供了一个函数用于从目录通配符搜索中生成文件列表

  • re模块为高级字符串处理提供了正则表达式工具

  • math模块为浮点运算提供了对底层C函数库的访问

  • random提供了生成随机数的工具

  • datetime模块为日期和时间处理同时提供了简单和复杂的方法

  • 以下模块直接支持通用的数据打包和压缩格式:zlib,gzip,bz2,zipfile,以及 tarfile 等等

三.包

  • 包是一种管理 Python 模块命名空间的形式

  • 目录只有包含一个叫做 init.py 的文件才会被认作是一个包

  • 最简单的情况,放一个空的 :file:init.py就可以了。当然这个文件中也可以包含一些初始化代码或者为(将在后面介绍的) all变量赋值。

  • 用户可以每次只导入一个包里面的特定模块

技术分享图片

 

student包

def showScore():
print("score")
from student import Score
Score.show()
def show():
print("hello")
# @File: __init__.py
# @Software : PyCharm
__all__=["Score","Student"]
 
from student import *
Score.showScore()
Student.show()

四. 练习

 

 

题1:求s=a+aa+aaa+aaaa+aa....a得值,其中a是一个数字

例如: 1+11+111+1111+11111 共5个数相加,结果

显示:1+11+111+1111+11111=XXXX

要求:1. 用于计算得基础数字由用户输入

2. 相加的个数由用户输入

 


def sum():

num = input("输入要计算的数:")
count = int(input("输入要计算的层数:"))
sumNum = 0
listNum = []
for i in range(1,count+1):
listNum.append(num*i)
sumNum+=int(num*i)
print(‘+‘.join(listNum),end=‘‘)
print("=%d"%sumNum)
import Demo09
if __name__ == ‘__main__‘:
Demo09.sum()

 

题2:找到1000以内的所有的完数。并且计算这些完数的和,显示所有完数以及和

完数:一个数恰好等于它的因子之和,则这个数称为完数

例如:6=1+2+3

 

def wanShu():
for i in range(1, 1000):
sum = 0
for shu in range(1, i):
if i % shu== 0:
sum = sum + shu
if i == sum:
print(sum)

 

题3:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,不过瘾,又多吃一个;第二天又吃了剩下的一半,后又多吃了一个,以后每天都吃剩下数量的一半多一个,到第10天发现还剩下1个桃子,求第一天一共摘了多少个桃子。

 

def chi():
eat=1
for i in range(9,0,-1):
eat1=(eat+1)*2
eat=eat1
print(‘第1天共摘了%s个桃子‘ % eat1)


if __name__==‘__main__‘:
chi()

 

题4:编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变(提示:使用切片)

list = []
y = []
for i in range(20):
list.append(random.randint(1, 100))
print(‘生成的随机整数列表为:\n‘,list)
y = list[1:20:2]
y.sort()
y.reverse()
list[1:20:2] = y
print(‘排序后的列表为:\n‘,list)

 

题5:编写程序,生成一个包含20个随机整数的列表,然后将前10个元素升序排列,后10个元素降序排列

import random

list1 = []
list2 = []
list3 = []
for i in range(20):
list1.append(random.randint(0,100))
print(‘生成的随机整数列表为:\n‘,list1)
list2 = list1[0:10]
list3 = list1[10:20]
list2.sort()
list3.sort(reverse=True)
list1 = list2 + list3
print(‘排序后的列表为:\n‘,list1)

 

题6:已知,有一个包含学生成绩的字典,如:scores={‘小明‘:45,‘小红‘:78,‘小蓝‘:40,‘小紫‘:96,‘小青‘:65,‘小白‘:88,‘小黑‘:60},计算成绩的最高分、最低分、平均分,并查找最高分的同学,最后打印最高分、最低分、平均分和最高分的同学

scores = {‘小明‘: 45, ‘小红‘: 78, ‘小蓝‘: 40, ‘小紫‘: 96, ‘小青‘: 65, ‘小白‘: 88, ‘小黑‘: 60}
max1=max(scores.values())
print("最高分为:",max1)
stu1=max(scores,key=scores.get)
print("最高分的同学为",stu1)
min1=min(scores.values())
print("最低分为:",min1)
stu=min(scores,key=scores.get)
print("最低分的同学为",stu)
avg = scores.values()
sum = 0
for num in avg:
sum += num
print("平均值%d" % (sum / len(scores)))

 

python基础3

原文:https://www.cnblogs.com/yangyujia/p/14551455.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!