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

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型: