python 学习

资料

  1. Python 在线解释器
  2. 超级基础入门视频
  3. python官方中文教程

基础知识

注释

# 单行注释

"""
多行注释
"""

'''
多行注释
'''

#%% block1
print("code block")

#%% block2
print("another code block")

vsCode中查看的效果如下(#%%以下一个#%%结尾为结束标志):
在这里插入图片描述

虚拟环境配置

python -m venv . -h                 # 显示帮助信息
python -m venv .                    # (推荐)创建虚拟环境(虚拟环境独有一个pip,安装的包在虚拟环境下(必须active虚拟环境后才能使用这个pip))
python -m venv . --without-pip      # 不安装独立的pip(使用习题的pip,安装的包也在系统默认的位置)
python -m venv . --clear            # 清除当前虚拟环境
./Scripts/activate                  # 激活虚拟环境(windows)
source ./bin/activate               # active venv in ubuntu
deactivate                          # 推出当前虚拟环境(不需要指定路径)
pip freeze > Requestments.txt       # 将当前虚拟环境生成需求文件
pip install -r Requestments.txt     # 安装需求文件中指定的环境

安装、卸载模块

pip list					# 显示默认路径下所有已安装的模块
pip show module_name		# 显示默认路径下指定模块的详细信息,没有的话说明在默认路径下没有安装此模块;
							# 当使用系统范围的pip时,将显示系统默认的模块安装路径下已安装的模块;
							# 当使用虚拟环境的pip时,将显示虚拟环境中已安装的模块;
							# 当创建虚拟环境时通过--without-pip指定了不需要虚拟环境pip时,在虚拟环境中也是使用的系统pip;
							
pip install module_name					# 安装
pip install --target=./ module_name		# 在指定路径下安装模块(通过这种方式,也可以使用系统pip在虚拟环境中安装模块)
pip uninstall module_name				# 卸载

数组、元组、字典

list1 = [1, "ABC", False]							# 数组,用中括号定义
list2 = (1, "ABC", False)							# 元组,用小括号定义,相当于定义后元素不可变的数组
list3 = {"A":"apple", "P":"pear", "B":"banana"}		# 字典,用大括号定义,键值对

list1[0] = 2		# Right
list2[0] = 2		# Error, 元组就是不可变的数组!
print(list3["B"])	# banana

数组的使用

list = [1, "ABC", False]
print(list[0])		# 1
print(list[0:2])	# [1, "ABC"]
print(list[-1])		# False
print(list[1:])		# ["ABC", False]
list1 = [1, 2, 3]
list2 = [6, 5, 4]

list1.extend(list2)         # 讲list2合并到list1后面
print(list1)				# [1, 2, 3, 6, 5, 4]

list2.append(7)             # 在list2后追加7
print(list2)				# [6, 5, 4, 7]

list2.sort()                # 对list2进行排序
print(list2)				# [4, 5, 6, 7]

list2.reverse()             # 对list2的元素反序
print(list2)                # [7, 6, 5, 4]

list2.insert(2, 7)          # 在index为1的元素前插入7
print(list2)                # [7, 6, 7, 5, 4]

print(list2.index(7))       # 0     # 返回第一个元素7的index值

list2.remove(7)             # 把list2中第一个7删除
print(list2)                # [6, 7, 5, 4]

list2.pop()                 # 删除list2的最后一个元素
print(list2)                # [6, 7, 5]

list2.clear()               # 清空列表
print(list2)                # []

以Hex方式输出list

CRC_TEST = [0x01, 0x04, 0x00, 0x0B, 0x05, 0x00, 0x01, 0xB8, 0x0B, 0x00, 0x00]
print(CRC_TEST)
print(",".join("0x{:02X}".format(num) for num in CRC_TEST))
print(", ".join("0x{:02x}".format(num) for num in CRC_TEST))
print(", ".join("0x{:02X}".format(num) for num in CRC_TEST))

输出如下:
在这里插入图片描述

模块导入

import moduleA						# 将moduleA中的所有东西都导入
from moduleA import funcName		# 只导入moduleA的funcName
from moduleA import funcName as fn	# 只导入moduleA的funcName,并起别名

python使用系统变量

# filename: app.py

import os
import time

# 系统变量都是以字符串引入的
# 通过 try 防止用户的错误输入导致 int() 转换失败
try:
    delay_time = int(os.environ.get('DELAY_TIME'))
except:
    print("set DELAY_TIME as a number, please! Default 5s.")
    delay_time = 5

print("Hello Docker!")
print("Sleep", delay_time, "s")
time.sleep(delay_time)		# 休眠 5s
print("Sleep Ending")
# 上面代码的使用
unset DELAY_TIME	# 删除系统变量
python app.py

export DELAY_TIME=3s
python app.py

export DELAY_TIME=3
python app.py

python调用C库

参考链接
ctypes官方文档

说明:以上链接中的方法,第一种“c extension”没怎么看到,第二种“Cython”静态库方式卡在最后一步出错,只有第三种我测试成功了。

ctypes和C中类型对应关系

在这里插入图片描述

简单例子

在这里插入图片描述

当参数中有指针类型时的例子

在这里插入图片描述

PySider6 学习

资料

  1. 官方文档
  2. 官方例程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值