import导入模块,==和is,浅拷贝和深拷贝,进制转换,位运算,私有化,property装饰器
'''import导入模块'''
import sys
print(sys.path) sys.path.append('D://ASoft/Python/PycharmProjects')
import wisirtest
wisirtest.wisirtest1()
#当用户导入模块时,可能会提示模块找不到,是因为该模块的路径不在sys.path。
# 即import在导入模块时,是根据sys.path依次查询要导入的模块。若要导入的模块找不到,可以sys.path.append('\\\')加入要导模块的路径即可。 '''重新导入'''
print('-------------1-----------------')
#在程序未退出之前,修改了导入的模块,修改的效果未在程序中体现,此时可以使用importlib模块中reload(模块名)重新加载模块即可。
from importlib import *
#input('暂停程序')
#reload(wisirtest) #写了此行之后,程序未退出之前会重新加载该模块,即刷新导入修改模块后的效果。
wisirtest.wisirtest1() ''''"=="判断值是否相等;"is"判断是否指向同一个东西。'''
'''小数对象是全局解释器范围内被重复使用,永远不会被GC回收。'''
print('-------------2-----------------')
a = 'a'
b = 'a'
print(a is b) #小数对象 '''浅拷贝和深拷贝'''
print('-------------3-----------------')
a = [11,22,33]
b = a #浅拷贝:仅仅是地址的拷贝,没有拷贝地址中的内容。
print(id(a))
print(id(b))
import copy
c = copy.deepcopy(a) #深拷贝
print(id(a))
print(id(c)) f = [1,2,3]
g = [4,5,6]
h = [f,g]
i = copy.copy(h) #此时copy.copy()只深拷贝第一层中的内容即f和g,因为列表为可变类型,而浅拷贝f和g中的内容。
print(id(h))
print(id(i))
f.append(9)
print(h[0])
print(i[0]) j = (f,g)
k = copy.copy(j) #此时copy.copy()为浅拷贝,因为元组是不可变类型。
print(id(j))
print(id(k)) '''进制转换'''
print('-------------4-----------------')
print(bin(18)) #二进制
print(oct(18)) #十进制
print(hex(18)) #十六进制 print(int('12',8)) #八进制转为十进制 '''位运算'''
print('-------------5-----------------')
print(5<<1) #左移和右移
print(3&6)
print(3|6)
print(3^6)
print(~9) '''私有化'''
print('-------------6-----------------')
class Test():
def __init__(self):
self.__num = 100 #__num相当于其他语言的私有属性 def setNum(self,newNum):
self.__num = newNum def getNum(self):
return self.__num t = Test()
#print(t.__num) #此处用不了私有化__num变量 t.__num = 2 #此处为对象的新增属性
print(t.__num) print(t.getNum())
t.setNum(30)
print(t.getNum()) '''property'''
print('-------------7-----------------')
class Test2():
def __init__(self):
self.__num = 100 #__num相当于其他语言的私有属性 def setNum(self,newNum):
self.__num = newNum def getNum(self):
return self.__num num = property(getNum,setNum) t2 = Test2()
t2.num = 22
print(t2.num) '''property装饰器'''
print('-------------8-----------------')
class Test3():
def __init__(self):
self.__num = 100 #__num相当于其他语言的私有属性 @property
def num(self):
return self.__num @num.setter
def num(self,newNum):
self.__num = newNum t3 = Test3()
t3.num = 33
print(t3.num)
import导入模块,==和is,浅拷贝和深拷贝,进制转换,位运算,私有化,property装饰器的更多相关文章
- python学习第五讲,python基础语法之函数语法,与Import导入模块.
目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...
- 模块(modue)和包(package)的概念-import导入模块
模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较 ...
- Python学习第二阶段,Day2,import导入模块方法和内部原理
怎样导入模块和导入包?? 1.模块定义:代码越来越多的时候,所有代码放在一个py文件无法维护.而将代码拆分成多个py文件,同一个名字的变量互不影响,模块本质上是一个.py文件或者".py&q ...
- Python使用import导入模块时执行了模块的文件但报ModuleNotFoundError错误的愚蠢问题
老猿在学习import导入自定义模块时,搜索路径中sys.path中已经添加对应路径,发现会报ModuleNotFoundError,但对应的模块代码被执行了,代码myfib.py如下: def fi ...
- Python入门-import导入模块功能
1.啥是模块 模块(module):用来实现或者多个功能的Python代码,(包含变量.函数.类),本质就是*.py后缀文件. 包(package):定义了一个由模块和子包组成的Python应用程序执 ...
- python模块介绍- binascii:二进制和ASCII互转以及其他进制转换
20.1 binascii:二进制和ASCII互转作用:二进制和ASCII互相转换. Python版本:1.5及以后版本 binascii模块包含很多在二进制和ASCII编码的二进制表示转换的方法.通 ...
- 关于from..import 与import导入模块问题
问题来源:导入PyQt5里面的模块时老是出错 1.from PyQt5 import QtWidgets.QApplication,QtWidgets.QtDialog #出错2.from PyQt5 ...
- 2. import 与 from...import 导入模块
1. 导入整个模块 格式: import somemodule2. 从某个模块中导入某个函数 格式: from somemodule import somefunction3. 从某个模块中导入多个函 ...
- Python使用import导入模块时报ValueError: source code string cannot contain null bytes的解决方案
老猿在导入一个Python模块时报错: >>> import restartnet.py Traceback (most recent call last): File " ...
随机推荐
- web前端(2)—— 前端技术介绍
前端技术 前文了解了什么是前端,那么前端技术到底有哪些呢?最核心的就这三个: html/html5 css/css3 javascript 什么是HTML HyperText Markup Langu ...
- SpringBoot自定义属性配置以及@ConfigurationProperties注解与@Value注解区别
我们可以在application.properties中配置自定义的属性值,为了获取这些值,我们可以使用spring提供的@value注解,还可以使用springboot提供的@Configurati ...
- UGUI ScrollRect 滑动
运行环境 Unity3D 5.3.7 p4 在我之前的博客中,写过一些Unity4.6的UGUI,现这篇是基于Unity 5.3的 推荐结构 推荐使用三层来组织,如下所示: ScrollRect :S ...
- 通过jquery隐藏和显示元素
通过jquery隐藏和显示元素 调用jquery本身提供的函数 $("xxx").hide();//隐藏xxx $("xxx").show();//显示xxx ...
- 4.4Python数据处理篇之Matplotlib系列(四)---plt.bar()与plt.barh条形图
目录 目录 前言 (一)竖值条形图 (二)水平条形图 1.使用bar()绘制: 2.使用barh()绘制: (三)复杂的条形图 1.并列条形图: 2.叠加条形图: 3.添加图例于数据标签的条形图: 目 ...
- Beta冲刺博客汇总(麻瓜制造者)
Beta冲刺博客 Beta冲刺(1/5)(麻瓜制造者) Beta冲刺(2/5)(麻瓜制造者) Beta冲刺(3/5)(麻瓜制造者) Beta冲刺(4/5)(麻瓜制造者) Beta冲刺(5/5)(麻瓜制 ...
- 【大数据技术】HBase介绍
1.HBase简介1.1 Hbase是什么HBase是一种构建在HDFS之上的分布式.面向列.多版本.非关系型的数据库,是Google Bigtable 的开源实现. 在需要实时读写.随机访问超大规模 ...
- 在django中如何通过已有的mysql表生成django的model
第一步:先是在项目中建立一个app:python manage.py startapp app01 第二步:python manage.py inspectdb > app01/models.p ...
- spring boot监控--actuator
原文地址:http://blog.csdn.net/wh_ouyangshuang/article/details/48048111 spring-boot-actuator模块提供了一个监控和管理生 ...
- Linux三剑客-AWK
1.什么是awk AWK是一种处理文本文件的语言,是一个强大的文本分析工具.有统计和计算功能. 之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Br ...