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: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

HTML提交表单给python

python 代码 from flask import Flask, request, render_template, redirect, url_forapp = Flask(__name__)@app.route('/')def form():# 渲染表单页面return render_template('./index.html')@app.route('/submit_form',