示例#1
0
# coding: UTF-8
from exercise.common import show_title

# class
# __foo__: 定义的是特殊方法,一般是系统定义名字 ,类似 __init__() 之类的。
#
# _foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *
#
# __foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。
show_title('类的处理')


class BaseUser:
    __version = 1.0  # 定义一个私有变量

    def __init__(self, oid):
        self._id = oid

    def __str__(self):
        return "用户id=%s %s" % (self._id, BaseUser.__version)


class DbUser(BaseUser):
    _name = None

    def __init__(self, oid, name):
        # BaseUser.__init__(self, oid)
        super().__init__(oid)
        self._name = name

    # 属性的定义
示例#2
0
# coding: UTF-8
import sys
from functools import reduce
from exercise.common import show_title

# lambda
show_title('lambda')
add_method = lambda x, y: x + y
print(add_method(1, 2))
data = list(range(100))

# filter过滤数据方法
sdata = list(filter(lambda x: x < 40 and x > 30, data))
print(sdata)

# map方法
mapdata = map(lambda x: x + 2, sdata)
listdata = list(mapdata)
print("list(mapdata)=", listdata)
# 对于打印输出的lambda
lprint = lambda x: sys.stdout.write(x + '\n')
lprint("lambda x: sys.stdout.write(x+'\\n')")

# reduce方法
# 从左到右对一个序列的项累计地应用有两个参数的函数,以此合并序列到一个单一值
res = reduce(lambda x, y: x + y, listdata, 0)
print(res)
示例#3
0
from exercise.common import show_title

# 内置函数
show_title('内置函数')
print("__import__()", '内置的导入函数')
print("abs()", '计算绝对值', abs(-123))
print("all()", '所有的迭代之都=True')
print("any()", '任何=True,则返回True')
print("ascii()", '返回ascii码')
print("bin()", '转换二进制')
print("bool()", '转换bool类型')
print("bytearray()", '转换bytearray')
print("bytes()", '转换bytes')
print("callable()", '返回True如果对象参数出现可调用, False如果没有。')
print("chr()", '返回表示其Unicode代码点是整数i的字符的字符串')
print("classmethod()", '返回函数的类方法')
print("compile()", '将源代码编译为代码或AST对象。代码对象可以由exec()或执行eval()')
print("complex()", '返回值为real + imag * 1j的复数')
print("delattr()", '删除属性值')
print("dict()", "转换字典", dict({'a': 1, 'b': 2}))
print("dir()", '查询对象的方法、属性')
print("divmod()", '函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)')
print("enumerate()", '返回枚举对象')
print("eval()", '运行程序代码')
print("exec()", '执行外部程序')
print("filter()", '过滤数据,filter(function,iterable )')
print("float()", '转换float')
print("format()", '格式化数据,一般转换为对象的format函数调用')
print("frozenset()", '返回一个新的frozenset对象')
print("getattr()", '返回属性值')
print("globals()", '返回所有的全局对象')
示例#4
0
# coding: UTF-8
import exercise.common as comm
import exercise.lang as lang
import exercise.function
import exercise.statement
import exercise.collection
import exercise.testclass
import exercise.testdatetime
import exercise.testlamda

print('\n' * 2)
comm.show_title('Main运行程序')
print('lang version=', lang.version)
print(lang.__doc__)

if __name__ == '__main__':
    print('运行主程序')
示例#5
0
# coding: UTF-8
import os.path as path
import os
from exercise.common import show_title

# 文件处理
show_title('文件处理')


def viewfile(filename):
    with open(filename) as f:
        print(f.read())


def view_lines(filename):
    with open(filename) as f:
        i = 1
        for line in f:
            print(i, ' ', line.rstrip())
            i += 1
        # 重新读取文件
        f.seek(0)
        lines = f.readlines()
        func = lambda txt: 'http' in txt
        res = filter(func, lines)
        for x in list(res):
            print(x.strip())


# 文件系统扫描处理
def print_files(path):
示例#6
0
# coding: UTF-8
"""
这种形式对应__doc__,可以使用内置的帮助来展现
关于Python语言的基础知识
"""
# 全局的变量
import math
from exercise.common import show_title

version = 1.0

# 数字的处理常用用法
# 在3.0中不用在使用L结尾的标识长整型
show_title('数字的处理')
nums = []
nums.append(123)
nums.append(123)
nums.append(123.23)
nums.append(123e2)
nums.append(0x123)
nums.append(0b1010)  # 二进制
nums.append(0o67010)  # 八进制
nums.append(3 + 4j)  # 复数
for num in nums:
    print(" - ", num)
print("12的平方= %d" % 12**2)
print("13/3= {}".format(13 / 3))
print("13//3地板除法= {}".format(13 // 3))  # floor除法
print("13%3= {}".format(13 % 3))
print("round(13/3,2)= {}".format(round(13 / 3, 2)))
print("math.ceil(13/3)= {}".format(math.ceil(13 / 3)))
示例#7
0
# coding: UTF-8
from exercise.common import show_title
import mysql.connector
from mysql.connector import errorcode
import time

# Mysql数据库操作
show_title('Mysql数据库操作')
print('安装驱动:pip3 install mysql-connector-python')

def queryData(conn):
    cursor = conn.cursor()
    try:
        cursor.execute("select * from wp_config;")
        r = list()
        for r in cursor:
            row = dict(zip(cursor.column_names, r))
            print(row['id'], '%-30s' % row['name'], '%-30s' % row['title'])
    except mysql.connector.Error as e:
        print('query error!{}'.format(e))
    finally:
        cursor.close()

def query_data(cnx):
    cr = cnx.cursor()
    cr.execute('select * from wp_config limit 2')
    values = cr.fetchall()
    for r in values:
        print(r)
    cr.close()
示例#8
0
# coding: UTF-8
import time
import datetime
import calendar
from exercise.common import show_title

# time
show_title('日期和时间的处理')
ticks = time.time()
now = time.localtime(ticks)
print("当前时间戳为:", ticks, time.timezone)
print("当前时间元组:", now, time.tzname)
print("当前时间:", time.asctime(now), 'CLock=', time.clock())
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

cal = calendar.month(2018, 3)
print("以下输出2016年1月份的日历:")
print(cal)

i = datetime.datetime.now()
print("当前的日期和时间是 %s" % i)
print("ISO格式的日期和时间是 %s" % i.isoformat())
print("当前的年份是 %s" % i.year)
print("当前的月份是 %s" % i.month)
print("当前的日期是  %s" % i.day)
print("dd/mm/yyyy 格式是  %s/%s/%s" % (i.day, i.month, i.year))
print("当前小时是 %s" % i.hour)
print("当前分钟是 %s" % i.minute)
print("当前秒是  %s" % i.second)
print("当前 %s" % i.strftime('%Y-%m-%d %H:%M:%S'))
d = datetime.datetime.strptime('2017-1-1 12:43:23', '%Y-%m-%d %H:%M:%S')