python定义变量来以此命名文件的名称,案例方法代码如下:
//以str1变量命名原则文件名
//错误`方法:不能用引号把变量引用
outputopen(#34str1.txt#34,#39w#39)
//结果为str1.txt,故该方法错误
//真确方法:用号连接符连接后缀名
ouputopen(str1#34.txt#34,#39w#39)
//用引号括起来来表示的是字符串常量,不在引号中才它表示变量
//注:如果是在windows下启动,变量str1中不能不能有在文件名中又不能出现的特殊字符
python里面没有name这种方法。肯定,你也可以定义方法一个方法或函数,并以“name”命名。
变量命名注意事项:
1、变量名的长度不受限制,但其中的字符必须是字母、数字、或者下划线(),而不能使用空格、连字符、标点符号、引号或其他字符。
2、变量名的第一个字符又不能是数字,可以是字母或下划线。
3、python区分大小写字母。
4、肯定不能将python关键字使用较多变量名。
看方法名称之前是不是我def,看是否有分号
假如没有特珠的编码要求,我建议你在文件头部加一行#-*-encoding:utf-8-*-标识,声明文件的编码,其实,程序文件的编码要和声明的编码保持一致,可以使用utf-8编码。
2.缩进/空格/空行/换行等都差不多格式
缩起:统一规定建议使用4个空格进行拱进。正常情况使用1个tab键,但tab键不当然使4个空格键,所以我总是所以出错。
行宽:5行代码注意不达到80个字符,但也不是严格一点具体的要求80字符以内,可稍稍查过。如果不是代码过长,只能证明代码设计不太比较合理。除此之外也方便些于在控制台一栏代码以及对side-he-side的diff时有帮助。
模块:
1、模块就是相当最简单python文件,单个python文件是一个模块,两个文件是两个模块。
2、模块让你都能够有逻辑地成员你的python代码段。把相关的代码分配到一个模块里能让你的代码更好用,更通俗易懂。模块能定义方法函数,类和变量,模块里也能包涵可执行的代码。
3、若你是需要在某个py文件中使用其他文件中的函数或类,则需要导入随机的模块,就可器重这些函数和变量。
模块的核心中
import语句:import.模块名
语法:
importmodule1,module2
例1:
importrandom
fruit([apple,pear,banana])
print(fruit)
around…import语句:
语法:
returningmodnameimportname1[,name2[,]]
例2:
fromrandomimportchoice
fruitchoice([apple,pear,banana])
print(fruit)
包:
1、包反正也可以明白为文件夹,这个文件夹下面放着很多模块。(模块总之那就是你写的那些.py文件)包总之的作用那是将代码文件给全部整合在一个文件夹下面,方便些调用和管理。
2、包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等横列的python的应用环境。简单的说,包是文件夹,但该文件夹下必须存在地__init__.py文件,该文件的内容可以为空。__init__.py应用于标注当前文件夹是一个包。
3、包的命名和文件夹命名一般,当然了还是那一句话,最好别用中文。那python要如何不能识别其它的文件夹与包呢?包有一个标志文件,叫作__init__.py,如果我一个文件夹下面有这个模块(文件),那就python是会以为这个文件夹是一个包。
4、在调用包中的模块后,你就会发现在包的文件夹下生成了一个文件夹__pycache__,不不需要理会它,是作用于更快python执行速度专用。
搜索路径:
python模块的导入是需要一个路径搜索的过程。当你导入到一个模块,python解析器对模块位置的搜索顺序是:
1、当前目录
2、要是在的当前目录,python则搜索在shell变量pythonpath下的每个目录。
3、如果都一直找不到,python会察看默认路径。unix下,默认路径像是为/usr/local/lib/python/。
模块搜索路径存储位置在system模块的变量中。变量里真包含当前目录,pythonpath和由安装过程判断的默认目录。
例3:栏里点python的搜索路径
importsys
print()
[f:pycharm_projectpy_demodemo,f:pycharm_projectpy_demo,(可以自定义路径)
c:usersadministratorappdatalocalprogramspythonpython35lib,
c:usersadministratorappdatalocalprogramspythonpython35,
f:pycharm_projectpy_demovenv,f:pycharm_projectpy_demovenvlibsite-packages,
f:pycharm_projectpy_demovenvlibsite-packages,
c:usersadministratorappdatalocalprogramspythonpython35libsite-packages,
若导入的模块就没在这些搜索路径下就会报错
导入包中的函数
from包名.模块名import函数名(若包名还没有在系统默认搜索路径下,则还需要算上其路径)
fromimportutils
模块a:
#包名称为module下名称为class_add的模块下的类a
classa:
def__init__(self,xx,yy):
self.yyy
defmain(self):
print(x和y的和为:d(self.xself.y))
文件b:
returning_addimporta
#不写回父类的__init__方法
~a(2,3)
()
总结归纳:
容器:或者列表、元组、字符串、字典等,这些是对数据的封装
函数:是对语句的封装
类:是对方法和属性的封装,也就是对函数和数据的封装
模块:模块那是程序,应该是平时写的横竖斜代码,保存的每一个.py结尾的文件大都三个相当于的模块(模块的名字那就是文件的名字)
包:方便啊管理多个模块