25
2018
07

python中class的概念、定义和使用、类的继承等知识

类的概念,定义,使用demo:

#coding:utf-8
"""
类的概念:类是指一类事物,比如说:手机,有属性型号、价格,有功能 打电话,发短信,wifi等等
对象的概念:对象就是类的具体化,比如说:华为p10
类的定义:类名,首字母大写,驼峰命名(每个单词首字母大写),如果类名后不写(),则默认继承自object
class [类名][(父类名称,可以0~多个以逗号分隔)]:
    #属性、函数
"""
class Person():
    """Person类,类的属性可以动态创建"""
    def __init__(self,name,age):
        """初始化方法,初始化属性值,self代表当前对象"""
        self.name=name
        self.age=age
        """双下划线开头属性为私有属性,外部不能访问"""
        self.__company='c1'
        #print(self.__company)
        pass
    def get_company(self):
        """访问私有属性方法"""
        return self.__company
    def set_company(self,company):
        """设置私有属性方法,可以做效验判断"""
        if company!=None and company !='':
            self.__company=company
            pass
    def eat(self):
        """定义一个类的普通方法"""
        print("{} eat~".format(self.name))
        pass
    def make_car(self,name,speed):
        car = Car(name,speed)
        return car
    def drive(self,car):
        car.run()
        print("{}开着他的小突突【{}】以{}KM/H速度行驶".format(self.name,car.name,car.speed).decode("utf-8"))
        pass
    def __test_private(self):
        """双下划线开头方法为私有方法,外部不能访问"""
        print("test_private")
        pass
class Car():
    def __init__(self,name,speed):
        self.name=name
        self.speed=speed
        pass
    def run(self):
        print("{}正在公路上行驶……".format(self.name).decode("utf-8"))
"""创建对象,构造函数赋值过程
p1->self
Json->name
20->age
"""
p1=Person("Json",20)
print(p1.name,p1.age,p1.get_company())
p1.eat()
car = p1.make_car("大白",60)
p1.drive(car)
"""16进制打印对象内存地址"""
#print(hex(id(p1)))
"""判断一个对象是否属性某类"""
#print(isinstance(p1,Person))


25
2018
07

python函数延伸-简单介绍算法-排序、查找

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。


排序算法:

二分查找算法:

17
2018
07

sublime text 3 配置非默认python版本运行环境

http://www.sublimetext.com/


1、安装 Package Control

菜单  View > Show Console

输入:

import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0ef93d5f746d80ef60'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

15
2018
07

python中deepcopy的使用、函数的定义使用

函数调用图解:


13
2018
07

python自动化测试中的单元测试、批量执行与测试报告输出

我们都知道,在robot framework的IDE中执行测试用例,会自动生成测试报告,而纯Python写的函数,单元测试方法是不会自动生成测试报告的,本文就来讲下单元测试和测试报告的生成。


单元测试类库:unittest,在安装python就自带,不需要额外安装,只需要引用即可,下面贴上核心代码,包括两个单元测试:

#unittest1.py

#coding:utf-8
import unittest
class case1(unittest.TestCase):
    def test_case1(self):
        """
        这里是第1个测试用例
        """
        result=125*30
        print("test_case1 begin")
        #self.assertEqual(result,3750,'test_case1 结果失败!')
        assert result==3750,'test_case1 fail!'
        print("test_case1 结果正确")
        pass


07
2018
07

蓝牙的其他用法:连接手机热点上网

相信大家都知道,蓝牙的用途有很多。常见的包括播放音乐(蓝牙音箱)、文件传输(手机与手机之间),还有智能锁等等方面,都有用到蓝牙的地方。今天断网,突然想到用手机热点上网,可台式电脑没无线网卡,之前用来播放蓝牙音乐买了个usb蓝牙。从来没试过蓝牙上网,今天试了一下,很简单,也成功了。

下面记录一下使用步骤。

一、手机端设置:

1、打开个人热点

01
2018
07

python常见的时间处理、数据转换与比较、查询mysql、接口等操作

代码内容


# -*- coding: utf-8 -*-
#从datetime模块引入3个类:date,timedelta,datetime
from datetime import date,timedelta,datetime
"""
时间日期的转换和对比,是比较常见的操作
"""
today_date=date.today()#获取当前日期:datetime.date类型
print("today_date={}".format(today_date))
today_date_str=today_date.strftime('%Y-%m-%d')#datetime.date类型转换为字符串
print("today_date_str={}".format(today_date_str))
today_datetime=datetime.strptime(today_date.strftime('%Y-%m-%d'), '%Y-%m-%d')#datetime.date类型转换为字符串,再转换为datetime.datetime类型
select_date_str='2018-06-30'
select_datetime = datetime.strptime(select_date_str,'%Y-%m-%d')#字符串类型转换为datetime.datetime类型
print(type(select_datetime))
future_diff=(select_datetime-today_datetime).days#判断日期之前相差的天数
isrealtime=False
if future_diff >= 0:#选择日期大于或等于今日今天
    isrealtime=True
    pass
print("所选日期是否大于或等于今日:{}".format(isrealtime))
oneday = timedelta(days=1)#时间差对象数据
yes_datetime=select_datetime-oneday#日期类型时间操作
yes_datetime_str=yes_datetime.strftime('%Y-%m-%d')#昨日时间,字符串类型
print("yes_datetime_str={0}".format(yes_datetime_str))
#取年、月、日
print("year={},month={},day={}".format(select_datetime.year,select_datetime.month,select_datetime.day))
#判断每月最后一天:原日期加上一天,如果的天数为1,那原日期就是上个月最后一天
print("is lastday:{}".format((select_datetime+oneday).day==1))


«1»