当前位置: 首页 > news >正文

哈尔滨网站建设供应商线上销售渠道有哪几种

哈尔滨网站建设供应商,线上销售渠道有哪几种,wordpress调用最新文章模板,某景区网站建设策划书模块基础知识 # 项目 > 包 > 模块 > 变量\方法\类 # 在python中,模块是代码组织的一种方式,把功能相近的函数或类放到一个文件中,一个文件(.py)就是一个模块,模块名就是文件名去掉py后缀. # 好处:提高代码可复用性和可维护性,一个模块编写完成后,很方便在其他项目中导…

模块基础知识

# 项目 > 包 > 模块 > 变量\方法\类
# 在python中,模块是代码组织的一种方式,把功能相近的函数或类放到一个文件中,一个文件(.py)就是一个模块,模块名就是文件名去掉py后缀.
# 好处:提高代码可复用性和可维护性,一个模块编写完成后,很方便在其他项目中导入.解决了命名冲突问题,不同模块相同的命名不会冲突.
# 模块中可以存放变量,函数,类三种类型,并且在 import 模块名后,可以使用模块名进行调用 模块名.变量 模块名.函数 模块名.类
常用标准库:
builtins            内建函数默认加载
math                数学库
random              生产随机数
time                时间
datetime            日期和时间
calendar            日历
hashlib             加密算法
copy                拷贝
functool            常用的工具
os                  操作系统接口
re                  字符串正则匹配
sys                 python自身运行环境
multiprocessing     多进程
threading           多线程
json                编码和解码json对象
logging             日志记录,调试
# 在开发过程中肯定会遇到不同的问题,但如果已经有模块解决了这部分问题,我们就可以把这个模块叫过来帮忙.(基于项目导包)
# 我们可以通过以下方式实现模块导入(导入也是一个动作,会默认将模块内的代码加载进内存空间):
# 1- import 模块名: 这种方法导入模块,我们在需要使用模块中的变量\函数\类的时候,都需要以(模块名.变量 模块名.函数 模块名.类)的形式来调用# 2- from 模块名 import 变量,函数,类: 表示从模块中导入具体功能,这种方法导入模块可以直接使用导入的模块变量\函数\类# 3- from 模块名 import *: 表示导入该模块的所有内容,模块中可以定义__all__=[用来限制可以被*导入的变量\方法\类]# 4- from 包名 import 模块名: 导入后,需要使用 (模块名.变量\方法\类) 的方式调用# 5- from 包名.模块名 import 变量,函数,类: 如果导入某个包名下的模块,可以使用这个方法,导入进来的变量,函数,类可以直接使用.# 6- from .模块名 import 变量,函数,类: '.'表示从当前包内导入# 不管是import还是from的方式导入模块,都会将模块内的内容进行加载.这时模块中有方法调用的话,加载模块时就会执行模块中调用的方法.
#   如果不希望执行这个方法,需要使用 __name__ . __name__在自己的模块中值为__main__,出了本模块__name__的值为自身模块名.所以可以进行判断.

 

# 文件夹可以存放一些非.py文件# 包中存放的都是.py文件,包在创建后会自动创建一个__init__.py文件(初始化加载),包中存放多个模块.# __init__.py文件的功能1: 只要导入这个包的时候,就会默认执行__init__.py中的内容,将__init__中的内容加载进内存,里面的方法和类可以使用包名调用.
# 如果有些使用这个包就需要的出现的东西,就可以写在这里进行初始化加载.# 功能2: 如果使用from 包名 import *: 这种方式想要把这个包内的所有内容导入,需要在__init__.py模块中添加__all__ = [向外暴露的模块],否则无法导入
# 关于循环导入: 架构出错会出现循环导入问题
from B import b
# A.py中def a(self):b()from A import a   
# B.py中def b(self):a()
# 上面的两个类分别处于两个模块中.当运行a()方法时,会因为需要B模块中的b()方法而执行 'from B import b'
# 当导入时B模块中的b()方法时需要执行a()方法,所以会执行 'from A import a' 这样就会陷入循环导入而报错.
# 避免循环导入: 1-重新架构 2-可以将导入语句放到函数体中或最后,需要使用时才进行导入,例如下方所示:
A.py中def a(self):from B import bb()

 常用标准类库的使用

# 系统模块
print(sys.path)  # 系统会在哪些目录下搜索你要加载进来的模块,并按照搜索顺序依次打印
print(sys.version)  # 3.10.10 (tags/v3.10.10:aad5f6a, Feb  7 2023, 17:20:36) [MSC v.1929 64 bit (AMD64)]
print(sys.argv)  # ['D:\\python_Projects\\object_try\\Object_12系统模块.py'] 运行程序时的一些参数 argv是一个列表,默认存放程序本身
# time模块
print(time.time())  # 1681367610.33326 
# 返回当前时间(以秒为单位)浮点数表示 得到时间戳 经常用来求执行某段代码的时间差time.sleep(1)  # 延迟执行给定的秒数。# 将时间戳形式转换成字符串或元组形式
t = time.time()
print(time.ctime(t))  # 将传入的时间戳转为字符串形式 Thu Apr 13 14:38:00 2023
print(time.localtime(t))  # 以元组的形式转换时间戳 time.struct_time(tm_year=2023, tm_mon=4, tm_mday=13, tm_hour=14, tm_min=39, tm_sec=26, tm_wday=3, tm_yday=103, tm_isdst=0)# 将time.time()的元组形式转换为时间戳
l = time.localtime(t)
print(l.tm_year)  # 2023   元组形式的好处,可以使用元组时间戳对象单独访问元组的内容(年,月,日)
print(l.tm_mon)  # 4
print(time.mktime(l))  # 1681368145.0 去掉精度值# 将元组的时间转换为字符串 根据格式规范将时间元组转换为字符串。
strf_time = time.strftime('%Y-%m-%d %H:%M:%S')
print(strf_time)  # 2023-04-13 14:49:33 根据格式转换# 将字符串转换为元组的方式
r = time.strptime('2023-04-13', '%Y-%m-%d')
print(r)  # time.struct_time(tm_year=2023, tm_mon=4, tm_mday=13, tm_hour=0, ...)
# datetime模块

datetime模块下有:time 时间date 日期datatime 日期时间timedelta 时间差 时间差值经常在缓存设置时通过与时间差计算,得到缓存保留多长时间的作用
print(datetime.time)  # <class 'datetime.time'> 返回datetime.time对象
print(datetime.date)  # <class 'datetime.date'> 返回datetime.date对象
print(datetime.date.today())  # 2023-04-13 返回当前日期now = datetime.datetime.now()  # 得到当前日期和时间的时间戳
print(now)  # 2023-04-13 15:12:53.024391
timedelta = datetime.timedelta(hours=5)  # 时间差值:支持传递参数有days=0, seconds=0, microseconds=0,milliseconds=0, minutes=0, hours=0, weeks=0
print(timedelta)  # 5:00:00 当前timedelta的值(时间差值)
time_fix = now + timedelta  # 假如说要保存5个小时,通过计算得到结果.timedelta支持两个timedate对象进行计算操作
print(time_fix)  # 五小时后失效的时间为:2023-04-13 20:12:53.024391
# random模块
print(random.random())  # 得到0-1之间的随机小数
# randrange(start,end,[步长]),如有步长,则会从通过步长遍历后的范围内得到随机数 (1, 10, 2) => 1,3,5,7,9
print(random.randrange(1, 10))  # 从start到end中随机一个数字.但不包含end这个数字
print(random.randint(1, 10))    # 从start到end随机一个数字,包含end
# choice(seq) 从非空序列中选择一个随机元素
list1 = ['你', '我', '他']
print(random.choice(list1))  # 我\你\他
# shuffle(x)    打乱列表顺序,函数返回None
random.shuffle(list1)
print(list1)    # 打乱后顺序:['你', '我', '他'] => ['他', '我', '你']
random完成验证码功能
def get_verifycode():code = ''for i in range(4):# 从0,9之间随机一个数字转换为字符串形式ran1 = str(random.randint(0, 9))# 从Unicode字符中随机一个,并通过chr()将Unicode字符强转为str  ord()则反之ran2 = chr(random.randint(65, 90))ran3 = chr(random.randint(97, 122))r = random.choice([ran1, ran2, ran3])code += rreturn codeprint(get_verifycode())  # 9N0t
hashlib模块

# 加密算法  支持'md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512',
#                       'blake2b', 'blake2s',
#                       'sha3_224', 'sha3_256', 'sha3_384', 'sha3_512',
#                       'shake_128', 'shake_256' 加密
msg = '我爱你'
md_5 = hashlib.md5(msg.encode('utf-8'))
print(md_5.hexdigest())  # 4f2016c6b934d55bd7120e5d0e62cce3 加密之后的数据

 第三方库

# 第三方库 : 非标准库的模块,需要自己导入到项目中
# 第三方库需要在控制台pip下载包 pip install 模块名   也可以通过File->settings->project:->Python Interpreter中手动管理

单例模式的实现

# 开发模式:单例模式
# 我们平时定义的类可以无限创建对象使用类中的属性和方法,每个对象都会在内存中开辟一块空间
class Person:passp1 = Person()
p2 = Person()
# 不同对象开辟的不同内存地址
print(p1)  # <__main__.Person object at 0x00000207650A71F0>
print(p2)  # <__main__.Person object at 0x00000207650A6FB0>
# 那如果我们并不需要很多对象产生,只是需要使用这个类中的某些功能方法,使用时才调用这块内存空间,该怎么办呢?
# 这时候我们就需要使用单例模式,无论我们在创建时使用的哪种形式,我们在使用时都使用的是同一个对象!一个实例搞定!
class Singleton:# 先定义也给属性,准备用这个属性承接开辟出来的内存空间并返回__instance = None# 重写类的__new__()方法def __new__(cls, *args, **kwargs):if cls.__instance is None:# 如果属性为空,则调用object.__new__()方法开辟内存空间,并赋值给类__instancecls.__instance = object.__new__(cls)# 这里会将内存地址默认返回给__init__()方法,初始化动作完成后赋值给对象名# 当后续调用时,类属性就不为空了,所以返回的还是这个对象内存地址return cls.__instances1 = Singleton()
s2 = Singleton()
print(s1)  # <__main__.Singleton object at 0x000001B0F7ED54B0>
print(s2)  # <__main__.Singleton object at 0x000001B0F7ED54B0>

 完成!

http://www.hkea.cn/news/541371/

相关文章:

  • 平顶山做网站优化微博搜索引擎优化
  • 网站如何做品牌宣传海报每日舆情信息报送
  • 做论坛网站需要多大空间seo推广招聘
  • 中国建设银行网站软件不限次数观看视频的app
  • 网站开发建设的步骤win11优化大师
  • 在线做数据图的网站樱桃bt磁力天堂
  • 网站建设费的税率东莞公司网上推广
  • 上海设计公司排名前十宁波seo搜索优化费用
  • 如皋做网站公司com域名
  • 织梦做企业网站教程网络营销推广方案论文
  • 微信如何添加小程序二十条优化措施全文
  • 网站制作费可以做业务宣传费河北百度推广电话
  • wordpress日主题破解网站排名优化软件有哪些
  • 做公众号app 网站 app济南网站设计
  • 单位网站 单位网页 区别吗福州seo顾问
  • 专业做网站制作的公司百度地图网页版进入
  • 买卖网站域名骗局百度推广登陆
  • 石家庄大型网站设计公司手机怎么建网站
  • 政府网站图解怎么做百度关键词排名靠前
  • 天津做网站印标东莞网络推广排名
  • 设计一个外贸网站需要多少钱沈阳网站推广优化
  • 洗化行业做网站福州百度seo排名
  • 西安app网站开发项目腾讯域名注册官网
  • 网站开发的技术指标如何做网站搜索引擎优化
  • 建网站的要求老铁外链工具
  • wordpress有广告郑州seo优化大师
  • 企业网站推广的实验内容企业宣传网站
  • 如何开发高端市场宁波seo快速优化公司
  • 常用设计资源网站爱网站
  • 企业品牌网站营销关于seo的行业岗位有哪些