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 " ...
随机推荐
- Django基础笔记
1.准备工作 .虚拟环境设置 python3 pip install virtualenv python -m venv env(虚拟环境文件名) env\Scripts\activate pip i ...
- python3爬虫抓取智联招聘职位信息代码
上代码,有问题欢迎留言指出. # -*- coding: utf-8 -*- """ Created on Tue Aug 7 20:41:09 2018 @author ...
- March 10th, 2018 Week 10th Saturday
All good things must come to an end. 好景无常. Love is when the other person's happiness is more importa ...
- Angular之模态弹窗ui-bootstrap-modal及轻量级弹窗ngDialog
ui-bootstrap 中模态 官网 angular-ui-bootstrap 对于ui-bootstrap集成大量指令如折叠ui.bootstrap.accordion.时间插件ui.boot ...
- python入门练习题
1.使用while循环输入 1 2 3 4 5 6 8 9 10 num = 1 while num<=10: if num ==7: num += 1 continue print(n ...
- Zookeeper的一致性
转载:http://flyfoxs.iteye.com/blog/2121560 下面内容主要摘抄于<<Hadoop实战>>,红色高亮部分是本人添加的白话注释. Zookeep ...
- 【vue】在移动端使用better-scroll 实现滚动效果
安装依赖:(c)npm install better-scroll --save 引入: import BScroll from 'better-scroll' 格式: var obj = new B ...
- 微信硬件平台(八) 1 esp8266从自己的服务器获取token
从txt获取token #include <ESP8266WiFi.h> #define host_token "www.dongvdong.top" #define ...
- 【Windows】+ windows下在某一文件夹下按“shift+鼠标右键”打开CMD窗口
前言:没更改之前是打开的powershell窗口,超不习惯 新建一个txt文件,然后复制以下代码,然后保存为OpenCmdHere.reg 格式,然后双击即可 Windows Registry Edi ...
- 初学Python——面向对象编程
一.面向对象 or 面向过程? 编程范式: 编程是 程序 员 用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所 ...