Python学习-第一阶段

python设置国内镜像

安装方式

pip install xxx -i https://opsx.alibaba.com/mirror/

设置方式

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

国内镜像站点

华为镜像源  https://mirrors.huaweicloud.com/
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
浙江大学开源镜像站    http://mirrors.zju.edu.cn/
腾讯开源镜像站    http://mirrors.cloud.tencent.com/pypi/simple
豆瓣 http://pypi.douban.com/simple/
网易开源镜像站    http://mirrors.163.com/
搜狐开源镜像    http://mirrors.sohu.com/

python介绍

数据类型

  • python中常见的数据类型:字符串、数字、浮点数
print("字符串")  # 字符串类型
print(666)  # 数字类型

print(type("字符串"))  # str

# 类型转换
num_number = int("123")
print(num_number)  # 数字类型

num_float = float("123.12")
print(num_float)  # 浮点数类型

str_str = str(123)
print(str_str)

字符串定义方式

  • 字符串定义方式有四种
    1. 单引号
    2. 双引号
    3. 三个单引号
    4. 三个双引号
# 字符串定义方式
name = "名字"
name = "名字"
name = """名字"""
name = """名字"""

格式化字符串

# 格式化字符串
nameStr = f"{name}是名字,{num_float}数字;类型"
print(nameStr)

输入语句

# 输出语句
print(input("告诉我\n"))
# 输入语句
ipt = input("告诉我\n")

注释方式

  • 注释方式有多种,常见的是#
# 注释
"""
注释
"""

'''
注释
'''

判断和循环

判断条件

简介

if 条件:
    pass
elif 条件:
    pass
elsepass

实例

print(f"1>5={1>5}")  # False

# Boolean值
flag = False
print(flag)

# 条件判断
print(1 == 1)

# if语句
print("---------------if语句---------------")
if 1 < 2:
    print("是的")
    print("1<2")

print("---------------结束---------------")


# 判断案例
print("---------------判断案例---------------")
age = input("请输入你的年龄")

if int(age) > 10:
    print("需要买票")
else:
    print("不需要买票")
print("---------------判断案例---------------")

循环条件

for循环

简介
for 循环的变量名 in 需要循环的内容:
    循环体
实例
name = "python设置国内镜像"

for x in name:
    print(x, end="")
    pass
print("---------------------有多少个1-----------------")


name = "http://123.56.84.50:1616/"
count = 0
for x in name:
    if x == "1":
        count += 1
        pass
    pass
print(f"这个字符串共有{count}个1")

while循环

简介
while 条件:
    循环体
    pass
实例
import random

num = random.randint(1, 100)

flag = True
count = 0

while flag:
    count += 1
    guessNum = int(input("输入你想的数字:"))
    if guessNum == num:
        print(f"猜中了,猜了{count}次")
        flag = False
        pass
    elif guessNum < num:
        print("猜小了")
        pass
    elif guessNum > num:
        print("猜大了")
        pass

函数的基础使用

def 函数名(参数1,参数2):
    函数体
    return 返回值

实例

str1 = "123456789123456789"
str2 = "112233445566778899"
str3 = "11122233444555666"


def countLen(string, num):
    count = 0
    for x in str(string):
        if x == str(num):
            count += 1
            pass
        pass
    print(f"一共有{count}{num}")
    return f"一共有{count}{num}"
    pass


print(countLen(str1, 1))
countLen(str2, 1)
countLen(str3, 1)


# 主动返回none
def sayHello():
    return None


print(sayHello())

列表定义

nameList = ["uuu", "iii", "ppp"]
print(nameList)  # 输出列表内容

# index方法
print(nameList.index("uuu"))

# 修改元素
nameList[0] = 666
print(nameList)

# 插入元素
nameList.insert(1, "新插入的")
print(nameList)

# 追加元素---单个
nameList.append("追加元素")
print(nameList)

# 追加元素---整个
nameList.extend([[1, 2, 3, 4]])
print(nameList)

# 删除元素
del nameList[1]
print(nameList)

# pop删除
element = nameList.pop(2)  # 取出元素
print(f"输出删除元素{element},新的数组为:{nameList}")

# remove删除---默认删除找到第一个
myList = [1, 1, 2, 2, 4, 5, 5, 6, 8, 9]
myList.remove(1)
print(myList)

# 清空列表
myList.clear()
print(myList)

# 统计元素的数量
myList = [1, 1, 2, 2, 4, 5, 5, 6, 8, 9]
print(myList.count(1))

# 列表的数量有多少
print(len(myList))

序列的操作

mylIST = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# 从1开始,4结束 步长为1
result1 = mylIST[1:4]
print(result1)  # [2, 3, 4]

# 从头开始,到最后结束,不长为1
result2 = mylIST[:]
print(result2)  # [1, 2, 3, 4, 5, 6, 7, 8, 9]

# 从头开始到最后结束,步长为2
result3 = mylIST[::2]
print(result3)

# 从头开始到最后结束,步长为-1
result4 = mylIST[::-1]
print(result4)

# 从3开始,到1结束,步长为-1
result5 = mylIST[3:1:-1]
print(result5)

# 对元组进行切片;从头开始到最后结束,步长为-2
myTuple = (1, 2, 3, 4, 5, 6, 7, 8, 9)
result6 = myTuple[::-2]
print(result6)

# 反转数组
myList = [9, 7, 5, 3, 1]
print(myList[::-1])

# 替换字符
myStr = "我是某某某"
myStr.replace("某某某", "")  # 需要重新赋值
newStr = myStr.replace("某某某", "")
print(myStr)
print(newStr)

集合定义

  • 集合是不可以重复的,如果定义的集合有重复,那么在输出的时候会自动去重
  • 如果想定义一个空集合可以使用 set()
  • 集合是无序的,所以集合不支持下标索引访问
  • 但是集合和列表一样,是允许被修改的
myEmpty1 = {}  # 这个是字典
myEmpty2 = set()  # set()
myEmpty3 = {1, 1, 2, 3, 4, 5, 6, 1, 2, 3}  # {1, 2, 3, 4, 5, 6}
print(myEmpty1, myEmpty2, myEmpty3)

# 集合添加元素
mySet = set()
mySet.add(1)
print(mySet)

# 移出元素
mySet.remove(1)
print(mySet)

# 随机取出元素
mySet = {1, 1, 2, 3, 4, 5, 6, 1, 2, 3}
print(mySet.pop())

# 清空集合
mySet.clear()
print(mySet)

# 取出集合的差集
Set1 = {1, 2}
Set2 = {1, 2, 3, 4, 5, 5, 6, 1, 2, 3}
print(Set2.difference(Set1))

# 消除差集
print(Set1.difference_update(Set2))

# 合并集合
print(Set1.union(Set2))

# 合并集合元素数量
Set2 = {1, 2, 3, 4, 5, 5, 6, 1, 2, 3}
print(f"集合2的数量有{len(Set2)}")

# 集合的遍历
for x in Set2:
    print(x, end=",")
    pass

字典定义

  • 支持下标索引的:列表元组,字符串
  • 不支持重复元素
    • 支持}:列表、元素、字符串
    • 不支持:集合、字典
  • 是否可以被修改:
    • 支持:列表集合、字典
    • 不支持:元组、字符串
dict1 = {
    "confirm": 0,
    "endTime": "2020-07-03 12:00:10",
    "image": "http://cms-bucket.ws.126.net/2020/0702/f5b23bb3j00qctw0t005rc000u000f0c.jpg",
    "liveStatus": 2,
    "liveType": 0,
    "mutilVideo": "false",
    "pano": "false",
    "pcImage": "http://cms-bucket.ws.126.net/2020/0702/f5b23bb3j00qctw0t005rc000u000f0c.jpg",
    "roomId": 224811,
    "roomName": "脱贫攻坚 法治报道 :8000只兔子的销路",
    "source": "网易原创"
}

print(dict1)
# 字典中不允许键重复,如果重复会覆盖,以第一次出现的为准
print(dict1["liveStatus"])  # 输出值

# 新增元素
dict1["新的"] = 666
print(dict1)

# 更新元素
dict1["pcImage"] = None
print(dict1)

# 删除元素
dict1.pop("pcImage")
print(dict1)

# 清空字典
dict1.clear()
print(dict1)

# 获取字段全部的key
dict1 = {
    "confirm": 0,
    "endTime": "2020-07-03 12:00:10",
    "image": "http://cms-bucket.ws.126.net/2020/0702/f5b23bb3j00qctw0t005rc000u000f0c.jpg",
    "liveStatus": 2,
    "liveType": 0,
}
print(dict1.keys())

# 遍历字典
for x in dict1.keys():
    print(dict1[x], end=" ")
    pass

# 统计字典元素的数量
print()
print(len(dict1))

容器

# len() --- 统计元素的个数
print(len("123456"))

# max() 统计容器最大元素
print(max([1, 5, 9, 2, 1, 85, 56, 5, 123, 4, 45646]))

# min() 统计容器最小元素
print(min([1, 5, 9, 2, 1, 85, 56, 5, 123, 4, 45646]))

# list()将给定容器转换成列表
# str()将给定容器转换成字符串
# tuple()将给定容器转换成元组
# set()将给定容器转换成集合
# sorted(序列,[reversed=True]) True表示降序,False代表升序

python中导入包

# 普通导入包的方式
import time

# 只导入需要的包
from time import sleep

# 导入全部的包
from time import *

# 自定义模块的导入
from my_module import myFun

print(myFun())

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ofMu9QUA-1686718941911)(./QQ截图20230612135130.png)]

JSON的处理

  • 需要先导入JSON的包库
  • import json
import json

data1 = [{"a": 1, "b": 2}]
data2 = [{"a": 1, "b": 2, "中文": "中文展示"}]

# 将字典转为JSON
json_str = json.dumps(data1)
print(json_str)

# 如果数据中有中文需要转换
json_str = json.dumps(data2, ensure_ascii=False)
print(json_str)

# 将字符串还原为字典或者是序列
data = '{"semi": "true",    "semi": "true",    "singleQuote": "false",    "trailingComma": "all",    "printWidth": 180,    "tabWidth": 2}'
print(json.loads(data))

pyecharts使用

  • 安装pip install pyecharts
from pyecharts.charts import Line
from pyecharts.options import TitleOpts, LegendOpts, ToolboxOpts, VisualMapOpts

# 创建折线图对象
line = Line()
# 给折线图对象添加x轴的数据
line.add_xaxis(["中国", "美国", "英国"])
# 给折线图对象添加y轴的数据
line.add_yaxis("GDP", [30, 20, 10])

line.set_global_opts(
    title_opts=TitleOpts(title="折线图", pos_left="center", pos_bottom="1%"),
    legend_opts=LegendOpts(is_show=True),
    toolbox_opts=ToolboxOpts(is_show=True),
    visualmap_opts=VisualMapOpts(is_show=True)
)

# 通过render方法,将代码生成图像
line.render()

会生成一个HTML文件,在文件中即可查看

创建属于自己的包

- 自定义模块包,建立文件夹:my_package
- 在下面建立包的名字
- __init__.py,如果没有这个文件夹和普通文件夹没有区别

# 如果是全部导入只会导入在这声明的变量名,如果单个导入,此处不会有任何作用
__all__ = ["myFun"]


def myFun():
    print(1 + 2)
    return 1 + 2


def myFun2():
    print(1 + 2)
    return 1 + 2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值