毕设学习笔记

1.第一个python程序

用win+R打开DOM命令窗口,输入以下代码:

python hello.py

提示我name ‘hello’is not defined

出错截图

2.用pycharm编写程序

# -*- coding = utf-8 -*-
# @Time :2022/3/23 16:10
# @Author : 杨静妍
# @File : demo1.py
# @software : PyCharm

print("hello,world")#这是单行注释
print("hello")

2.1标准化输出字符串

# -*- coding = utf-8 -*-
# @Time :2022/3/23 16:10
# @Author : 杨静妍
# @File : demo1.py
# @software : PyCharm

print("标准话输出语句:")
a = 10
print("a的值是",a)

age = 18
print("我的年龄为%d"%age)
print("我的国籍是%s,我的名字是%s"%("中国","小张"))

print("www","baidu","com")
print("www","baidu","com",sep=".")
print("hello word",end="")
print("hello world",end="\t")
print("python")

运行结果

#输入
password = input("请输入密码:")
print("您刚才输入的密码是",password)

2.2 强制类型转换



a = input("请输入一个数字:")
print(type(a))
'''
输出结果:
请输入一个数字:1
<class 'str'>
您刚才输入的数字是1
'''

print("您刚才输入的数字是%s"%a)
#注意:这里的a是字符串,所以要用%s

a = int(input("请输入一个数字:"))
b = 100 + a
print(b)
'''
请输入一个数字:1
101 #b的值为1+101,字符1转化为了数字1
'''

3.条件判断语句

3.1 知识点

if 条件:
	代码块
elif 条件:
	代码块
else:
	代码块

注意: 1.python中缩进表示一个层级,同一函数体 2.if条件语句后的条件不用加() 3.if 、elif、else后面有冒号:

3.2举例

#剪刀(0) 石头(1)布(2)
#石头大于剪刀 布大于石头  剪刀大于布
#思考:如何保证程序的健壮性?当输入字符串或者非0,1,2之外的数字时,如何报错?
import random
while True:
    x = input("请输入数字0-2中的一个数字:")
    #print(x)
    if x != '0' and x != '1' and x != '2':
        print("不要输入0或1或2之外的数字或字符,请输入0或者1或者2")
        
#首先输入的值有三种情况:
 # ①0或者1或者2
 # ②除了0且1且2之外的所有数字
 # ③字符串
#排除掉后两种情况后,就是正确的输入
    else:
        x = int(x)
        if x == 0:
            print("你的输入为:%s(%d)"%("剪刀", x))
        elif x == 1:
            print("你的输入为:%s(%d)"%("石头", x))
        elif x == 2:
            print("你的输入为:%s(%d)"%("布", x))
        y = random.randint(0,2)
        print("随机生成的数字为:",y)
        
'''
	遍历出所有赢的情况:
	石头大于剪刀、布大于石头、剪刀大于布、平局
	那么剩下的就是输的情况
	
'''
        if x == 1 and y ==0:#石头大于剪刀
            print("你赢了")
        elif x == 2 and y == 1:#布大于石头
            print("你赢了")
        elif x == 0 and y == 2:#剪刀大于布
            print("你赢了")
        elif x == y:
            print("平局")
        else:
            print("O(∩_∩)O哈哈~,你输了")

思路:首先输入的值有三种情况,①0或者1或者2②除了0且1且2之外的所有数字③字符串,排除掉后两种情况后,就是正确的输入。其次,input返回的是字符串,所以Ⅰ在判断时0,1,2是字符串,要写成'0','1','2',逻辑关系是且,都不能是这三个字符才满足①或②要有强制类型转换,把接收到的值转换为整型;Ⅱ遍历出所有赢的情况:石头大于剪刀、布大于石头、剪刀大于布、平局,那么剩下的就是输的情况

4.循环控制语句

在这里插入图片描述

3.1 知识点

for i in sequence:
   statements(s)
  1. sequence可以是数字也可以是字符串

  2. 内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。

3.2 举例

#99乘法表

#for循环
for i in range(1 , 11 , 1):
    for j in range(1 , i+1 , 1):
        print("%d*%d=%d"%(i , j , i*j), end="\t")
    print("\n")
    
#while循环
i = 1
while i <= 10:
    j = 1
    while j <= i:
        print("%d*%d=%d" % (i, j, i * j), end="\t")
        j = j + 1
    i = i + 1
    print("\n")

5. 字符串

5.1 知识点

内容摘自菜鸟教程

python字符串
字符串是 Python 中最常用的数据类型。
我们可以使用引号('或")来创建字符串。

Python 中三引号可以将复杂的字符串进行赋值。

Python 三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。

word = "aaa"
sentence = "aaaaa"
paragraph = \'''
    hahahahah
    hahhahah
    
    ha
'''
print(word)
print(sentence)
print(paragraph)

5.2 转义字符

str_name = 'I\'m a student'
str_name1="I'm a student"
my_str = "Jason says  \"I like you\""
print(str_name)
print(str_name1)
print(my_str)

5.3 字符串切片

str = "chengdu"
print(str)
print(str[0])
print(str[0:6])
print(str[0:6:2])
print(str[5:])
print(str[:5])

5.4 字符串拼接

print(str + "你好")#字符串连接使用+
print("hello\nworld")#使用反斜杠\,实现转移字符的功能
print(r"hello\nchengdu")
#在字符串前面加r,表示直接显示原始字符串,不进行转义
#直接显示出来,r直接进行输出,存储打印把别人爬取的内容...没听懂

附:

方法描述
byte.decode(encoding=‘utf-8’,errors=‘strict’python3中没有decode方法,但我们可是使用bytes对象的decode()方法来解码给定的bytes对象,这个bytes对象可以由str.encode()来编码返回
encode(encoding=‘UTF-8’,errors=‘strict’)以encoding指定的编码格式编码字符串,如果出错报一个ValueError的异常,除非errors指定的是’ignore’或者’replace’
isalnum()如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False
isalpha()如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False
isdigit()如果字符串只包含数字则返回True,否则返回False
isnumeric()如果字符串只包含数字字符,则返回True,否则返回False
join(seq)以指定字符串作为分隔符,将seq中所有元素(的字符串表示)合并为一个新的字符串
len(string)返回字符串长度
Istrip()截掉字符串左边的空格或者指定字符
rstrip删除字符串末尾的空格
split(str=“”,num=string.count(str),num=string.count(str)以str为分隔符截取字符串,如果num有指定值,则仅截取num+1个子字符串

isdigit()和isnumeric()的区别?[待补充]

6.列表

6.1 知识点

列表可拼接
print list1 + list2
可重复输出
print list * 2

6.2 列子

#不断询问用户想买什么,用户选择一个商品编号
#就把对应的商品添加到购物车里,最终用户输入q退出时
#打印购买的商品列表
products =[[0,"iphone",6888],[1,"MacPro",14800],[2,"小米6",2499],[3,"Coffe",31],[4,"Book",60],[5,"Nike",699]]
shopping=[]
#定义一个空的列表作为购物车,以后用列表的append()函数将商品追加到购物车中
while True:
    x = input("输入一个商品编号:")
    if x == 'q':#增加一个判断,判断是否结束输入
        break
    else:
        for product in products:#遍历products列表
            if product[0] == int(x):
            #取出商品编号 这里需要强制转化,因为input返回字符串
                shopping.append(product)
                #将编号对应的商品追加至购物车中
                print(shopping,end="\t")
        print("\n")


enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

7.元组

tup1 =()
tup2 = (50)
tup3 = (50,)
tup4 = (50,60,70)
print(type(tup1))#<class 'tuple'>
print(type(tup2))#<class 'int'>
print(type(tup3))#<class 'tuple'>
print(type(tup4))#<class 'tuple'>

tup1 = ("abc","def",200,2020,333,444,555,666)
print(tup1[0])
print(tup1[-1])#选取最后一个元素
print(tup1[1:5])#切片


#增

tup1 = (12,34,56)
tup2 =("abc","def")
tup = tup1+tup2#连接
print(tup)

#删

tup1 = (12,34,56)
print(tup1)
del tup1
print("删除后")
print(tup1)

#改 #不允许修改

tup1 = (12,34,56)
tup1[0] =100


#TypeError: 'tuple' object does not support item assignment
#查

8.字典

#字典的定义
'''
dict = {"name" : "吴彦祖","age":50}
print(dict["name"])
print(dict["age"])
#访问了不存在的键
#print(dict["gender"])
print(dict.get("name","20"))
print(dict.get("gender","m"))
'''
#【所有的数据结构复习,都可以为增删改查的复习】
#增

#删 del clear
info = {"name":"吴彦祖","age":18}
'''
print("删除前")
print(info["name"])
del info["name"]
print("删除后")
print(info["name"])

print(info)
del info
'''
'''
print("清空前%s"%info)
info.clear()
print(info)
'''
#改
'''
info = {"name":"吴彦祖","age":18}
info["age"]=20
print(info["age"])
'''
#查
info = {"id":1,"name":"吴彦祖" ,"age":18}
'''
print(info.keys())#返回列表
print(info.values())
print(info.items())#返回元组

for key in info.keys():
    print(key)

for value in info.values():
    print(value)
'''
'''
for key,value in info.items():
    print("key=%s,value=%s"%(key,value))
'''
'''
mylists = ["a","b","c","d","e"]
for i,mylist in enumerate(mylists):
    print(i,mylist)
 '''

9. 集合

s = set([1,2,3])
print(s)#{1, 2, 3}
s = set([1,1,2,2,3,4])
print(s)#{1, 2, 3, 4}

10.小结

数据类型对比
可变与不可变是指能不能进行改操作,列表可以改,元组不能改。

【之前没有理解这么深刻,现在理解这么深刻,没有问题,从哪跌倒的,从哪爬起来】

保存数据到Excel

首先课程讲述了,如何,从网页上爬取的数据保存到excel表中。【运用saveData()函数】

保存数据到SQLit

通过建立数据库,连接数据库
conn = sqlite3.connect(dbpath)
cur = conn.cursor()
cur.execute(sql)
sqlite 数据库的创建
每次创建的时候就要创建表,所以要删除
导入数据库得过程。
运用py charm,内置sqlite数据库【存在数据库的创建问题】,进行表的增删改查【在spider.py中 saveData2DB()】

flask框架

一篇flask框架的博客

一、路由

#路由解析,通过用户访问的路径,匹配响应的函数
@app.route("/index")
def hello():
return "你好"

if _ _name_ _=='_ _main_ _':
	app.run(debug = True) 

使用debug模式:可以进行实时的更新
使用debug模式1
使用debug模式2

web网络传输

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值