python -【一】基础语法
python 基础语法
一. 基础数据类型
常用的 6 种数据类型
类型 | 描述 | 说明 |
---|---|---|
数字(Number ) | int,float,complex(复数),bool | 复数:4 + 3j ,j 表示复数 |
字符串(String ) | 文本:单引号,双引号,三引号 | 'aaa', "aaa", """aaa""" |
列表(List ) | 有序的可变列表 | 可有序记录一堆数据 |
元组(Tuple ) | 有序不可变列表 | 记录不可变的数据集合 |
集合(Set ) | 无序,不重复集合 | 存放无需,且不允许重复 |
字典(Dictionary ) | 无序 Key-value 结构 | 通过 k-v 的形式记录 |
二、注释
单行注释
# 我是单行注释
print('hello world!)
多行注释
"""
我是多行注释
out 函数主要是向控制台输出 hello world 字符串
"""
def out():print('hello world!')
三、变量
变量: 变量是在程序运行时,存储计算的值或者是表示值的抽象概念
变量本身是没有类型的,但是变量存储的数据是有类型的
"""变量演示
"""money = 50
print(f'钱包剩余:{money}元')# 购买冰淇淋花费 10 元
money = money - 10
print(f'钱包剩余:{money}元')# 花费 2 元购买彩票
money -= 2
print(f'钱包剩余:{money}元')
# 购买彩票中间 300 元
money += 300
print(f'钱包剩余:{money}元')"""
钱包剩余:50元
钱包剩余:40元
钱包剩余:38元
钱包剩余:338元
"""
type函数
"""
数据类型
"""# python type() 函数的用法
str_ = "python1"
str_2 = 'python2'
int_ = 1
float_ = 1.1def func1():print('im func1...')print(f'[{str_}]的类型是:', type(str_))
print(f'[{str_2}]的类型是:', type(str_2))
print(f'[{int_}]的类型是:', type(int_))
print(f'[{float_}]的类型是:', type(float_))
print(f'[func1]的类型是:', type(func1))"""
[python1]的类型是: <class 'str'>
[python2]的类型是: <class 'str'>
[1]的类型是: <class 'int'>
[1.1]的类型是: <class 'float'>
[func1]的类型是: <class 'function'>
"""
四、数据类型的转换
数据类型: int
, float
, str
三种数据类型的转换
语法 | 解释 |
---|---|
int(x) | 将 x 变量转换成 int 类型 |
float(x) | 将 x 变量转换成 float 类型 |
str(x) | 将 x 变量转换成 str 类型 |
"""
数据类型的转换:
int(x)
float(x)
str(x)
"""print('-----------------定义变量---------------------')
# 定义 int float str 变量
int_num = 1
print(f'{int_num} 的类型是:', type(int_num))
float_num = 20.23
print(f'{float_num} 的类型是:', type(float_num))
str_num = '100'
print(f'{str_num} 的类型是:', type(str_num))print('-----------------转换类型---------------------')# 将 int 转 str
int_num_str = str(int_num)
print(f'将int转str -> {int_num_str} 的类型是:', type(int_num_str))
# 将 int 转 float
float_int_num = float(int_num)
print(f'将int转float -> {float_int_num} 的类型是:', type(float_int_num))# 将 float 转 str
float_num_str = str(float_num)
print(f'将float转str -> {float_num_str} 的类型是:', type(float_num_str))
# 将 float 转 int
int_float_num = int(float_num)
print(f'将float转int -> {int_float_num} 的类型是:', type(int_float_num))# 将 str 转 int
int_str_num = int(str_num)
print(f'将str转int -> {int_str_num} 的类型是:', type(int_str_num))
# 将 str 转 float
float_str_num = int(str_num)
print(f'将str转float -> {float_str_num} 的类型是:', type(float_str_num))"""
-----------------定义变量---------------------
1 的类型是: <class 'int'>
20.23 的类型是: <class 'float'>
100 的类型是: <class 'str'>
-----------------转换类型---------------------
将int转str -> 1 的类型是: <class 'str'>
将int转float -> 1.0 的类型是: <class 'float'>
将float转str -> 20.23 的类型是: <class 'str'>
将float转int -> 20 的类型是: <class 'int'>
将str转int -> 100 的类型是: <class 'int'>
将str转float -> 100 的类型是: <class 'int'>
"""
五、 标识符
-
内容限制(只允许使用一下的内容)
- 英文
- 中文 (
不推荐
) - 数字(
数字不可用于开头
) - 下划线
-
大小写敏感
Andy = 'Andy' andy = 'andy' # 以上两个变量是能够被区分的,所有大小写是敏感的
-
不可使用关键字
False True None and as assert break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while whith yield
"""
正确的标识符定义
"""# 规则1:关键字定义方式
name = '张三'
_name = '张三'
name_ = '张三'
name_1 = '张三'# 规则2: 大小写敏感
Name = '李四'
print(name)
print(Name)# 规则3: 不可使用关键字,
def = '张三' # 错误
六、运算符
算数运算符
算数运算符 | 说明 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
// | 取整除 |
% | 取余 |
** | 指数(次方) |
"""
运算符演示
"""print(f'1 + 1 = {1 + 1}')
print(f'1 - 1 = {1 - 1}')
print(f'2 * 2 = {2 * 2}')
print(f'8 / 2 = {8 / 2}') # 4.0
print(f'8 // 2 = {8 // 2}') # 4
print(f'8 % 3 = {8 % 3}')
print(f'8 % 3 = {8 % 3}')
print(f'2 ** 3 = {2 ** 3}') # 2^3=8"""
1 + 1 = 2
1 - 1 = 0
2 * 2 = 4
8 / 2 = 4.0
8 // 2 = 4
8 % 3 = 2
8 % 3 = 2
2 ** 3 = 8
"""
复合赋值运算符
复合赋值运算符 | 说明 |
---|---|
+= | b += a 等效 b = b + a |
-= | b -= a 等效 b = b - a |
*= | b *= a 等效 b = b * a |
/= | b /= a 等效 b = b / a |
//= | b //= a 等效 b = b // a |
%= | b %= a 等效 b = b % a |
**= | b **= a 等效 b = b ** a |
a = 10a += 2
print(f'a += 2, a = ', a)a = 10 # 重新赋值 a 为 10
a -= 2
print(f'a -= 2, a = ', a)a = 10 # 重新赋值 a 为 10
a *= 2
print(f'a *= 2, a = ', a)a = 10 # 重新赋值 a 为 10
a /= 2
print(f'a /= 2, a = ', a)a = 10 # 重新赋值 a 为 10
a //= 2
print(f'a //= 2, a = ', a)a = 10 # 重新赋值 a 为 10
a %= 3
print(f'a %= 3, a = ', a)a = 10 # 重新赋值 a 为 10
a **= 2
print(f'a **= 3, a = ', a)"""
a += 2, a = 12
a -= 2, a = 8
a *= 2, a = 20
a /= 2, a = 5.0
a //= 2, a = 5
a %= 3, a = 1
a **= 3, a = 100
"""
七、字符串
7.1 字符串的三种第一方式
# 字符串的三种定义方式
name_1 = '张三' # 单引号
name_2 = "张三" # 双引号
name_3 = """张三""" # 三引号print(name_1, name_2, name_3)# 字符串本身包含特殊符号比如: ' " \ 等
str_1 = '"我爱python"'
print(str_1)
str_2 = "'我爱python'"
print(str_2)
str_3 = "我爱\"python"
print(str_3)"""
张三 张三 张三
"我爱python"
'我爱python'
我爱"python
"""
7.2 字符串拼接
# 字符串拼接
title = '学习 python'
str_ = title + ", 能够完成编写python代码"
print(str_) # 学习 python, 能够完成编写python代码# 字符串不能直接和数字进行拼接
phone = 456
str_ += phone
print(str_) # TypeError: can only concatenate str (not "int") to str
7.3 字符串格式化
# 这种方式很难受,要写很多 + 号,可以通过格式化方式完成
print('我的名字是:' + name + ",我的职业的是:" + occupation + ",我住在:" + address + ", 我的年龄是:" + age)# 方式1:格式化,在字符串前面加上 f
print(f'我的名字是:{name},我的职业的是:{occupation},我住在:{address}, 我的年龄是:{age}')# 方式2:通过 format 函数
print('我的名字是:{0},我的职业的是:{1},我住在:{2}, 我的年龄是:{3}'.format(name, occupation, address, age))# 方式3:通过 %s 占位符,使用 % 连接,多个占位符替换使用 %() 涵盖,并支持数字类型的占位
print('我的名字是:%s,我的职业的是:%s,我住在:%s, 我的年龄是:%s' % (name, occupation, address, age))
# 占位符 %s(字符) %d(数字) %f(浮点数) -> %.2f 表示小数点后保留2位
print('我今年%d岁,工作%.2f年,住址:%s' % (25, 4.566, '北京'))"""
我的名字是:刘海柱,我的职业的是:法师,我住在:新疆乌鲁木齐, 我的年龄是:30
我的名字是:刘海柱,我的职业的是:法师,我住在:新疆乌鲁木齐, 我的年龄是:30
我的名字是:刘海柱,我的职业的是:法师,我住在:新疆乌鲁木齐, 我的年龄是:30
我的名字是:刘海柱,我的职业的是:法师,我住在:新疆乌鲁木齐, 我的年龄是:30
我今年25岁,工作4.57年,住址:北京
"""
7.4 练习题
name = '阿里巴巴' # 公司名字
stock_price = 19.99 # 公司股价
stock_code = '0233333' # 公司股票代码
daily_growth_factor = 1.2 # 股票增长指数
growth_days = 7 # 增长天数# 计算经过增长天数后,股票价格达到多少
# 使用字符串格式化后输出,如果是浮点数,要求小数点精确到2位
# 实例:
"""
公司: 阿里巴巴,股票代码:0233333,当前股价:19.99 -> 本行要求使用:f{变量}
每日增长系数是:1.2,经过 7 天后,股票价格达到:xxx -> 本行要求使用:% 占位符
"""growth_price = stock_price * daily_growth_factor ** growth_days
line_1 = f'公司: {name},股票代码:{stock_code},当前股价:{stock_price}'
line_2 = '每日增长系数是:%.1f,经过 %d 天后,股票价格达到:%.2f' % (daily_growth_factor, growth_days, growth_price)print(line_1)
print(line_2)
7.5 OS 键盘输入
"""
读取 os 键盘输入
"""name = input("你是谁:")
print(f"你好:{name}")"""
你是谁: zhangsan
你好:zhangsan
"""
相关文章:

python -【一】基础语法
python 基础语法 一. 基础数据类型 常用的 6 种数据类型 类型描述说明数字(Number)int,float,complex(复数),bool复数:4 3j,j 表示复数字符串(String)文本࿱…...

数据结构 | 详解二叉树——堆与堆排序
🥝堆 堆总是一棵完全二叉树。 大堆:父节点总是大于子节点。 小堆:父节点总是小于子节点。 注意:1.同一个节点下的两个子节点并无要求先后顺序。 2.堆可以是无序的。 🍉堆的实现 🌴深度剖析 1.父节点和子…...

vb.net,C#强制结束进程,“优雅”的退出方式
在VB.NET中,Application.Exit()和Environment.Exit(0)都用于结束程序,但它们的使用场景和背后的逻辑略有不同。 **Application.Exit()**: Application.Exit()通常用于Windows Forms应用程序中。当调用Application.Exit()时,它会触…...

牛客热题:数据流中的中位数
📟作者主页:慢热的陕西人 🌴专栏链接:力扣刷题日记 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 文章目录 牛客热题:数据流中的中位数题目链接方法一…...

JavaScript-JavaWeb
目录 什么是JavaScript? js引入方式 js基础语法 书写语法 变量 数据据类型 运算符 类型转换 流程语句 js函数 js对象 1.Array 2.String 3.JSON js事件监听 什么是JavaScript? ● JavaScript(简称:JS)是一门跨平台、面向对象的脚本语言。是用来控制网页行为的,它能…...

vue组件通讯$parent和$children获取单签组件的⽗组件和当前组件的⼦组件的例子
在 Vue 中,$parent 和 $children 是实例属性,允许你访问组件的父组件和子组件。但是,请注意,这些属性主要用于在开发过程中进行调试和临时访问,并不推荐在正常的组件通信中使用,因为它们破坏了组件的封装性…...

Util和utils
Util FieldStats 这段代码定义了一个名为FieldStats的Java类,位于com.cqupt.software_1.Util包中。它使用了lombok库的Data和AllArgsConstructor注解,这些注解帮助生成了getter、setter、toString等方法,以及包含所有参数的构造函数。类中有…...

拷贝构造、移动构造、拷贝赋值、移动赋值
最近在学习C的拷贝构造函数时发现一个问题:在函数中返回局部的类对象时,并没有调用拷贝构造函数。针对这个问题,查阅了一些资料,这里记录整理一下。 调用拷贝构造函数的三种情况: ① 用一个类去初始化另一个对象时&a…...

Python3 笔记:math模块
要使用 math 函数必须先导入math模块 语法:import math Python math 模块提供了许多对浮点数的数学运算函数。 math 模块下的函数,返回值均为浮点数,除非另有明确说明。 如果需要计算复数,需使用 cmath 模块中的同名函数。 m…...

python -【四】函数
函数 一、函数的基础 函数:是组织好的,可以重复使用的,用来实现特定功能的代码段 语法 def 函数名(入参): return 出参 # 定义函数 def out_hello():print(hello ~~~)# 调用/使用/执行函数 out_hello()练习题 自定义一个函数,…...

力扣 5. 最长回文子串 python AC
动态规划 class Solution:def longestPalindrome(self, s):size len(s)maxl 1start 0dp [[False] * size for _ in range(size)]for i in range(size):dp[i][i] Truefor L in range(2, size 1):for i in range(size):j L i - 1if j > size:breakif s[i] s[j]:if L…...

【微机原理及接口技术】可编程计数器/定时器8253
【微机原理及接口技术】可编程计数器/定时器8253 文章目录 【微机原理及接口技术】可编程计数器/定时器8253前言一、8253的内部结构和引脚二、8253的工作方式三、8253的编程总结 前言 本篇文章就8253芯片展开,详细介绍8253的内部结构和引脚,8253的工作方…...

23种设计模式之一— — — —装饰模式详细介绍与讲解
装饰模式详细讲解 一、定义二、装饰模式结构核心思想模式角色模式的UML类图应用场景模式优点模式缺点 实例演示图示代码演示运行结果 一、定义 装饰模式(别名:包装器) 装饰模式(Decorator Pattern)是结构型的设计模式…...

2024年2月28日 星期三
2024年2月28日 星期三 农历正月十九 1. 住建部:各城市要做好今明两年住房发展计划,防止市场大起大落。 2. 政协委员赵长龙建议:增加元旦、端午、中秋高速免费,周六日半价。 3. 人民法院案例库开始对社会开放,与中国…...

Java中的super关键字详解
在Java编程中,super关键字是一个非常重要的概念,尤其是在继承和多态的场景中。理解super关键字的使用方法和其背后的机制,对于掌握面向对象编程(OOP)的基本概念至关重要。本篇博客将详细讲解super关键字的各种用法及其…...

消消乐游戏开发,三消游戏,消除小游戏
消消乐是一款非常受欢迎的休闲消除类游戏,通常也被称为“三消游戏”。这类游戏的主要目标是通过交换和匹配三个或更多相同的物品来清除它们,从而得分并通过关卡。以下是一些消消乐游戏的基本特点和玩法: 基本玩法 交换和匹配:玩…...

三十三、openlayers官网示例Drawing Features Style——在地图上绘制图形,并修改绘制过程中的颜色
这篇讲的是使用Draw绘制图形时根据绘制形状设置不同颜色。 根据下拉框中的值在styles对象中取对应的颜色对象,new Draw的时候将其设置为style参数。 const styles {Point: {"circle-radius": 5,"circle-fill-color": "red",},LineS…...

Vue——事件修饰符
文章目录 前言阻止默认事件 prevent阻止事件冒泡 stop 前言 在官方文档中对于事件修饰符有一个很好的说明,本篇文章主要记录验证测试的案例。 官方文档 事件修饰符 阻止默认事件 prevent 在js原生的语言中,可以根据标签本身的事件对象进行阻止默认事件…...

Go语言GoFly框架快速新增接口/上手写代码
拿到一个新框架大家可能无从下手,因为你对框架设计思路、结构不了解,从而产生恐惧,所以我们框架是通过简单可视化界面安装,安装后即可看到效果,然后点击先点点看各个功能,看现有的功能是怎么写的࿰…...

【Vue】v-else 和 v-else-if
作用:辅助v-if进行判断渲染 语法: v-else v-else-if"表达式"PS:需要紧接着v-if使用 示例代码: <body><div id"app"><p v-if"gender 1">性别:♂ 男</p><…...

一致性hash算法原理图和负载均衡原理-urlhash与least_conn案例
一. 一致性hash算法原理图 4台服务器计算hash值图解 减少一台服务3台服务器计算hash值图解 增加一台服务器5台服务器计算hash值图解 二. 负载均衡原理-urlhash与least_conn 2.1.urlhash案例 # urlhash upstream tomcats {hash $requ...

MySQL建库
删除数据库 新建数据库 右键-新建数据库 字符集选中utf8(支持中文) 修改字符集 右键--数据库的属性 将字符集支持的数量变少可以修改...

系统资源监控器工具glances的使用详解
目录 1、glances工具介绍 2、安装方式 3、glances的工具界面说明 4、常用的参数选项 5、常用快捷键说明 1、glances工具介绍 glances可以分析系统的 CPU使用率、内存使用率、内核统计信息和运行队列信息磁盘I/O速度、传输和读/写比率、磁盘适配器网络I/O速度、传输和读/写…...

JDBC使用QreryRunner简化SQL查询注意事项
QreryRunner是Dbutils的核心类之一,它显著的简化了SQL查询,并与ResultSetHandler协同工作将使编码量大为减少。 注意事项 1. 使用QreryRunner必须保证实体类的变量名,和sql语句中要查找的字段名必须相同,否则查询 不到数据,会出…...

前缀和(下)
目录 热身: 寻找数组的中心下标 题解: 代码: 进阶: 除自身之外数组的乘积 题解: 代码: 和为K的子数组 题解: 代码: 和可被 K 整除的子数组 题解: 同余定理…...

【排序算法】希尔排序
前言:学习希尔排序前最好先掌握插入排序,在进行;不会的可以点击——>【排序算法】插入排序-CSDN博客 一、希尔排序: 希尔排序,也称为缩小增量排序,是一种基于插入排序的快速改进算法。由Donald Shell于1…...

数学建模--LaTex插入表格详细介绍
目录 1.插入普通的边线表格 3.三线表的插入和空格说明 3.基于复杂情况下表格的插入 1.插入普通的边线表格 (1)像这个右边的生成的这个比较普通的表格,我们是使用下面的代码实现的: (2)和插入一个一个图片…...

未来已来:Flutter引领的安卓与跨平台开发奇幻之旅
引言 随着移动开发技术的飞速发展,跨平台开发框架如Flutter正逐渐改变着传统的安卓和iOS开发格局。作为一名资深的安卓开发工程师,我深刻感受到了Flutter带来的变革和机遇。今天,我想与大家分享Flutter在跨平台开发中的奇幻之旅,…...

如何将Windows PC变成Wi-Fi热点?这里提供详细步骤
序言 Windows 10和Windows 11都有内置功能,可以将你的笔记本电脑(或台式机)变成无线热点,允许其他设备连接到它并共享你的互联网连接。以下是操作指南。 由于Windows中隐藏的虚拟Wi-Fi适配器功能,你甚至可以在连接到另一个Wi-Fi网络或无线路由器时创建Wi-Fi热点,通过另…...

报错:Cannot invoke “springfox.documentation.service.ParameterType.getIn()“
文章目录 前言一、报错分析二、解决办法修改代码 总结 前言 遇到报错:Cannot invoke "springfox.documentation.service.ParameterType.getIn()" because the return value of "springfox.documentation.service.RequestParameter.getIn()" is …...