python~基础

python~基础

python~基础

1.python介绍

python为解释型语言,解释器一边翻译一边执行,代码从上到下执行,如果下方代码出现错误,不会影响上方代码的执行
因为计算机只认二进制(0,1),所以需要解释器对代码进行翻译

怎么将python与自动化测试联系起来?
Python + requests -> 接⼝⾃动化
Python + selenium -> web ⾃动化
Python + appium -> 移动端⾃动化(⼿机 app)

python 基础部分需要学习些什么?

  • 变量(定义变量、关键字、命名规则、基本数据类型、类型转换)
  • 运算符和表达式
  • 流程控制(条件分支、循环)
  • 基本数据结构(字符串、列表、元组、集合、字典)
  • 函数(参数传递、作用域、lambda表达式、常用内置函数)
  • 面向对象编程(类和对象、三大特性(封装、继承、多态)、运算符重载)
  • 模块、包
  • 异常处理
  • 文件操作、json操作

2.注释

注释是对代码进行解释说明的文字,不会被解释器执行,分为单行注释和多行注释

  • 单行注释:
    以# 开头
    快捷键可以用Ctrl+/,可选中多行进行批量注释,如果已注释则会取消
  • 多行注释:
    注释的内容可以换行书写,可以是三对单引号,或者是三对双引号
    “”“XXX”""或者’‘‘XXX’’’

3.波浪线提示

  • 红色波浪线:代码中的错误,需要解决,否则会影响代码执行
  • 灰色波浪线:PEP8的代码规范性问题,代码书写不规范造成的,但是代码可以正常运行
    可以使用代码格式化解决,快捷键:Ctrl+Alt+L
  • 绿色波浪线:PyCharm认为你写的不是一个单词,不影响代码执行

4.变量

4.1定义

变量是用来保存数据的,必须先定义后使用
语法:变量名 = 数据值

4.2变量名命名规范

遵循标识符规则见名知意驼峰命名法:
大驼峰:每个单词首字母大写,eg:MyName
小驼峰:第一个单词首字母小写,其余单词首字母大写,eg:myName
下划线连接法:单词与单词之间用下划线连接,常用
标识符规则:由字母、数字、下划线组成,不能以数字开头不能使用python关键字区分大小写

5.数据类型:

5.1常见数据类型分类:

常见数据类型分类

5.2数据类型转换

语法:变量 = 要转换的类型(原数据)
不会改变原数据的类型,而是生成一个新数据

  • int() 将其他类型转换为 int 类型
    float 类型 可以转换为 int 类型
    整数类型的字符串 才可以转换为 int 类型
  • float() 将其他类型 转换为 float 类型
    int 类型 可以转换为 float 类型
    数字类型的字符串 都可以转换为 float 类型
  • str() 将其他任意类型 转换为 字符串类型 加引号
age =input('请输⼊你的年龄:')print(type(age), age)# <class 'str'> 18# 将字符串的 18 转换为 int 类型的 18 new_age =int(age)# 数据类型转换不会改变 age 的类型,⽣成⼀个新的数据保存到 new_ageprint(type(age), age)# <class 'str'> 18print(type(new_age), new_age)# <class 'int'> 18

6.交互运⾏ Python 代码:

交互运⾏ Python 代码

7.输入与输出

7.1 输入

使用函数input()
语法:变量 = input('提示信息,提示别人需要输入什么’)

  • 代码从上到下运行过程中遇到input时,会暂停执行等待用户输入
  • 输入过程中,知道用户输入回车键,会结束输入
  • 使用input获得的输入内容都是字符串类型str
name =input('请输⼊你的姓名:')print(type(name), name)# 打印类型和变量的值

7.2输出

使用函数print()

7.2.1格式化输出

按照想要的格式,在字符串中使用变量,输出变量的值

方式1:字符串.format()
在字符串中需要使用变量的地方使用 { } 占位
然后在format的括号中按照占位顺序写变量名

方式2:f/F字符串
在字符串前加上 f 或者 F
在字符串中需要使用变量时,用 { } 把变量括起来

name ='⼩明' age =18 sex ='男'print('我的名字是 '+ name +', 年龄 '+str(age)+'岁, 性别为 '+ sex +'.')# 方式1:print('我的名字是 {}, 年龄 {} 岁, 性别为{}.'.format(name, age, sex))# 方式2:print(f'我的名字是 {name}, 年龄 {age} 岁, 性别为{sex}.')

8、运算符与java的差不多,但是不能用++或- -自增或自减
** 为幂、次方2**3=8 ->二的三次方
逻辑运算符python中为 and(与)、 or(或)、 not(非)

Read more

Flutter 组件 ipaddr 适配鸿蒙 HarmonyOS 实战:高性能 IP 地址解析,构建子网掩码治理与网络边界安全架构

Flutter 组件 ipaddr 适配鸿蒙 HarmonyOS 实战:高性能 IP 地址解析,构建子网掩码治理与网络边界安全架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 ipaddr 适配鸿蒙 HarmonyOS 实战:高性能 IP 地址解析,构建子网掩码治理与网络边界安全架构 前言 在鸿蒙(OpenHarmony)生态迈向工业级物联网、涉及复杂内网穿透、防火墙规则动态配置及高性能路由器网关开发的背景下,如何精准地处理 IPv4 与 IPv6 的双栈解析,已成为决定网络应用“链路安全性”与“协议合规性”的关键工程要素。在鸿蒙设备这类强调分布式安全域与网络边界动态防御的环境下,如果应用依然依赖简单的字符串分割进行 IP 校验,由于由于输入格式的模糊性(如不规范的 IPv6 缩写),极易由于由于“解析逻辑漏洞”导致非法的流量注入或子网越权。 我们需要一种能够支持 CIDR 表示法、具备子网包含性判定(Inclusion Check)且符合 RFC

By Ne0inhk
Linux 动态链接与动态库加载深度解析

Linux 动态链接与动态库加载深度解析

🔥草莓熊Lotso:个人主页 ❄️个人专栏: 《C++知识分享》《Linux 入门到实践:零基础也能懂》 ✨生活是默默的坚持,毅力是永久的享受! 🎬 博主简介: 文章目录 * 前言: * 一. 进程如何感知并加载动态库 * 1.1 进程对动态库的 “可见性” * 1.2 多进程共享动态库的实现 * 二. 动态链接的核心工作原理 * 2.1 程序运行前的动态链接准备 * 2.2 动态库的地址无关性:PIC 编译 * 2.3 运行时的地址重定位:从符号到实际地址 * 三. GOT/PLT:动态链接的核心实现机制 * 3.1 全局偏移量表(GOT) * 3.2 过程链接表(PLT):延迟绑定优化 * 3.

By Ne0inhk
[特殊字符]颠覆MCP!Open WebUI新技术mcpo横空出世!支持ollama!轻松支持各种MCP Server!Cline+Claude3.7轻松开发论文检索MCP Server!

[特殊字符]颠覆MCP!Open WebUI新技术mcpo横空出世!支持ollama!轻松支持各种MCP Server!Cline+Claude3.7轻松开发论文检索MCP Server!

🔥🔥🔥本篇笔记所对应的视频:🚀颠覆MCP!Open WebUI新技术mcpo横空出世!支持ollama!轻松支持各种MCP Server!Cline+Claude3.7轻松开发MCP服务_哔哩哔哩_bilibili Open WebUI 的 MCPo 项目:将 MCP 工具无缝集成到 OpenAPI 的创新解决方案 随着人工智能工具和模型的快速发展,如何高效、安全地将这些工具集成到标准化的 API 接口中成为了开发者面临的重要挑战。Open WebUI 的 MCPo 项目(Model Context Protocol-to-OpenAPI Proxy Server)正是为了解决这一问题而设计的。本文将带您深入了解 MCPo 的功能、优势及其对开发者生态的影响。 什么是 MCPo? MCPo 是一个简单、可靠的代理服务器,能够将任何基于 MCP 协议的工具转换为兼容

By Ne0inhk