def function_name(params...):
# sonmthing to do
return some_value #根据需求确定有无
# 无返回值
function_name(params...);
# 有返回值
function_name(params...);
value=function_name(params...);
# python默认值和c++类似,都是在定义语句中声明(c++可以在声明语句中)
# 而且都是前面为无默认值参数,后面为默认值参数,参数不可以混写
def student_introduce(name,job="student"):
print("My name is {} , and i am a {} .".format(name,job))
student_introduce("Jack","student") --> My name is Jack , and i am a student .
student_introduce("Jack") --> My name is Jack , and i am a student .
def toomuchparams(a,b,c,d,e,f,g):
print(a,b,c,d,e,f,g)
toomuchparams(a=1,b=2,d=4,f=6,g=7,e=5,c=3) --> 1 2 3 4 5 6 7
def toomuchparams(a,b,c,d,*,e,f,g):
print(a,b,c,d,e,f,g)
toomuchparams(1,2,3,e=5,d=4,f=6,g=7) --> 1 2 3 4 5 6 7
# 位置传参要放在关键字传参之前
# 返回多个参数可以返回List、Dict…类型的数据,或者结合使用(JSON)
def people(name,age,sex,sal):
dict={}
dict["name"]=name
dict["age"]=age
dict["sex"]=sex
dict["sal"]=sal
return dict
jack=people("Jack",25,"male",5000)
jack --> {'name': 'Jack', 'age': 25, 'sex': 'male', 'sal': 5000}
jack.get("name") --> 'Jack'
jack.get("age") --> 25
jack.get("sex") --> 'male'
jack.get("sal") --> 5000
def people(name,age,sex,sal):
dict={}
dict["name"]=name
dict["age"]=age
dict["sex"]=sex
dict["sal"]=sal
return dict
info=["Jack",25,"male",5000] #List、Tuple、String、Range
jack=people(*info)
jack --> {'name': 'Jack', 'age': 25, 'sex': 'male', 'sal': 5000}
def people(name,age,sex,sal):
print("{}--{}--{}--{}".format(name,age,sex,sal))
# 也可以传入字典直接使用format_map()函数
jack={'name': 'Jack', 'age': 25, 'sex': 'male', 'sal': 5000}
people(**jack) --> Jack--25--male--5000
import
导入寻找:当前包 --> 内置函数 --> sys.path(环境变量)
# 环境变量
import sys
sys.path --> ['D:\\pycharm\\PyCharm Community Edition 2019.3.1\\plugins\\python-ce\\helpers\\pydev', 'D:\\pycharm\\PyCharm Community Edition 2019.3.1\\plugins\\python-ce\\helpers\\third_party\\thriftpy', 'D:\\pycharm\\PyCharm Community Edition 2019.3.1\\plugins\\python-ce\\helpers\\pydev', 'D:\\virtualenv\\MyTest\\Scripts\\python37.zip', 'D:\\python\\DLLs', 'D:\\python\\lib', 'D:\\python', 'D:\\virtualenv\\MyTest', 'D:\\virtualenv\\MyTest\\lib\\site-packages', 'D:\\virtualenv\\MyTest\\lib\\site-packages\\setuptools-40.8.0-py3.7.egg', 'D:\\virtualenv\\MyTest\\lib\\site-packages\\pip-19.0.3-py3.7.egg', 'D:\\study\\python\\MyTest', 'D:/study/python/MyTest']
# 加目录
sys.path.append(...)
dir(module)
--> 列出对象的所有属性和方法
help(module)
--> 查看类,方法的帮助信息
module.__name__
--> 模块的名称
module.__file__
--> 模块文件的全路径
module.__doc__
--> 文档注释
"""
文档注释__doc__
"""
def des():
"""
help()中的信息
:return:
"""
print("Package.Package1_1.tools.py")
#############################################
import Package.Package1_1.tools
help(Package.Package1_1.tools)
Result:
Help on module Package.Package1_1.tools in Package.Package1_1:
NAME
Package.Package1_1.tools - 文档注释__doc__
FUNCTIONS
des()
help()中的信息
:return:
FILE
d:\study\python\mytest\package\package1_1\tools.py
##############################################
import Package.Package1_1.tools
Package.Package1_1.tools.__doc__
Result:
'\n文档注释__doc__\n'
##############################################
import Package.Package1_1.tools
Package.Package1_1.tools.__file__
Result:
'D:\\study\\python\\MyTest\\Package\\Package1_1\\tools.py'
#############################################
import Package.Package1_1.tools
Package.Package1_1.tools.__name__
Result:
'Package.Package1_1.tools'
############################################
import Package.Package1_1.tools
dir(Package.Package1_1.tools)
Result:
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'des']
函数和变量
函数和变量 | 描述 |
---|---|
os.environ | 环境变量 |
void(command_operation) os.system(command) | 命令行 |
os.sep | 路径的分割符 |
os.pathsep | 分割不同路径的分割符 |
os.linesep | 行分割符(‘\n’、’\r’、’\r\n’) |
String sys.argv[n] | 命令行参数,包括脚本名 |
String getcwd() | 当前目录 |
void chdir(path) | 调转到目录 |
sys.modules | Dictionary,将模块名映射到加载的模块 |
os.path | List,包含要在其中查找模块的目录的名称 |
sys.platform | 平台标识符 |
void mkdir(file) | 创建文件夹 |
void makedirs(path) | 创建一系列文件夹 |
void rmdir(file) | 删除文件夹 |
List listdir(dir) | 文件夹目录,List |
import os
import sys
os.environ --> environ{(.......)}
os.system('calc') --> 打开计算机上计算器
os.sep --> '\\'
os.pathsep --> ';'
os.linesep --> '\r\n'
os.getcwd() --> 'D:\\study\\python\\MyTest'
os.chdir("Package")
os.getcwd() --> 'D:\\study\\python\\MyTest\\Package'
os.listdir("Package1_1") --> ['tools.py', '__init__.py', '__pycache__']
os.path --> <module 'ntpath' from 'D:\\python\\lib\\ntpath.py'>
sys.modules --> {..................}
sys.platform --> 'win32'
os.mkdir("hello") --> 文件夹被创建
os.rmdir("hello") --> 文件夹被删除
os.makedirs('D:\\study\\python\\MyTest\\Package\\Test\\Test1\\Test2') --> 一系列文件夹被创建
##################################
# test.py
import sys
print("hello")
print(sys.argv[0])
print(sys.argv[1])
Result:
(MyTest) D:\study\python\MyTest>python test.py this
hello
test.py
this
os.path 文件目录相关操作
函数和变量 | 描述 |
---|---|
Bool os.path.isdir(element) | 是否为文件夹 |
Bool os.path.isfile(element) | 是否问文件 |
Bool os.path.exists(path) | 是否存在 |
String os.path.dirname(file) | 文件目录 |
Tuple os.path.split(file) | 文件目录和文件分割 |
String os.path.basename(file) | 文件名 |
Tuple os.path.splitext(file) | 从后缀开始分割 |
String os.path.join(path1,dir…,file) | 连接路径 |
import os
os.listdir() --> ['.idea', 'h.png', 'Package', 'test.py']
os.path.isdir('Package') --> True
os.path.isdir('test.py') --> False
os.path.isfile('Package') --> False
os.path.isfile('test.py') --> True
os.path.exists("Package") --> True
os.path.exists("Package_test") --> False
os.path.dirname("D:\\study\\python\\MyTest\\h.png") --> 'D:\\study\\python\\MyTest'
os.path.split('D:\\study\\python\\MyTest\\h.png') --> ('D:\\study\\python\\MyTest', 'h.png')
os.path.basename('D:\\study\\python\\MyTest\\h.png') --> 'h.png'
#List String.split(element)可以得到后缀
os.path.splitext('D:\\study\\python\\MyTest\\h.png') --> ('D:\\study\\python\\MyTest\\h', '.png')
os.path.join('D:\\study\\python\\MyTest\\h.png',"Test","Test1","test2") --> 'D:\\study\\python\\MyTest\\h.png\\Test\\Test1\\test2'
函数和属性和类
函数和属性和类 | 描述 |
---|---|
datetime.timedelta | class,用于日期时间加减操作 |
datetime.datetime | class,时间对象 |
datetime.date | class,日期对象 |
datetime.datetime datetime.datetime.now() | 系统的当前时间 |
datetime.time datetime.datetime.today() | 当前时间 |
datetime.date (Class:Datetime).datetime.date() | 获取日期 |
datetime.time (Class:Datetime).datetime.time() | 获取时间 |
year | Date、Datetime对象的属性 |
month | Date、Datetime对象的属性 |
day | Date、Datetime对象的属性 |
minute | Time、Datetime对象的属性 |
hour | Time、Datetime对象的属性 |
second | Time、Datetime对象的属性 |
microsecond | Time、Datetime对象的属性 |
weeks | Timedelta的属性 |
days | Timedelta的属性 |
hours | Timedelta的属性 |
minutes | Timedelta的属性 |
seconds | Timedelta的属性 |
microseconds | Timedelta的属性 |
milliseconds | Timedelta的属性 |
from datetime import datetime,date,time,timedelta
datetime.now() --> datetime.datetime(2020, 7, 1, 22, 5, 39, 952395)
datetime.today() --> datetime.datetime(2020, 7, 1, 22, 5, 56, 524328)
datetime.now().date() --> datetime.date(2020, 7, 1)
datetime.now().time() --> datetime.time(22, 6, 48, 360162)
timedelta(weeks=1) --> datetime.timedelta(days=7)
datetime.now()-timedelta(weeks=1) --> datetime.datetime(2020, 6, 24, 22, 8, 11, 419876)
datetime(2020,2,1,12,31,0)-datetime(2020,12,1,12,31,0) --> datetime.timedelta(days=-304)
# 属性值不展示
时间转换参数表
参数 | 意义 |
---|---|
%Y | 四位年份 |
%y | 两位年份 |
%m | 月份(1~12) |
%B | 月份名 |
%A | 星期名 |
%d | 日(1-31) |
%p | am或pm |
%H | 小时(24小时制)(0-23) |
%l | 小时(12小时制)(1-12) |
%M | 分钟数(0-59) |
%S | 秒数(0-61) |
时间转换函数
函数 | 描述 |
---|---|
String (Class:Datetime).strftime(format) | 将datetime对象格式化成字符串 |
Datetime datetime.datetime.strptime(String,format) | 将字符串按照一定的格式转换成datetime对象 |
from datetime import datetime,date,time
now=datetime.now()
now.strftime('%Y-%m-%d-%H-%M') --> '2020-07-01-21-54'
now.strftime('%Y-%m-%d') --> '2020-07-01'
now.date().strftime('%Y-%m-%d') --> '2020-07-01'
now.time().strftime('%H-%M') --> '21-54'
datetime.strptime("2020/7/1/21/59",'%Y/%m/%d/%H/%M') --> datetime.datetime(2020, 7, 1, 21, 59)
datetime.strptime("2020/7/1",'%Y/%m/%d') --> datetime.datetime(2020, 7, 1, 0, 0)
datetime.strptime("21/59",'%H/%M') --> datetime.datetime(1900, 1, 1, 21, 59)
自定义datetime、date、time(构造函数)
函数 | 描述 |
---|---|
Datetime datetime.datetime(year,month,day,hour,minus,second) | 自定义datetime |
Date datetime.date(year,month,day) | 自定义date |
Time datetime.time(hour,minus,second) | 自定义time |
import datetime
type(datetime.datetime(2020,7,1,21,33,21)) --> <class 'datetime.datetime'>
type(datetime.date(2020,7,1)) --> <class 'datetime.date'>
type(datetime.time(21,33,21)) --> <class 'datetime.time'>
pip install XXX
python setup.py.install
python install XXX
(Tab键可以提示).whl
--> python install XXX
(Tab键可以提示)pip uninstall XXX
用来组织模块
包中可以包含包,包即为模块
目录必须包含__init__.py
可以解决命名冲突问题
c --> 头文件(解决函数和常量命名冲突)
c++ --> 头文件(解决函数和常量命名冲突)&&命名空间(解决函数、常量、类的命名冲突)
java --> 包(解决类的命名冲突)
python --> 包(解决模块的命名冲突)&&模块(解决函数、类、常量的命名冲突)
import package
--> 引入包import package.XX.module
--> 引入模块from package.XX.module/pakage import XX(All *)
--> 引入包或模块中部分或全部内容from package.XX.module/pakage import XX as XX
--> 引入包或模块中内容,并命名__init__.py
模块__init__.py
模块中可能要import
本文地址:https://blog.csdn.net/weixin_46005735/article/details/107073205
如对本文有疑问, 点击进行留言回复!!
sklearn使用之Pipeline、FeatureUnion、GridSearchCV代码示例
荐 Python之数据分析(Numpy中读取与保存数据文件、将数据文件制成K线图)
荐 可视化工具不知道怎么选?深度评测5大Python数据可视化工具
网友评论