Python基础 part8 字符定义的类型 dict

小E学Python PART1 NCRE二级_习题六 小E学Python PART1 NCRE二级_习题六 写这篇的过程十分曲折,主要是用了Edge浏览器,真的很抓马,赶紧换了Google,不然会被气出痘痘哈哈哈 写的都很繁琐而且可能有BUG,要继续修修补补,望各位不吝赐教:) 编程题 T1 英文字符频率统计。编写一个程序,对给定字符串中出现的a-z字母频率进行分析,忽略大小写,采取降序方式输出。 str=input() str=str.lowe... 阅读详情

dict 字典

定义字典

字典的内容是包括key值和value值,一个key值可以对应多个value值,key值不能重复
在这里插入图片描述
对应多个value值:
在这里插入图片描述

定义空字典
在这里插入图片描述
在这里插入图片描述

定义嵌套字典
可以在字典中再定义详细的字典信息,如下:
在这里插入图片描述
需要寻找指定的信息时可以具体的指定

字典的特殊定义方式
print({}.fromkeys({i for i in range(3)},{i for i in range(5)}))
{i for i in range(3)}表示的是key值;
{i for i in range(5)}表示的value值。
在这里插入图片描述

dict 的特性

for循环
在这里插入图片描述
索引、切片、重复、连接、成员操作符等操作是不支持的

dict 添加

在这里插入图片描述
在这里插入图片描述

当需要添加的key值和value值都不在字典中时会添加,如果key值存在会更新value值

.update()
字典可以合并其他的字典
在这里插入图片描述

也可以直接进行批量添加或更新
在这里插入图片描述
.setdefault()

这种方式的添加,如果添加的key值存在,不做不做变动,如果不存在进行添加
在这里插入图片描述

dict的删除

del删除指定的key值和它的value值
在这里插入图片描述
.pop()
弹出key值,不会在内存中删除
在这里插入图片描述

.popitem()
弹出最后一个值
在这里插入图片描述
.clear()
清空字典
在这里插入图片描述

dict 的查看

查看全部的key值或全部的value值
在这里插入图片描述

.items()
查看所有字典中的值
在这里插入图片描述
查看指定的key值
在这里插入图片描述
如果查看的key值不存在就会显示不存在
在这里插入图片描述

练习

练习1
数字重复统计:
1). 随机生成1000个整数;
2). 数字的范围[20, 100],
3). 升序输出所有不同的数字及其每个数字重复的次数;

import random
all_num = []
for i in range(1000):		#生成1000个20-100的随机数
    all_num.append(random.randint(20,100))

sort_num = sorted(all_num)		#排序
dict_num = {}
for n in sort_num:		#查看重复次数
    if n in dict_num:
        dict_num[n] += 1
    else:
        dict_num[n] = 1
print(dict_num)

练习2
重复的单词: 此处认为单词之间以空格为分隔符, 并且不包含,和.;
# 1. 用户输入一句英文句子;
# 2. 打印出每个单词及其重复的次数;
“hello java hello python”
hello 2
java 1
python 1

Word = input().split()
Word_dict = {}

for I in Word:
    if I in Word_dict:
        Word_dict[I] += 1
    else:
        Word_dict[I] = 1

print(Word_dict)
Python字典与字符串核心操作:从基础概念到实战应用全解析 在Python编程中,字符串和字典是两种基础且重要的数据结构。字符串作为不可变的字符序列,主要用于文本数据的处理,如截取、查找、替换等操作;而字典作为键值对集合,通过哈希表实现快速查找,适用于结构化数据的存储和访问。从技术价值看,字符串处理关注编码一致性和操作效率,字典则强调数据检索的O(1)时间复杂度和灵活嵌套。在实际应用场景中,字符串常用于日志解析、数据清洗、文件读写,字典则广泛应用于配置管理、JSON数据处理、API接口交互。本文围绕字符串切片、编码转换、字典安全访问、嵌套操作等高频搜索关键词,结合具 阅读详情

相关推荐

Python数据类型实战:从numeric、string到list/tuple的底层逻辑与避坑指南

Python数据类型是动态语言中隐式契约的核心载体,其设计融合了对象模型、内存行为与语义约束。理解int/float的精度差异、string的不可变性与Unicode本质、list与tuple在可变性及哈希性上的根本分野,是写出健壮代码的基础。这些类型并非语法符号,而是决定运行时行为、错误传播路径和性能特征的关键机制。在Web接口开发、数据清洗、爬虫解析等真实场景中,类型误用常表现为TypeError、UnicodeDecodeError或'not callable'等高频报错,根源多在于外部输入未清洗、内

weixin_30385925的博客 410

Python 类型注解,python变量也能声明类型

类型注解 注意:3.6以上版本 动态语言不需要声明变量类型,这种做法在很多人眼里是不好不好维护的代名词 变量的类型说明,一般情况下我们会通过变量名来隐含的说明该变量的类型:user_list, user_dict age: int = 18 # age是int类型 print(age) Python有大量的内置类型:int float bool str bytes list dict 等都可以 但是:类型的声明,不会实际影响使用,仅是提示作用,不会限制类型。 例如这样: a_dict = Tru

柏杉的博客小屋 6167

Python字符串索引与切片原理及27个实战应用

字符串索引与切片是Python最基础却最易被误用的核心机制。其本质是基于Unicode码点的内存偏移寻址与半开区间采样,而非简单的‘第几个字符’;理解`[start:end:step]`中边界不包含`end`、负数索引自动兜底、越界切片返回空字符串等关键规则,可避免90%的`IndexError`和逻辑错误。该机制支撑日志解析、URL处理、文本清洗、文件名分割等高频工程任务,尤其在无需正则依赖、追求轻量健壮性的场景中具备显著技术价值——本文聚焦真实项目中的27种典型切片模式,覆盖Nginx日志IP提取、协议

weixin_30561177的博客 336

一秒让你学会python中的dict类型详解

一,创建字典dict二, dict内置方法的使用:popitem()

m0_72210904的博客 1205

Python字符串索引与切片的本质:零拷贝视图机制解析

字符串索引与切片是编程中最基础的文本操作概念,其底层原理源于不可变对象的内存访问模型。在Python 3中,str切片并非复制字符数据,而是构建轻量级只读视图,仅存储起始偏移、长度及对原字符串的引用,实现O(1)时间复杂度与零内存冗余。这一机制保障了高并发下的线程安全,也决定了其在日志解析、生物序列处理、JWT解码等工业场景中的性能优势。理解索引作为‘偏移量’而非‘第几个’、切片的‘左闭右开’数学语义,以及Unicode码点与字形簇的区别,是避免IndexError、静默截断和emoji错位的关键。本文深入

culh2177的博客 890

Python列表转字符串:5种方案选型与6大生产场景实战

字符串拼接是Python中最基础的数据转换操作,其本质涉及类型系统、内存分配机制与编码协议。`str.join()`凭借单次内存预分配和C层优化,成为线性拼接的首选方案;而`repr()`、`json.dumps()`则分别服务于调试语义与跨语言序列化需求。在Web表单提交、SQL IN子句构造、日志聚合等高频工程场景中,需结合`shlex.quote()`防命令注入、`csv.writer`保格式合规、`safe_join()`做空值防御等技术手段。本文聚焦`join`性能拐点、非字符串元素转换、Unic

weixin_34408717的博客 356

python中的dict类型

... 其他类似的方法,例如 `keys()`, `values()`, `clear()`, 等等 ...# 使用自定义字典类print(my_dict["a"]) # 输出:1print(my_dict.get("c")) # 输出:3。

semicolon_hello的专栏 1012

一个测试工程师走进一家酒吧……

一个测试工程师走进一家酒吧,要了一杯啤酒;一个测试工程师走进一家酒吧,要了一杯咖啡;一个测试工程师走进一家酒吧,要了 0.7 杯啤酒;一个测试工程师走进一家酒吧,要了-1 杯啤酒;一个测试...

字节跳动技术团队官方博客 4883

Python __dict__属性详解

  我们都知道Python一切皆对象,那么Python究竟是怎么管理对象的呢? 1、无处不在的__dict__   首先看一下类的__dict__属性和类对象的__dict__属性 # -*- coding: utf-8 -*- class A(object): """ Class A. """ a = 0 b = 1 def ...

一个菜鸟的博客 4万+

CPRI原理及应用--帧结构

对于CPRI 控制字,协议将1个超帧(256基本帧)的控制数据划分为一个“子通道”,将子通道内超帧内的控制字进行行列划分,分为4列X64行,每64个基本帧组成1列。如下图所示。每个Xs子通道内Ns的定义基本相同,在做控制字设计时,主要已Xs和Ns和X.Y.Z开展控制字映射。

u014035968的博客 2325

发票OFD格式转换成PDF

发票OFD格式转换成PDF

Be_insighted的博客 929

Python基础(三):Dict类型

Dict类型: Dict类型的定义: Dict是一种无序的,可变的数据集合类型。一个dict对象包括数组不固定的键值对,键值对的键具有唯一性,不能重复;值可以存储任意类型的对象。 Dict类型使用一对花括号“{}”创建,键值对之间使用逗号“,”做分隔,键值之间使用冒号“:”做分隔。 d = {"name":"Tom","age":12,"sex":"男"} print d Dict类型...

qq_38320866的博客 4069

An AI compute of cities based on Distributed-Platform and Distributed-Databases(天池地铁流量预测)

摘要 在日益城市化的今天,城市居民出行问题逐渐成为衡量一个城市现代化能力的标准;城市出行方式多元化的同时,也对各交通系统的调度运营能力提出了更高的要求:如何提高运营效率,如何运用有限的安保力量进行有效的安检部署等问题一直在阻挠着城市交通的发展。 An AI compute of cities based on Distributed-Platform and Distributed-Databas...

Clearlove灬Star 5162

Python基础

s1 = s[:n]print(‘测试成功!’)else:print(‘测试失败!’)返回函数返回闭包时牢记一点:返回函数不要引用任何循环变量,或者后续会发生变化的变量。如果一定要引用循环变量怎么办?方法是再创建一个函数,用该函数的参数绑定循环变量当前的值,无论该循环变量后续如何更改,已绑定到函数参数的值不变:def f(j):def g():return j*jreturn gfs = []

为了更好的思考 923

金融行业大数据可视化:实时监控与风险预警系统构建

随着金融业务数字化转型,日均产生的交易数据、市场数据、客户行为数据呈指数级增长(单家银行日交易数据量可达TB级)。数据实时性不足(分钟级延迟难以应对高频交易风险)风险特征挖掘浅层(仅基于规则引擎,漏报率高达30%+)可视化分析能力薄弱(静态报表无法支持动态决策)本文聚焦构建具备毫秒级数据响应智能风险建模交互式可视化决策能力的新一代系统,覆盖数据采集、实时处理、多维可视化、智能预警四大核心模块,适用于银行、证券、保险等金融细分领域。章节核心内容技术亮点核心概念可视化系统架构/数据流模型。

AI天才研究院 1522

STM32芯片解锁读写保护:更改Option Byte [Error已解决]

解锁读保护:STLink更改Option Byte 变Level从1变为0,点击Apply即可。(程序执行读保护,其实是将Level从0变为1) 默认情况下该保护功能是不开启的,若要开启该功能,需要改写内部FLASH选项字节(Option Bytes)中的配置。 RDP读保护级别 级别0,无保护, 级别1,使能读保护, 这种保护下,若使用调试功能(使用下载器、仿真器)或者从内部SRAM自举时都不能对内部FLASH及备份SRAM作任何访问(读写、擦除都被禁止); 当芯片处于级别1的时候,可以把选项字节

HowieXue 薛永浩的博客 2万+

python学习笔记-part1基础知识-自用

【代码】python学习笔记-part1基础知识-自用。

m0_62220502的博客 251

SPICE仿真软件:Ngspice_(2).安装与配置

在Netlist文件中直接定义模型。V1 1 0 5R1 2 0 1k* Analysis库文件中可以包含多种电路元件模型和参数。

kkchenjj的博客 1585

Python JSON遍历全解析:从基础字典遍历到嵌套数据处理与性能优化

在数据处理和Web开发中,JSON作为一种轻量级的数据交换格式,其核心价值在于结构化地存储和传输信息。理解JSON在Python中的本质——即通过json模块映射为字典(dict)、列表(list)等原生数据类型,是进行有效操作的前提。遍历作为提取和操作JSON数据的关键技术,其原理在于递归或迭代地访问这些混合数据结构的每个节点。掌握遍历技术,能够高效地实现数据提取、清洗、转换和验证,对于数据分析、API交互和配置文件处理等应用场景至关重要。本文聚焦于Python中遍历JSON键值对的核心方法,特别是处理嵌

weixin_30824599的博客 407

DP83869HM的LWIP性能测试

E:/Xilinx/Vitis/2021.1/data/embeddedsw/ThirdParty/sw_services/lwip211_v2_0/src/contrib/ports/xilinx/netif/xemacpsif_physpeed.c文件中的。然后phy_setup_emacps中调用get_IEEE_phy_speed函数,根据PHY的ID判断出Marvell或TI或Realtek的PHY,调用对应的网速自动协商函数get_TI_phy_speed,该函数中的部分配置需要注释。

FPGA艺术家的博客 354

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Python基础知识-Part4:循环、dict、set、不可变对象

循环 1、Python中的循环,有“while”循环和“for”循环两种。 2、“for”循环不同于C/C++/Java的“for”循环,Python的“for”循环需要列表(list)或者元组(tuple)做辅助之用,且循环条件判断是“是否到达列表或者元组的末尾,到达即退出”。 3、使用“for”循环时,如有二维列表或二维元组,单重循环只对一维形态下的元素有效。此时请使用双重循环。 4、...

Harute's blog 292

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

python零基础入门教学

本文系统介绍了Python基础语法,涵盖以下核心内容:1. 基本元素:字面量、变量(动态类型)、标识符规则及数据类型检测(type()函数);2. 字符串处理:三种定义方式(单/双/三引号)、转义字符、拼接与格式化方法(%和f-string);3. 输入输出:input()函数使用及类型转换注意事项;4. 运算符体系:算术、赋值(含复合赋值)、比较、逻辑运算符;5. 流程控制:if条件分支、match-case模式匹配、while-else和for循环(含嵌套案例及range应用);6. 容器类型:列表的增

qq_66669252的博客 96

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Python字符串处理全解析:从基础操作到正则表达式实战

字符串处理是编程中的基础核心技能,涉及文本数据的创建、访问、转换与分析。其原理基于字符串作为不可变序列的特性,通过索引、切片及丰富内置方法实现高效操作。掌握字符串处理技术对于数据清洗、日志分析、用户输入验证等场景具有重要价值,能显著提升开发效率与代码质量。本文聚焦Python字符串的核心方法如split()、join()、replace(),并结合正则表达式等进阶技巧,通过典型应用场景解析,帮助读者构建系统的文本处理能力,告别单纯寻找“头歌python答案”的学习模式,真正掌握问题拆解与工具组合的工程思维。

weixin_33845881的博客 727

Python零基础入门:避开常见误区,5分钟上手实战编程

编程语言作为人机交互的核心工具,其本质是将人类逻辑转化为计算机可执行的指令。Python凭借简洁的语法和丰富的生态,成为初学者入门编程的理想选择。理解变量、函数、控制流等基础概念,是掌握编程原理的关键。这些技术价值在于能够自动化处理重复任务,提升工作效率,广泛应用于数据分析、网络爬虫、自动化办公等场景。本文针对新手常见的学习痛点,如环境配置复杂、语法记忆孤立等,提供了一条最小阻力路径,通过场景驱动的微任务和即时反馈练习,帮助读者快速建立Python编程直觉,并完成批量文件重命名等实用项目,实现从理论到实践的

weixin_33912453的博客 930

Python 3.12+ 可选类型 (Optional) 实战:5 个场景告别 None 滥用

本文探讨了Python 3.12+中Optional类型的实战应用,通过5个典型场景展示如何避免None滥用问题。文章详细介绍了Optional类型的基础用法、静态类型检查配置,以及在数据库查询、配置处理、函数式编程等场景中的最佳实践,帮助开发者编写更健壮、可维护的Python代码。

weixin_30764883的博客 415

Python字符串拼接性能陷阱:join()为何比+快100倍

字符串拼接是Python最基础的文本操作,但其底层涉及不可变对象、内存分配与时间复杂度等核心机制。由于字符串不可变性,`+`和`+=`在循环中会触发O(n²)级内存拷贝与对象创建,而`str.join()`通过一次预估长度、单次内存分配和顺序拷贝实现O(n)高效拼接。这一差异在日志聚合、HTML模板生成、CSV导出等真实场景中直接决定脚本是3秒还是30秒完成。掌握`join()`原理与适用边界,不仅能规避内存溢出风险,更是理解CPython内存模型与工程性能权衡的关键入口。

weixin_34319374的博客 434
上一篇: Python基础 part8 字符定义的类型 set
下一篇: 企业CDN的简单搭建-varnish
Howei__
博客等级 码龄7年 42粉丝 95原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Howei__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值