Python基础-Week2
1. 包、模块、类
包可以理解为一个文件夹
每个包内可以有多个模块
2. Python包与模块的命名
包是某一个模块所依赖的空间。不同的包下,可以有子包,模块可以和包以平行模式存在。
3. __*__ 该格式为系统内定
包(package)里一定存在 __init__.py 文件,没有则是普通文件。
__init__.py文件本身就是一个模块
4. import导入模块
在项目开发中,多个包之间不可避免要互相调用,可以使用import关键字在某个包中来调用其他包中的资源。
eg:在new1中使用new2中定义的变量 a
import new2
print(new2.a)
4.1 new1.under_new1.demo2 为包new1下的under_new1文件下的demo2模块,将该路径定义(as)为 a
eg:import new1.under_new1.demo2 as a
4.2 同级之下可以直接调用(import 模块名)
4.3 调用子包内的模块
import要加上子包的包名
4.4 不可以直接引用变量
4.5 from XXX import XXX
如果路径过长,要在代码中多次使用某个模块的变量,如下编写就显得啰嗦:
import directory_name.module_name
print(directory_name.module_name.a)
此时就可以利用以下方法来简化:
from directory_name.module_name import a
print (a)
4.6 调用模块下的变量 from *(模块) import *(变量/函数)
4.7 * 的使用
如果要引用某个模块中的多个变量,就要重复操作form XXX import XXX
from XXX import a
from XXX import b
from XXX import c
使用 * 则可以一次性导入所有变量: from XXX import *
或者使用逗号分隔 : from XXX import a,b,c 如果一行无法书写完成,则可如下书写:
from XXX import (a,b,
c)
4.8 __init__.py 的使用
一个文件中是否拥有__init__.py ,决定这个文件是否是包。(有则是,无则否)
一个子包下拥有__init__.py模块,此时调用该子包下的任意模块包括这个包时,都会率先执行 __init__.py模块
4.9 __all__ 的使用
限制导入变量
批量导入时可以限制模块内某些变量不被导入,但是单个导入时,仍然可以导入。(在该模块中用__all__声明)
在某个模块中存在三个变量a,b,c,在利用 * 导入时 只想导入a和b ,操作如下:
批量导入模块时,需要在__init__.py模块中利用__all__声明批量调用的模块有哪些。
使用 __all__ 时,没有在列表中的变量可以利用 from XXX import XXX 来单独引入
4.10 两个模块之间不能互相调用,否则这两个模块之间会产生依赖,进行无限调用
5. 函数
round()
a = 1.2345
result = round(a,3)
(1)功能性
(2)隐藏细节
(3)避免编写重复的代码
5.1 定义
def funcname():
pass
(1) 可以没有参数列表
(2) return value 若没有返回值,Python默认返回None
eg:实现两个数字相加 :
def add(x,y):
result = x+ y
return result
打印参数:
def print(x):
print(x)
a = add(x,y)
b = pritn(x)
print(a,b)
import sys
sys.setrecursionlimit(1000000)
print()函数可以灵活防止参数个数,但并不是所有的函数都可以放任意个参数
5.2 return
在程序中一旦出现return语句,程序立即终止
在Python中,若要返回多个变量,只需用逗号将变量分隔即可,如:return x,y,z
5.3 序列解包
x,y = funcname()
a = 1
b = 2
c = 3
a, b, c =1, 2, 3
d = 1, 2, 3 or
print(type(d))
a, b, c = d
a, b, c =[1,2,3]
5.4 可变参数
在 Python 函数中,可以定义可变参数。可变参数就是传入的参数个数是可变的,可以是1个,2个 ··· 任意个,还可以是0个。
5.5 必须参数
在函数参数列表中所定义的参数
def add(x,y)括号中的x,y为形式参数
add(1,2)实际参数,实参
5.6 关键字参数
add(y=3, x=2) 使用关键字参数,也就是在参数列表中具体声明给每个参数传递的值
如果只传一个参数,如 add(x=2) 会报错,定义多少个形参,就要传递多少实参
与必须参数相比,两者的不同在于函数的调用上
5.7 calc 可变参数
def calc (*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
print(clac(2,3,4,5))
l = [1,2,3,4]
t = (1,2,3,4)
print(clac(*l))
print(clac(*t))
Python基础-Week2相关推荐
- f是一个python内部变量类型,Python基础变量类型——List浅析
Python使用list 一.list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示 ...
- python 等号报错_Python学习----Python基础
Python基础 一.数据类型和变量 1.在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量. 例如: a =520# a是整数prin ...
- python基础——继承与派生、组合
python基础--继承与派生 1 什么是继承: 继承是一种创建新的类的方式,在python中,新建的类可以继承自一个或者多个父类,原始类成为基类或超累,新建的类成为派生类或子类 1.1 继承分为:单 ...
- Python学习笔记1 Python基础
第1章 Python基础 1.1 Python概述及版本介绍 1.Python是一种面向对象的解释型计算机程序设计语言(解释型语言源代码->解释器逐行解释每一句源代码) 2.优点:高级语言.可移 ...
- python基础---元组、字典、函数、文件、异常
文章目录 python基础---元组.字典.函数.文件.异常 Tuple(元组) 常用操作 dict(字典) 函数 文件 异常 python基础-元组.字典.函数.文件.异常 Tuple(元组) tu ...
- 快速掌握Python的捷径-Python基础前传(1)
文: jacky(朱元禄) 开文序 最近看新闻,发现高考都考Python了,随着人工智能的火热,学数据科学的人越来越多了!但对于数据行业本身来说,现象级的火热,这并不是什么好事. 方丈高楼平地起,无 ...
- Python培训教程之Python基础知识点梳理
Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小编就来给大家分享一篇Python培训教程之Python基础知识 ...
- python基础04
python基础04 python2在编译安装时,可以通过参数 -----enable----unicode=ucs2 或 -----enable--unicode=ucs4 分别用于指定使用2个字节 ...
- 刻意练习:Python基础 -- Task12. 模块
背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...
- 刻意练习:Python基础 -- Task11. 魔法方法
背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...
最新文章
- containers文件夹可以删除吗_iOS14描述文件可以删除吗?iPhone删除iOS14描述文件方法...
- LiveVideoStackCon 2022 上海站 专题抢先看
- Xamarin.Forms 5.0 来了
- 【BZOJ3218】a+b problem (最小割 + 主席树)
- 指数函数中x的取值范围_谨记!高考数学中容易出错的几个地方
- php函数传引用,关于php:函数调用通过引用传递?
- vue中组件的data为什么是一个函数
- Typescript 下 Mongoose 外键类型外键数组类型定义类型保护联合类型理解
- VMware 安装提示缺少MicrosoftRuntime DLL 问题解决办法
- 小程序 云函数 python_小程序云函数
- 华3交换机配置命令【系统归纳】【方便好查】
- windows 7 RC(7106.0.090408)下载另附windows7驱动收集整合(5月31日更新)
- ckplayer快速入门
- MBR分区和GPT分区区别
- python 物理引擎 摩擦力_为什么单机游戏中的碰撞很不真实?物理引擎真的很难做到和现实一样吗?...
- 原来,嵌入式BI方案的核心差异在这,教你如何评估
- spark on k8s:apache YuniKorn(Incubating)的助力
- csgo如何增加人机数量及平衡_csgo怎么单机跟电脑打只有每队5人,怎么增大BOT
- OpenBot--DIY自动驾驶智能小车
- linux内核 猪头 作用,漫谈Linux内核哈希表(1)
热门文章
- CodeWarrior使用教程第一部分: 认识 CodeWarrior
- 最近项目上遇到的问题~
- java短语音聊天室_实现一个简单的语音聊天室(源码)
- mysql-8.0.16-winx64的最新安装教程
- Android应用调用第三方地图应用导航
- 《伸手系列》之分布式锁Redssion入门和源码解析
- pytorch---线性回归实现
- Edge浏览器出现兼容性问题且所有页面崩溃,包括设置均无法打开并访问的解决方法
- 计算机丢失mscvr,教大家计算机丢失Msvcr100.dll的解决方法
- 每日新知——MySQL索引类型及创建