Python_day7
- sys模块
import sys def _add(a, b):
return a + b def _sub(a, b):
return a - b def _mul(a, b):
return a * b def _div(a, b):
return a / b def caculate(num1, num2, op):
'''四则运算'''
'''
op_ls = ['+', '-', 'x', '/']
fun_ls = [_add, _sub, _mul, _div]
for i in range(len(op_ls)):
if op_ls[i] == op:
return (fun_ls[i])(num1, num2)
'''
op_fun = {'+':_add, '-':_sub, 'x':_mul, '/':_div}
for k in op_fun:
if k == op:
return (op_fun[k])(num1, num2) # print(sys.argv)
if __name__ == '__main__':
'''
argv = sys.argv
if len(argv) >= 4:
res = caculate(int(argv[1]), int(argv[3]), argv[2])
print('{} {} {} = {}'.format(argv[1], argv[2], argv[3], res))
'''
sys.exit(0) # 终止 print(sys.builtin_module_names)
- time模块
import time # 时间戳
tm = time.time()
# 时间结构
ltime = time.localtime()
print(ltime.tm_year)
# 时间字符串
str_time = time.strftime("%Y-%m-%d %H:%M:%S", ltime)
print(str_time)
- 验证模块的使用
__author__='zhang' # import pag.moduler as pm
# from pag.moduler import _test
from pag.moduler import * # 私有函数(_或__开头的函数)没导入
import hw
import sys if __name__ == '__main__':
print(__name__)
print(__doc__)
print(__author__) # 得到模块的搜索路径
print(sys.path) # pm._test()
test()
导用模块的目录下应:touch __init__.py
import main print(main.__name__)
print(main.__doc__)
print(main.__author__)
- 面向对象(oop):
类:抽象概念,类型
方法:类中的函数称为方法;你前面学到的有关函数的一切都适用于方法,就目前而言,唯一重要的差别是调用方法的方式。__init__()是一个特殊的方法。
对象:实际物体,类实例化对象
属性:
描述类---》类属性
描述对象---》实例属性
# 面向过程描述学生的成绩
d = {'m':80, 'yang:88, 'zh':100, 'liu':12} # 抽象类型
class Student(object):
count = 0 # 类属性:类名.属性名
def __init__(self, score): # --->构造函数:实例化对象时自动调用的
# print('__init__ is called')
# self : 当前对象
self.score = score
Student.count += 1 # 实例方法
def setName(self, name):
if 1 < len(name) < 32:
self.name = name
return True
else:
return False def run(self):
print('%s is running' % self.name) def __del__(self): # 析构方法:对象销毁的时候自动调用调用
print('delete.....') # 实例化对象
s1 = Student(100)
# 访问对象的属性
print(s1.score)
s1.name = 'chenyunliang'
print(s1.name) del s1 s2 = Student(98)
print(s2.score) # 调用方法
s2.setName('python')
print(s2.name) s2.run() print('学生对象有%d个'%Student.count)
# 抽象类型
class Student(object):
count = 0 # 类属性:类名.属性名
def __init__(self, score): # --->构造函数:实例化对象时自动调用的
self.__score = score # 私有属性,只允许在本类中访问
Student.count += 1 # 实例方法
def setName(self, name):
if 1 < len(name) < 32:
self.name = name
return True
else:
return False def run(self):
print('%s is running' % self.name) def getScore(self):
self.__privateFun()
return self.__score # 私有方法
def __privateFun(self):
print('private....') def __del__(self): # 析构方法:对象销毁的时候自动调用调用
print('delete.....') # 实例化对象
s1 = Student(100)
# 访问对象的属性
print(s1.getScore()) # 私有属性---》解释器做了名字的修改
print(s1._Student__score) # 私有方法
# s1.__privateFun()
s1._Student__privateFun()
- 继承
class Animal(object):
def __init__(self, name, age=1, color='white'): # 重写
self.name = name
self.age = age
self.__color = color # _Animal__color def show(self):
print(self.name, self.age, self.__color) class Dog(Animal):
def __init__(self, name, age, breed):
# 调用父类方法
# Animal.__init__(self, name, age)
# super(Dog, self).__init__(name, age)
super().__init__(name, age)
self.breed = breed def show(self):
Animal.show(self)
print('品种是%s' % self.breed) class Cat(Animal):
'''
def getColor(self):
return self.__color # 子类中不能直接访问继承的私有属性
# return self._Animal__color
'''
pass animal1 = Animal('花花')
animal1.show() d1 = Dog('旺财', 1, '哈士奇')
d1.show() cat1 = Cat('来福', 2, '花色')
cat1.show() print(cat1.getColor())
Python_day7的更多相关文章
- python_day7【模块configparser、XML、requests、shutil、系统命令-面向对象】之篇
python内置模块补充 一.configparser configparser:用户处理特定格式的文件,其本质是利用open打开文件 # 节点 [section1] #键值对k1 = v1 k2:v ...
- python_day7学习笔记
类 1)创建一个类 #coding=utf-8 __author__ = 'Administrator' class Employee: '所有员工的基类' empCount = 0 def __in ...
随机推荐
- GDI+_从Bitmap里得到的Color数组值分解
[这里写只是我个人的摸索经历,已经给出解决方案] 我之前写过一篇关于ARGB值的研究:https://www.cnblogs.com/lingqingxue/p/10362639.html 最近我又遇 ...
- Linux网络编程学习(十二) ----- 结语
该书提前看完了,重点看了第四章和第六章,第七章以后只是大致浏览了一下,如果以后工作中涉及这一块再仔细研究一下,大概花了二十天的样子,主要了解了进程间的通信方式.socket编程以及五种I/O模式,看的 ...
- SVM-sklearn
目的:1000张数字0-9的手写数字,训练识别手写数字:将其作为32*32的0,1化的数字,随后会将其变为1024列的一个向量 原理:SVM就是把平面的点变为一个空间的点,更好切,核函数就是怎么把他变 ...
- Java框架spring 学习笔记(三):Bean 的生命周期
当一个 bean 被实例化时,它可能需要执行一些初始化使它转换成可用状态.当bean不再需要,并且从容器中移除时,需要做一些清除工作.为了定义安装和拆卸一个 bean,我们只要声明init-metho ...
- Git安装配置和提交本地代码至Github,修改GitHub上显示的项目语言
1. 下载安装git Windows版Git下载地址: https://gitforwindows.org/ 安装没有特别要求可以一路Next即可,安装完成后可以看到: 2. 创建本地代码仓库 打开G ...
- 接口测试之——Charles抓包及常见问题解决(转载自https://www.jianshu.com/p/831c0114179f)
简介 Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的.该软件是用Java写的,能够在Windows,Mac,Linux上使用,安装Charl ...
- 实际项目中如何使用git命令
使用工具:Git Bash 工作空间项目存放路径C:/用户/git/demoProject 操作步骤: 1.切换到git项目路径 cd git/demoProject 2.git status ...
- 获取当前div中的文本(只获取当前div的, 子元素不要, 基于layui)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 网站JS控制的QQ悬浮
这是一个网站JS控制的QQ悬浮客服:代码1document.writeln("<div id=\"feedback\"><div id=\"f ...
- webpack多入口优化
最近接手的项目是公司之前搭的多页面应用脚手架,然后到现在入口页面大大小小超过半百了,然后每次更新完配置之后,重启页面就贼拉卡,实在太影响开发效率了,于是开始优化呗. 最开始发现如果你想要让加载速度变快 ...