python基础——基础语法

文章目录

  • 一、基础知识
    • 1、字面量
    • 2、常用值类型
    • 3、注释
    • 4、输入输出
    • 5、数据类型转换
    • 6、其他
  • 二、字符串拓展
    • 1、字符串定义
    • 2、字符串拼接
    • 3、字符串格式化
    • 4、格式化精度控制
  • 三、条件/循环语句
    • 1、if
    • 2、while
    • 3、for循环
  • 四、函数
    • 1、函数定义
    • 2、函数说明文档
    • 3、global关键字
  • 五、数据容器
    • 1、概念
    • 2、列表(list)
    • 3、元组(tuple)
    • 4、字符串(str)
    • 5、序列的切片操作
    • 6、集合(set)
    • 7、字典(dict)
    • 8、通用操作
  • 六、文件操作
    • 1、常见打开模式
    • 2、读取操作
    • 3、写文件

一、基础知识

1、字面量

在代码中,被写下来固定的值,称为字面量。

2、常用值类型

在这里插入图片描述

  • type(变量/字面量) 可看变量类型

3、注释

  • 单行注释:#
  • 多行注释:一堆三个双引号
"""python
"""

4、输入输出

1.input
name = input("提示内容")  //输入全是字符串,后续需要类型转换
2.print
money = 50
print("python")
print("钱包有:",money,"元")

5、数据类型转换

int(x)  
float(x)
str(x)

6、其他

1.python变量命名大小写敏感
2.**是指数,a**b表示a的b次方,还可以a**=b

二、字符串拓展

1、字符串定义

单/双/三引号都可以

/可以使用转义字符解除引号的效用
name = 'python'   //里面可以内含双引号
name = "python"		//里面可以内含单引号
name = """		python
"""

2、字符串拼接

1.print('python' + 'is easy')  输出python is easy
2.age = '18'
print('I am' + age+'years old')  输出I am 18 years old
3.'python' +18是不行的,字符串不能通过+与非字符串类型拼接

3、字符串格式化

//%为占位符,将后面变量占到前面所需要的地方
1.age = '18'
message = 'I am %s years old' % age
2.不同类型,多种变量都可以
age1 = 18,age2=20 
message = "I am %s,she is %s" % (age1,age2) //此时整型转换成字符串格式进去3.f"内容{变量}" 快速格式化,不过此时无法做精度控制
message = f"I am {age1},she is {age2}"4.表达式格式化
messgae = "I am %d years old" % (1*1)
messgae = f"I am {1*1} years old" 

常见占位符
在这里插入图片描述

4、格式化精度控制

m.n来控制数据的宽度和精度

  • m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效(小数和小数点都进入精度计算)。
    宽度太多从左用控制替代,比如%3d,而整数是2,写成[空格][空格]2
  • .n,控制小数点精度,要求是数字,会进行小数的四舍五入

三、条件/循环语句

1、if

1.注意缩进~
if 要判断的条件:   //冒号不要忘记程序
elif 要判断条件:程序
else:程序
2.案例
import random
age = random.randint(1,100)
if age > 10 :print("11")
elif age > 8 :print("22")
else:print("33")

2、while

1.条件满足进入循环
while 条件:程序

3、for循环

与其他语言不太一样,对内容进行逐个处理

1.基础语法
for 临时变量 in 待处理数据集:程序
//待处理的数据集是序列类型,其内容是一个个依次取出来的一种类型,包括字符串,列表,元组等
案例:
name = "BUAA"
for x in name:print(x)
2.range语句
range(5)得到的是一个序列:[0,1,2,3,4]
range(5,10)得到的是[5,6,7,8,9]
range(5,10,2)得到的是[5,7,9]
与for结合
for x in range(5)程序

四、函数

1、函数定义

1.定义
def定义带有名称的函数
def 函数名(传入参数):函数体return 返回值//无return时,是有返回值的,返回一个特殊字面量,类型是<class 'NoneType'>
//手动返回return none也行
//if判断中,none等同于false,一般函数中主动返回none,与if配合处理
//无内容变量,暂时不需要值,可以name = none
2.多返回值
def 函数名(传入参数):return 返回值1,返回值2
接收:var1,var2 = 函数名(参数)
3.函数调用
一个函数fnc(name,age,gender)
位置传参:可以fnc("b",18,"男")这样按照位置接收
关键字传参:可以fnc(age=18,gender="男",name="a")接收(不按位置)
混用:还可以func("a",gender="男",age=18)接收,混用是位置参数必须在前
4.缺省参数
def fnc(name,age,gender="男")  //设置默认值
调用时若不传参采用默认值
缺省参数必须统一在位置参数后面
5.不定长参数 
位置传递:def func(*args)   args是元组类型
关键字传递:def fnc(**kwargs)  kwargs是字典类型,传参必须是key=value形式
6.匿名函数
lambda定义匿名函数
lambda 传入参数:函数体   //函数体只能写一行,函数体直接将结果return

2、函数说明文档

def 函数名(传入参数):"""函数整体说明:param x:形参x说明:param y:形参y说明:return:返回值说明"""函数体return 返回值

3、global关键字

num = 200
def func():global num//此时num指定指代的全局变量num=200num=300  //num改动全局变量num就会变

五、数据容器

1、概念

批量存储数据。根据特点不同,比如是否支持重复元素,是否可以修改,是否有序等,分为五类,列表(list),元组(tuple),字符串(str),集合(set),字典(dict)

2、列表(list)

1.定义:变量名称 = [元素1,元素2,元素3,...]
2.空列表:变量名称 = [ ]    变量名称 = list()
//列表存储的数据可以为不同数据类型,且支持嵌套
3.读:arr[0]
或反向索引:从后向前开始,依次递减(-1,-2,-3...)

列表方法
在这里插入图片描述

3、元组(tuple)

可以封装多个,不同类型的元素,唯一区别就是一旦定义完成就不可以修改了。

1.定义:变量名称 = (元素1,元素2,元素3,...)
2.空列表:变量名称 = ()   变量名称 = tuple()
3.定义单个元素:变量名称 = (元素1,)   //单元素一定要加括号,不然类型是字符串
//元组内部也支持嵌套
4.读:arr[0]

元组方法
在这里插入图片描述
注意点:

//元组内部嵌套list,list是可以修改的
arr = (1,2,["1","2","3"])
arr[2][1]="4"是可以的

4、字符串(str)

1.str = "abcd"
可以通过str[0]读取
2.对于字符串的修改都无法在原来的基础上,只能得到新的字符串

字符串方法
在这里插入图片描述

5、序列的切片操作

  • 序列是指内容连续,有序,可使用下标索引的一类数据容器。
  • 列表、元组、字符串都可视为序列
  • 切片操作:从一个序列中,取出一个子序列
    语法:[起始下标:结束下标:步长]
    • 起始下标表示从何处开始,可以留空,留空视作从头开始
    • 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾
    • 步长表示,依次取元素的间隔
      • 步长1表示,一个个取元素
      • 步长2表示,每次跳过1个元素取
      • 步长N表示,每次跳过N-1个元素取
      • 步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)

6、集合(set)

  • 特点:不支持元素重复,内容无序
1.定义:变量名称 = {元素1,元素2,元素3,...}
2.空集合:变量名称 = {}   变量名称 = set{}
//列表存储的数据可以为不同数据类型,且支持嵌套
3.读:集合无序,因此不支持下标索引访问
或反向索引:从后向前开始,依次递减(-1,-2,-3...)

集合方法
在这里插入图片描述

7、字典(dict)

1.定义:变量名称 = {key:value,key:value,....}
2.空字典:变量名称 = {}   变量名称 = dict{}
//字典的key不允许重复,重复添加等于覆盖原有数据。
//允许嵌套
3.读取:arr[key]
4.for x in dict: //每次取出来的是key

常见方法
在这里插入图片描述

8、通用操作

  • 类型转换
list(容器)   //字典转列表得到keys
str(容器)
tuple(容器)
set(容器)
其他容器类型很难转换成字典

在这里插入图片描述

六、文件操作

1、常见打开模式

在这里插入图片描述

2、读取操作

1.打开
open(name,mode,encoding)
name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)
mode:设置打开文件的模式(访问模式):只读、写入、追加等。
encoding:编码格式(推荐使用UTF-8)
# encoding的顺序不是第三位,所以不能用位置参数,用关键字参数直接指定
eg.f = open('python.txt','r',encoding='utf-8') 
2.读取
f.read(num)
num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。
一次读取后则下次是从上次读取的地方继续读取
f.readlines()
readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。
f.readline()一次读取一行内容  一次读取后则下次是从上次读取的地方继续读取
3.关闭
f.close()  //不关闭则文件会一直被python文件占用
4.
with open(name,mode,encoding) as f:程序
通过在with open的语句块中对文件进行操作。可以在操作完成后自动关闭close文件,避免遗忘掉close方法

3、写文件

  • 直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区
  • 当调用flush的时候,内容会真正写入文件
  • 这样做是避免频繁的操作硬盘,导致效率下降(攒一堆,一次性写磁盘)
1.打开文件 f = open(name,'w'/a)
2.写入f.write(内容)
3.f.flush()
//注意f.close内置了flush方法,因此关闭前也会刷新
//w和a在文件不存在都会创建文件,不过文件存在w会清空文件再写,a是追加在后面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/724373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker Register 搭建私有镜像仓库

1 安装 docker (1)更新软件源 sudo apt update (2)安装 docker 组件 sudo apt install docker.io (3)启动 docker 服务 sudo systemctl start docker (4)设置 docker 服务开机自启动 sudo systemctl enable docker (5)验证 docker 功能 sudo docker contai…

代码随想录 回溯算法-组合

目录 77.组合 216.组合总和||| 17.电话号码的字母组合 39.组合总和 40.组合总和|| 77.组合 77. 组合 中等 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;n 4…

【论文精读】大语言模型融合知识图谱的问答系统研究

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

一文看懂 | 机器视觉前景

机器视觉概述&#xff1a;机器视觉是人工智能发展中的一个重要分支&#xff0c;其主要目标是用机器替代人眼进行测量和判断。 机器视觉系统通过图像摄取装置将目标转换成图像信号&#xff0c;然后传送给专用的图像处理系统&#xff0c;最终得到目标的形态信息。 全球机器视觉…

链路负载均衡之策略路由

一、策略路由的概念 一般来说&#xff0c;防火墙是根据目的地址查看路由&#xff0c;这种情况下只能根据报文的目的地址为用户提供服务&#xff0c;没办法更加灵活对内网用户进行区分&#xff0c;让不同用户流量走不同的链路转发&#xff0c;如根据源地址、应用协议等区分流量…

照片 200K 的尺寸是多大?如何调整照片到200k?

在数字时代&#xff0c;我们经常需要在互联网上上传和分享照片。在上传照片时&#xff0c;我们常常会遇到文件大小的限制&#xff0c;通常以“K”&#xff08;千字节&#xff09;为单位。如果您需要上传的照片大小为 200K&#xff0c;那么它的实际尺寸是多大呢&#xff1f;本文…

卫星通信基础知识

为了满足日益增长的卫星业务需求&#xff0c;多路径路由被用来通过多个传输路径并发地传输每个流。然而&#xff0c;动态变化的卫星拓扑结构带来了挑战&#xff0c;多路径路由规划和不同路径之间的业务分裂。 因此&#xff0c;在本文中&#xff0c;我们提出了一个GNN启用多路径…

栈【stack】 栈的【STL】运用 【单调栈】 【单调栈】的详细解释【图文讲解】 洛谷P5788 【模板】单调栈 【单调队列】

文章目录 栈的定义栈的STL运用 单调栈 & 单调队列单调栈的详细解释【图文讲解】例题&#xff1a;洛谷P5788 【模板】单调栈code↓洛谷P5788 【模板】单调栈 AC 栈的定义 栈的修改与访问是按照后进先出的原则进行的 栈通常被称为是后进先出&#xff08;last in first out&…

centos ps命令

1. ps &#xff1a; Process Status的缩写&#xff0c;用于查询系统的进程状态 2. 常用参数&#xff1a;-ef 返回系统中所有用户的所有进程的完整列表 -A 显示所有进程&#xff08;同-e&#xff09; -a 显示当前终端的所有进程 -u 显示进程的用户信息 -o 以用户…

33、一致性哈希算法分区

33、一致性哈希算法分区 一、背景二、介绍三、步骤1、算法构建一致性哈希环2、Redis服务器IP节点映射3、key落到服务器的落键规则 四、优点1、一致性哈希算法的容错性2、一致性哈希算法的扩展性 五、缺点1、一致性哈希算法的数据倾斜问题2、拓展 六、总结 一、背景 一致性哈希…

sylar高性能服务器-日志(P57-P60)内容记录

文章目录 P57-P60&#xff1a;序列化模块Varint&#xff08;编码&#xff09;Zigzag&#xff08;压缩&#xff09;class ByteArrayNode&#xff08;链表结构&#xff09;成员变量构造函数写入读取setPositionaddCapacity 测试 P57-P60&#xff1a;序列化模块 ​ 序列化模块通常…

LeetCode2643. Row With Maximum Ones

文章目录 一、题目二、题解 一、题目 Given a m x n binary matrix mat, find the 0-indexed position of the row that contains the maximum count of ones, and the number of ones in that row. In case there are multiple rows that have the maximum count of ones, t…

某酷ckey140逆向(之前下架了重新上传补发)

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;不提供完整代码&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx a15018…

Win UI3开发笔记(六)设置软件最小尺寸

想设置最小尺寸为1000*100像素怎么做&#xff1f; 一、问gpt using Microsoft.UI.ViewManagement; using Windows.UI.ViewManagement;// 在应用程序启动时设置最小缩放尺寸 ApplicationView.PreferredLaunchViewSize new Size { Width 800, Height 600 }; ApplicationView.P…

代码随想录算法训练营(动态规划10,11 ,12 股票问题)| 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II

动态规划10 动态规划5步曲&#xff0c;个人感觉应该加一步状态分析 状态分析&#xff1a; 列出所有的状态&#xff0c;将状态归纳后定义dp数组状态转移&#xff0c;状态怎么转移也就是递推公式是什么 买卖股票的动规五部曲分析如下&#xff1a; 1 确定dp数组&#xff08;d…

Python - Pycharm 配置 autopep8 并设置快捷键

什么是 PEP8 官方&#xff1a;PEP 8 – Style Guide for Python Code | peps.python.org PEP8 是 Python 官方推出的一套编码的规范&#xff0c;只要代码不符合它的规范&#xff0c;就会有相应的提示&#xff0c;还可以让代码自动的格式化 Pycharm 自带的代码格式化 ​ 但这…

2024年Android笔试题总,如何系统全面性学习Android语言

开头 让我们一起来看看&#xff0c;字节跳动的第三面&#xff0c;面试官都问了什么&#xff1f;&#xff08;第一二面的题目及答案已整理&#xff0c;需要的可以在文末领取&#xff09; 从七月中旬开始&#xff0c;我前前后后差不多一共投递了八十份简历&#xff0c;到目前为…

游戏网站为了提升谷歌的搜索排名,应该在html等方面做什么优化?

一&#xff1a;为了提升谷歌的搜索排名&#xff0c;游戏网站可以在HTML等方面进行以下优化&#xff1a; 关键词优化&#xff1a;在HTML的标题标签&#xff08;<title>&#xff09;和Meta标签中包含与游戏相关的关键词&#xff0c;以便搜索引擎能够更好地理解网站内容。 …

PyTorch笔记:标量向量矩阵张量+维度+常用API+计算图+自动微分计算

PyTorch 张量 默认数据类型是torch.float32 维度 0&#xff1a;标量1&#xff1a;向量2&#xff1a;矩阵… 标量&向量&矩阵&张量 标量&#xff1a;0维空间中一个点向量&#xff1a;1维空间中一条线矩阵&#xff1a;2维空间中一个面三维张量&#xff1a;三维空…

刷题第10天

代码随想录刷题第10天 |● 239. 滑动窗口最大值 ● 347.前 K 个高频元素 239. 滑动窗口最大值 唉&#xff0c;好难&#xff0c;先记个思路吧 class Solution { private:class MyQueue { //单调队列&#xff08;从大到小&#xff09;public:deque<int> que; // 使用deq…