python的小知识点

一、时间处理

time = time.localtime()

print(time) (获取当前时间)

(1)获取今天往后推迟36小时的时间

date1 = datetime.timedelta(days=1,hours=12)

date2 = datetime.datetime.mow + date1

print(date2)

(2)时间戳

date = datetitme.datetime.now()

print(date)

二、os操作

(1)获取当前路径的父级路径

result = os.path.abspath('..')

#result = os.getcwd()

print(result)

(2)文件读写操作

创建一个文本文件

f = open('文本文件名.txt','w',encoding='utf-8') (这个w可以换成r读取,或者a追加)

f.write('存储的内容')

f.close()

with open('文本文件名字',‘w’,encoding='utf-8') as f:

f.write('内容')

f.close()

三、匿名函数

def ad(x):

    return x**x+1

print(ad(4))

list = lambda x: x+1

四、用函数做一些10位随机的验证码

import random
str = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890'
def getRandom():
    with open("random.txt","w",encoding="utf-8") as f:
        for index in range(10000):
            content = ''
            for x in range(10):
                char = random.choice(str)
                content +=char
            print(content)
            f.write(content + '\n')
        f.close()
getRandom()
# 读取所有的文件
def readAllInfo():
    list = []
    with open('random.txt','r') as f:
        for line in f.readlines():
            line = line[0:-1]
            print(line)
        # print(f.readlines())
            list.append(line)
    f.close()
    return list
readAllInfo()
#
# 获取所有数据当中全部为数字的数据
# 纯数字
def getAllNumIinfo():
    list = readAllInfo()
    # print(list)
    with open("num.txt", "w") as f:
        for value in list:
            if value.isdigit():
                f.write(value +'\n')
    f.close()
getAllNumIinfo()

# 系统函数:
# 纯字母
def getAllCharInfo():
    list = readAllInfo()
    with open('char.txt','w') as f:
        for value in list:
            if value.isalpha():
                f.write(value +'\n')
    f.close()
getAllCharInfo()

五、类方法,静态方法、实例方法的区别

1.实例方法:在创建的时候需要一个self参数,表示用该方法的对象是谁

2.类方法:在创建的时候需要一个cls参数,表示该方法的类是谁

3.静态方法:静态方法无需指定调用的对象,因此后面不需要指定参数

实例方法、类方法和静态方法的使用场景:

如果想让方法根据调用的对象不同,显示不同的内容,或者实现不同的功能,经常使用对象方法;

如果方法不需要上述操作,方法不需要根据调用的对象不同,做出不同的调整,经常使用类方法和静态方法

静态方法可以被对象方法和类方法调用,下面是实际中的应用场景:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
class People(object):
    #表示用该方法的对象是谁
    def instaceFun(self):
        print("我是实例方法 ")

    # 表示该方法的类是谁
    @classmethod
    def classFun(cls):
        print("我是类方法 ")

    #可通过 类名/对象名 +方法名字来调用
    @staticmethod
    def staticFun():
        print("我是静态方法")
p = People()
p.instaceFun()
print(p.instaceFun)
# 类方法要使用  类名+方法名字来调用
People.classFun()
print(People.classFun)
# 静态方法的调用  类名+方法名字来调用
People.staticFun()
p.staticFun()   #对象 + 方法名 的方式来调用
print(People.staticFun())
print(p.staticFun)



















 

六、数据库操作

1.常见的存储方式:

内存: 变量、str、list...... 优点:读写快     缺点:程序关闭没内存释放

文件: with open() as f:   f.close()  优点:永久存储  缺点:读写麻烦

数据库存储: sqlite3  优点:数据永久   缺点: 难度大

 

2.数据库按性质划分:

关系型数据库(mysql,sqlite3):数据与数据之间有紧密的联系;

优点:可进行多表查询  缺点:删除维护数据麻烦(牵一发动全身)

非关系型数据库(mongDB,redis):数据与数据之间没有联系

优点:数据维护简单  缺点:数据之间缺少耦合度(一人吃饱全家不愁)

3.数据库按照使用规模来划分为四个等级

(1)大型数据库(orcle):用于大型商业公司 (淘宝,京东)

(2)中数据库(SQLserver):使用比较广泛

(3)小型数据库(mySQL):一般小型企业

(4)微型数据库(sqlite3):移动端

import sqlite3
# 创建一个数据库
connect =sqlite3.connect("MyDB")
# 创建一个数据游标,使用游标进行增删改查等操作
cursor = connect.cursor()
#创建一个表
cursor.execute('CREATE TABLE  IF NOT EXISTS my_table(name text, age int )')
# connect.commit()
#往表里插入数据
# cursor.execute('INSERT INTO my_table(name,age) VALUES ("uzi", 20)')
# connect.commit()
#从表中删除指定数据
# cursor.execute('DELETE FROM my_table WHERE name ="uzi"')
# connect.commit()
#将表中特定的标签改掉
# cursor.execute('UPDATE my_table SET name ="张梦瑶" WHERE name = "张三"' )
# connect.commit()
# cursor.execute('UPDATE my_table SET name ="张梦瑶" , age =1999 WHERE name = "李云"' )
# connect.commit()
#查询所有数据
cursor.execute('SELECT * FROM my_table')
result = cursor.fetchmany(6)
print(result)
# result = cursor.fetchall()
# print(result)
# result = cursor.fetchone()
# print(result)

 

七、关于sqlite3做的抢七小系统游戏,这是要求:

#在控制台输入信息,程序执行不同命令:
# 控制台输入1:添加学生信息,学生所有信息需要通过控制台输入
# 控制台输入2:修改学生信息,需要在控制台指明哪个学生的信息需要修改,同时在控制台输入修改的内容
# 控制台输入3:删除学生信息,需要在控制台指明哪个学生需要被删除
# 控制台输入4:查询所有学生信息
# 控制台输入其他数字:退出查询系统

print("===================学生管理系统======================")
print("=====================================================")
print("=====================================================")
print("===========1.增==2.删==3.改==4.查====================")
A = int(input("请输入纯 数字: (1-4增删改查,5-9退出系统)"))
def Student():
    if A ==1:
        a = input("请输入要添加的姓名:")
        b = input("请输入要添加的年龄:")
        c = input("请输入要添加的性别:")
        d = input("请输入要添加的兴趣爱好:")
        t = 'INSERT INTO stu_table(name,age,sex,hobby) VALUES ("{}","{}","{}","{}")'.format(a,b,c,d)
        cursor.execute(t)
        connect.commit()
        print("添加成功!")
        return
    if A ==2:
        print("========================再删除的属性的时候千万要小心哟==========================")
        de_name = input("请输入要删除的姓名:")
        q2 = 'delete from stu_table WHERE name ="{}"'.format(de_name)
        cursor.execute(q2)
        connect.commit()
        print("删除数据成功")
        return
    if A ==3:
        print("===========================请按照名字修改您想要修改的属性===========================")
        name = input("请输入你要修改的名字:")
        up_age = input("请输入请要被修改成的年龄:")
        up_sex = input("请输入请要被修改成的性别:")
        up_hobby = input("请输入请要被修改成的爱好:")
        w1 = 'UPDATE stu_table set age="{}" WHERE name ="{}" '.format(up_age,name)
        cursor.execute(w1)
        w2 = 'UPDATE stu_table set sex="{}" WHERE name ="{}"'.format(up_sex,name)
        cursor.execute(w2)
        w3 = 'UPDATE stu_table set hobby="{}" WHERE name ="{}" '.format(up_hobby,name)
        cursor.execute(w3)
        connect.commit()
        print("你想修改的数据已更新")
        return
    if A==4:
        a = input("请输入你的名字:")
        i = 'select * from stu_table where NAME="{}"'.format(a)
        cursor.execute(i)
        connect.commit()
        result = cursor.fetchall()
        print(result)
        return
    print("输入内容有错!强制退出!")
    return
Student()

 

成功没有捷径,只有一步一个脚印!

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/UserAgent123/article/details/81335152