Python基础part1

2024-09-08 04:12
文章标签 python 基础 part1

本文主要是介绍Python基础part1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Python基础

语法

字面量

  • 数字
    • 整数
    • 浮点
    • 复数
    • 布尔
  • 字符串
  • 列表 list
  • 元组 Tuple
  • 集合 Set
  • 字典 Dictionary

注释

单行# 单行注释的内容
多行“”“ 多行注释的内容 ”“”

单行注释#后要加一个空格再写注释

变量

变量无类型,但数据有类型

语法

变量名 = 变量值

数据类型转换

int() str() float()

标识符

中文,英文,数字,下划线组成,数字不能开头,不能与关键字,保留字重名

运算符

+ - * / // % **

不熟悉的: //是整除 **是指数运算

赋值运算符

=加上上面的运算符和=的组合

比较运算符

> < = >= <= == !=

字符串

字符串定义
  1. 单引号
  2. 双引号
  3. 6个双引号包住

语法

'hello'
"hello"
"""hello"""
字符串拼接(**)
  1. +拼接(仅限字符串变量)

    "字符串内容"+str [str为存储字符串类型的变量]

  2. 格式化1

    ”字%s符%d串%f内容“ % (str,int,float) [str,int,float 为不同类型的变量] %s-字符串 %d-整数 %f-浮点数

  3. 格式化2

    f"字符串内容{变量}" [括号里面的内容也可以是一个表达式]

格式化中的对于数字的精度控制

m.n – m:控制宽度(若m小于数字本身宽度,不生效) n:控制小数点精度(四舍五入)

例子

print("my math score is %3.1f" % 90.25)

控制台输出为

my math score is 90.3


判断语句

基础知识

比较运算符 ==> 布尔类型的值 : 1.True 2.False

if 语句格式
i = 1
if i == 1:print("i确实等于1")
if else 语句格式
i = 1
if i != 1:print("i不等于1")
else:print("i确实等于1")
if 嵌套语句格式
i = 1
j = 2
if i == 1:print(i)if j == 2:print(j)
多个if elif else 语句格式
i = 3
if i == 1:print("i确实等于1")
elif i == 2:print("i确实等于2")
elif i == 3:print("i确实等于3")
else:print("i啥都不是")

补充

随机数

import random
num = random.randint(n,m)
# 范围为n~m的整数,包含n和m

循环语句

while
while 条件:代码
while 嵌套
while 条件:代码while 条件1:代码

案例

九九乘法表

i = 1
j = 1
while i < 10:while j <= i:print(f"{i}*{j}={i*j}",end=' ')j += 1print("")j = 1i += 1

在这里插入图片描述

for

“轮询”机制,对一批内容逐个处理

语法

for 临时变量 in 待处理数据集:代码

[!IMPORTANT]

无法定义循环条件,只能被动取出数据处理

案例

遍历字符串,统计英文字母“a”

n = 0
strA = "i love a,i lova b"
for i in strA:print(i)if i == "a":n += 1print(n)
range [可以用于循环中的序列类型]

range(num)

获取一个从0开始,到num结束的数字序列(不包括num)

[0,1,2,…,n-1]

range(num1,num2)

[num1,num1+1,…,num2-1]

range(num1,num2,step)

step ==> 步长,即每个生成的数字间差n

continue和break:用法和c++,java语言的用法一样

案例

发工资

import randomall = 10000people = 20
for i in range(20):if all == 0:breakif people == 0:breakif random.randint(1,11) > 5:all -= 1000people -= 1print(f"最后的余额为{all}")
if all > 0:print("老板不差钱,你们绩效太差了")
else:print("行啊,这么卷,一起加油")

函数

必须先定义后使用

内置函数

提前写好,可重复使用(python内置的函数)

定义语法

def 函数名(形参表):函数体return 返回值(可以没有)

返回值之None类型

<class,‘NoneType’>

空的,没有意义

当没有返回值,及返回值为None时返回值即为None

应用:

  • 用在函数无返回值
  • 用在if判断
  • 用在声明无内容的变量(暂不赋予具体值)

声明文档

通过注释进行解释说明

在函数体前写多行注释

例子

def add(x,y):"""add函数用于两数的相加,输出结果值,并返回一个结果:param x: 形参x为相加的其中一个数字:param y: 形参y为相加的另一个数字:return: 返回值为相加的结果"""result = x + yprint(f"两数相加为{result}")return result
:param用于解释参数
:return用于解释返回值

嵌套调用

在一个函数中调用另外一个函数进行使用

def funA():print("goodbye")def funB():print("hello world")funA()

变量的作用域

局部变量在函数体内声明
全局变量在函数体外声明

[!WARNING]

在函数内要修改全局变量,需加global关键字

函数综合案例

取款机

money = 5000000
menu = 0
name = None
name = input("请输入你的姓名")
def mainmenu():print("-------------------查询-------------------")print(f"你好,{name},欢迎来到球球银行ATM,请选择操作,")print("查询余额 [输入1]")print("存款    [输入2]")print("取款    [输入3]")print("退出    [输入4]")print("请输入您的选择")def search():print("-------------------查询余额-------------------")print(f"{name},您好,您的余额为:{money}")def save(num):print("-------------------存款-------------------")print(f"{name},您好,您存款{num}元成功")global moneymoney += numprint(f"{name},您好,您的余额剩余:{money}元")def pay(num):print("-------------------取款-------------------")print(f"{name},您好,您取款{num}成功")global moneymoney -= numprint(f"{name},您好,您的余额剩余:{money}")while menu != "4":mainmenu()menu = input()if menu == "1":search()elif menu == "2":print("请输入你要存款的金额")m = int(input())save(m)elif menu == "3":print("请输入你要存款的金额")m = int(input())pay(m)else:print("欢迎下次使用ATM取款机!")break

数据容器

批量存储【其中一个数据为一个元素】

特点不同:

是否支持重复元素
是否可以修改
是否有序

列表

定义

字面量 [n1,n2,n3,…,nn]

变量名 = [元素1,元素2,…,元素n]

定义空列表

  1. 变量名 = []
  2. 变量名 = list()

[!IMPORTANT]

  • 元素类型可以不同
  • 可以重复
  • 可以嵌套
  • 可以修改

下标索引

变量名[num] ==> 从0开始

负数即为反向索引

超出范围进行查询会报错

列表的方法

查询

list.index(元素) ==> 返回下标

修改

通过索引下标修改

插入

list.insert(下标,值)

插入后,下标及下标后所在元素向后移动一位

追加

list.append(数据) 【在尾部】

list.extend(数据容器)

list = [1,2,3]
list.append([1,2,3])
print(list)
list.remove([1,2,3])
print(list)
list.extend([4,5,6])
print(list)

删除

list.remove(元素)

找第一个匹配项并删除,后面往前移动一位

清空

list.clear()

统计某个元素数量

llsit.count(元素)

长度(即总共有多少个元素)

len(list)

案例

取出列表中的偶数,并放到新列表中

list = [1,2,3,4,5,6,7,8,9,10]
list2 = []
list3 = []
for i in list:if i % 2 == 0:list2.append(i)
index = 0
while index < len(list):if list[index] % 2 == 0:list3.append(list[index])index += 1
print(f"list2:{list2}")
print(f"list3:{list3}")

元组

与列表不同

一旦定义完成,不可以修改

但元素如果是列表,列表中的内容可以修改

定义

变量名 = (元素1,元素2,元素n)

只有一个元素时,需要加逗号

定义空元组

  1. 变量名 = ()
  2. 变量名 = tuple()
相关操作

tuple.index(元素) ==> 下标

统计

  1. 某元素: tuple.count(元素)
  2. 总元素个数: len(tuple)

案例

记录一个同学的基本信息,爱好一栏由列表list存储,增删爱好,查询名字,班级

stu1 = ('李白','2023',['football','music'])name_index = stu1.index('李白')
class_index = stu1.index('2023')print(name_index)
print(class_index)stu1[2].remove('football')
stu1[2].append('basketball')print(stu1[2])

字符串[无法修改]

可用下标进行访问(正反都行)

若强行修改,会导致新字符串生成,旧的无法修改

查找

str.index(元素)

替换

str.replace(“替换”,"被替换“)

分割

str.split(分隔符字符串)

去除前后空格

str.strip()

去除前后指定字符串

str.strip(字符串)

统计

同列表一样

[!IMPORTANT]

替换,分割,去除前后空格,字符串等操作都是生成新的字符串字面量,需要赋予给新的字符串变量,旧的字符串变量没变

列表,元组,字符串都可以通过while和for进行遍历

序列

概念

内容连续,有序,可使用下标索引(如列表,元组,字符串)

常用操作:切片

从序列中取出子序列

语法

序列[起始下标:结束下标:步长]

步长默认为1,若为n,则时隔n-1个元素进行取的操作

步长为负数,则下标也同样应为负数

方法总结

str1[ : : -1] 可以将字符串倒序 (str为字符串)

t1 = (1,2,3,4)
t2 = t1[::2]
print(t2)
l1 = ['hello','goodbye',1,2,3,5,6,7]
l2 = l1[1:7:2]
print(l2)
s1 = 'abcdefg hijklmn'
s2 = s1[1:10:2]
print(s2) # 依旧是字符串类型

案例

s1 = ",B站大学来,nohtyP学"
s2 = s1[-10:-14:-1]
print(s2)

这篇关于Python基础part1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147082

相关文章

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1