前言

博主研究的方向是数据科学这块,学python的主要目的就是写爬虫。接下来的几篇教程也会围绕着爬虫展开。

这篇文章并不适合编程小白(最少之前要学过一门面向对象的语言,或有面向对象的思想),有很多语法细节这里没有详细说明,以后用到了,再进行记录。

如果有写的不严谨的地方,请指出,因为这里主要是用来当作我的个人笔记使用的,所以文章可能不够严谨。

# -*- coding: utf-8 -*-
# @Time    : 2020-08-02 16:04:58
# @Author  : MrGeek
# @FileName: demo.py
# @Software: PyCharm
# @Blog    :https://mrgeek-zrh.gitee.io

"""
变量的使用
python 是弱类型语言,使用变量前不用定义类型(和JS类似)
"""
# width = 3
# height = 4
# s = width*height
# print(s)


"""
输入函数:input()
默认返回str 类型
"""
# choice = input()
# 打印一下input的返回值类型
# print(type(choice))
# 打印一下输入的值
# print(choice)
# 将输入的内容强转成int 型
# print(int(choice)+2)

"""
if、elif、else语句
"""
# choice = int(input())
# if choice == 1:
#     print("等于1")
# elif choice == 2:
#     print("等于2")
# else:
#     print("等于3")


"""
for循环
格式:
for i in range(i,j,k):
    语句

i 表示起始数
j 到第几个元素结束
k 表示相邻两个数之间的插值(后-前)
"""
# for i in range(1,10,3) :
#     print(i)
# 输出结果:
# 1
# 4
# 7


"""
格式化输出: f''
{} 作用是取{} 中的变量的值
"""
# i = 3
# j = 2
# print(f'{i}+{j}')


"""
while 循环、break语句、continue语句
"""
# i = 0;
# while True:
#     print("是否继续?(y:继续,n:不继续)")
#     choice = input()
#     if choice == 'n':
#         break
#     else:
#         # python 中没有 ++ 运算符
#         i += 1
#         print(f'这是你第{i}次登录')
#         continue


"""
字符串
    1.根据索引获取指定的值
    2.字符串切片
"""
# string = input()

# 根据索引获取指定的值
# print(string[0])
# print(string[1])
# 字符串切片
# 从第二个元素开始输出,每隔两个元素输出一次,一直到第三个元素结束
# print(string[1:3:2])

"""
列表(list)中的每个元素可以使任意类型
且每个元素的类型不用相同
"""
# 定义一个列表
# my_list = [1,1.3,"列表"]
# print(my_list)
# 向列表中追加元素
# 默认是追加到列表的末尾
# my_list.append(123)
# print(my_list)
# 向列表的指定位置插入元素
# my_list.insert(1,"python")
# print(my_list)
# 先将需要添加的内容拆分,然后插入到列表中
# extend中的内容类型没有强制限制,但必须可被拆分
# my_list.extend([11,22,33])
# print(my_list)
# my_list.extend("python3")
# print(my_list)
# 删除列表中的元素
# 根据序号进行删除
# 入股怕怕不传参的话,默认删除最后一个元素
# my_list.pop(2)
# print(my_list)
# 根据元素进行删除
# my_list.remove("列表")
# print(my_list)
# 修改列表中的元素
# my_list[2] = "我是被修改过的元素"
# print(my_list)


"""
元组(tuple):和列表基本一致
除了元素不可被修改
"""
# my_list = (1,2.1,"python")
# print(my_list)


"""
字典(dict)
"""
# user = {
#     "name":"tom",
#     "age":12,
#     "address":"上海"
# }
# print(user)
# print(user["age"])
# 修改字典中元素的值/向字典中添加元素
# user["address"] = "我被修改了"
# user["habit"] = "篮球"
# print(user)


"""
set
创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素
set会自动去掉重复的元素
"""
# 定义一个Set 
# s = set(['adam','bart'])
# 判断set中有没有指定元素
# print 'adam' in s
# print 'bart' in s
# 向set中添加元素
# 如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了
# s.add("jark")
# print s
# 删除元素
# 如果删除的元素不存在set中,remove()会报错
# s.remove("adam")
# print s


"""
自定义函数,并返回结果
"""
# def Print():
#     print("自定义函数")
#     return 2
#
# choice = Print()
# print(choice)


"""
文件读写
"""
# 读
# f = open("test.txt");
# s = f.read()
# print(s)
# 写
# f = open("test.txt",mode="a",encoding="utf-8")
# f.write("\n这是我写入的内容")


"""
生成随机数
"""
# import random
# 随机生成1到5之间的数字
# print(random.randint(1,5))


"""
类
"""
# class Person:
#     def __init__(self,name,age,sex):
#         self.name = name
#         self.age = age
#         self.sex = sex
#     def say(self,word):
#         print(f'{self.name}说了{word}:”我今年{self.age}了“')
#
# zhangsan = Person("张山",12,"男")
# zhangsan.say("我很棒")
# 或
# class Person:
#     name = ""
#     age = 0
#     sex = ""
# 
#     def say(self,word):
#         print(f'{self.name}说了{word}:”我今年{self.age}了“')
# 
# zhangsan = Person()
# zhangsan.age = 12
# zhangsan.sex = "男"
# zhangsan.name = "张三"
# zhangsan.say("我很棒")


"""
异常处理
"""
# 格式
"""
try:
    正常代码
except Exception as 异常名称(自定义):
    异常处理代码
"""
 try:
    i = 2/0
    print("执行完毕")
 except Exception as e:
    print(e)


"""
继承
"""
# 格式:
# 单继承
class father():
    def say(self):
        print("i can speak")
class son(father):
    # 展位符,无实际意义
    pass

# 多继承
class father():
    def say(self):
        print("i can speak")
class mother():
    def say(self):
        print("i can speak too")
class son(father,mother):
    # 展位符,无实际意义
    pass