py基础语法简述

py基础,常用sdk

一些要点

  1. python中是没有常量的关键字的,只是我们常常约定使用大写字符组合的变量名表示常量,也有“不要对其进行赋值”的提醒操作
PI = 3.14
  1. python3中有六个标准的数据类型: Number(数字)、String(字符串)、Boolean(布尔)、List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典)
    不可变数据(4个): Number(数字)、String(字符串)、Tuple(元组)、Boolean(布尔)
    可变数据(3个): List(列表)、Dictionary(字典)、Sets(集合)
    python3支持三种不同的数值类型: 整型(int)、浮点型(float)、复数(complex)

字符串

lstrip、rstrip、strip、replace、find、ljust、rjust、isalpha、isdigit

text = '     abcdef125s  wr2258abcd      '
# 删掉开头和结尾的空格
print('original:', text) 
print('  lstrip:', text.lstrip(' ')) 
print('  rstrip:', text.rstrip(' '))
print('   strip:', text.strip(' '))
print(' replace:', text.replace('a', 'A'))
print(' replace:', text.replace('a', 'A', 1))
print('    find:', text.find('a'))
# 填充字符***
print('text.ljust(50, \'*\') :', text.ljust(50, '*'))
print('text.rjust(50, \'*\') :', text.rjust(50, '*'))
print('text.center(50, \'*\') :', text.center(50, '*'))
# 判断是否全是字母/数字
print('isalpha:', 'abc -', 'abc'.isalpha(), '123 -', '123'.isalpha(), 'a12 -', 'a12'.isalpha())
print('isdigit:', 'abc -', 'abc'.isdigit(), '123 -', '123'.isdigit(), 'a12 -', 'a12'.isdigit())

输出:

original:      abcdef125s  wr2258abcd      lstrip: abcdef125s  wr2258abcd      rstrip:      abcdef125s  wr2258abcdstrip: abcdef125s  wr2258abcdreplace:      Abcdef125s  wr2258Abcd      replace:      Abcdef125s  wr2258abcd      find: 5
text.ljust(50, '*') :      abcdef125s  wr2258abcd      *****************
text.rjust(50, '*') : *****************     abcdef125s  wr2258abcd      
text.center(50, '*') : ********     abcdef125s  wr2258abcd      *********
isalpha: abc - True 123 - False a12 - False
isdigit: abc - False 123 - True a12 - False

split和join

text2 = 'a,d,dw,d,s,w,t,c,w,'
list1 = text2.split(',')print('text2:', text2)
print('list1:', list1)
print('join:', ','.join(list1))

输出

text2: a,d,dw,d,s,w,t,c,w,
list1: ['a', 'd', 'dw', 'd', 's', 'w', 't', 'c', 'w', '']
join: a,d,dw,d,s,w,t,c,w,

startswith和endswith

text3 = 'Hello world'
print('start with world:', text3.startswith('world'))
print('start with Hello:', text3.startswith('Hello'))
print('start with world:', text3.endswith('world'))
print('start with Hello:', text3.endswith('Hello'))

输出

start with world: False
start with Hello: True
start with world: True
start with Hello: False

空字符串表示否
空对象会输出None

text4 = ''
print(not text4) # 用于条件时,0、0.0、空字符串被认为是False
print(text4 == '')sample
print(sample) # 对象为空会定义为None```
输出
True
True
None

list

list按index取值,: 用法,list * 2,list合并

list_1 = [1, 2, 3]
print('list_1 :'.rjust(11), list_1)
list_1.append(4)
print('append(4) :'.rjust(11), list_1)
print('[:1] :'.rjust(11), list_1[1:])
print('[:2] :'.rjust(11), list_1[:2])
print('[-1] :'.rjust(11), list_1[-1])
print('[:] :'.rjust(11), list_1[:])
print()list_2 = [5, 6, 7]
list_merge = list_1 + list_2
print('list_2 :', list_2)
print('list_2 * 2 :', list_2 * 2)
print('list_1 + list_2 :', list_merge)

输出

   list_1 : [1, 2, 3]
append(4) : [1, 2, 3, 4][:1] : [2, 3, 4][:2] : [1, 2][-1] : 4[:] : [1, 2, 3, 4]list_2 : [5, 6, 7]
list_2 * 2 : [5, 6, 7, 5, 6, 7]
list_1 + list_2 : [1, 2, 3, 4, 5, 6, 7]

list遍历,list按index取值,list插入,list移除,list随机排序,list排序,list判空

import randommy_list = [10, 20, 30]
print('my_list :', my_list)print('my_list 遍历 :')
for item in my_list:print(item)a, b, c = my_list
print('a, b, c = my_list, a, b, c = ', a, b, c)print('my_list.index(20) :', my_list.index(20))my_list.insert(1, 15)
print('my_list.insert(1, 15) :', my_list)my_list.remove(20)
print('my_list.remove(20) :', my_list)random.shuffle(my_list)
print('random.shuffle(my_list) :', my_list)my_list.sort()
print('my_list.sort() :', my_list)my_list = []
print('my_list = [] :', my_list)if not my_list:print('if not my_list :', 'my_list is empty')
else:print('if not my_list :', 'my_list is not empty')

输出

my_list : [10, 20, 30]
my_list 遍历 :
10
20
30
a, b, c = my_list, a, b, c =  10 20 30
my_list.index(20) : 1
my_list.insert(1, 15) : [10, 15, 20, 30]
my_list.remove(20) : [10, 15, 30]
random.shuffle(my_list) : [10, 30, 15]
my_list.sort() : [10, 15, 30]
my_list = [] : []
if not my_list : my_list is empty

list深拷贝

list_deep_copy  = list_2[:]
list_2[1] = 2
print(list_2)
print(list_deep_copy)

输出

[5, 2, 7]
[5, 6, 7]

set

set创建,set遍历,set排序,set插入,discard尝试移除,pop操作,判断set存在,set清空

s0 = set()
s1 = set(list_1)
s2 = set({1, '2'})print('s0 = set(), s0 :', s0)
print('s1 = set(list_1), s1 :', s1)
print('s2 = set({1, \'2\'}), s2 :', s2, '\n')print('遍历 s2 :')
for item in s2:print(item, type(item))
print('\n')s2.add(3)
s2.add(4)
s2.add(5)
print('s2.add(3), s2.add(4), s2.add(5), s2 :', s2, '\n')s2.discard(3)
print('s2.discard(3), s2 :', s2, '\n')print('len(s2) :', len(s2), '\n')print('s2.pop() :', s2.pop())
print('s2 :', s2, '\n')if 4 in s2:print('if 4 in s2 :', '4 in s2')
print('\n')s2.clear()
print('s2.clear(), s2 :', s2, '\n')

输出

s0 = set(), s0 : set()
s1 = set(list_1), s1 : {1, 2, 3, 4}
s2 = set({1, '2'}), s2 : {1, '2'} 遍历 s2 :
1 <class 'int'>
2 <class 'str'>s2.add(3), s2.add(4), s2.add(5), s2 : {1, '2', 3, 4, 5} s2.discard(3), s2 : {1, '2', 4, 5} len(s2) : 4 s2.pop() : 1
s2 : {'2', 4, 5} if 4 in s2 : 4 in s2s2.clear(), s2 : set() 

tuple

tuple创建,tuple元素计数,tuple查找index

tuple1 = (1, 1, 3, 4, 5)
print(type(tuple1), '\n')for item in tuple1:print(item)
print('\n')print(tuple1.count(1))
print(tuple1.index(5))

输出

<class 'tuple'> 1
1
3
4
52
4

dict

dict创建,dict取值,dict插入,嵌套dict,打印多层dict,dict设置默认值

my_dict = {'name': '张三', 'age': 18}
print(my_dict)
print(my_dict['name'])
my_dict['city'] = '北京'
print(my_dict)
print('\n')print('name' in my_dict)
print('sex' in my_dict)
print('age' not in my_dict)
print('\n')print(my_dict.setdefault('hobby', 'football'))
print(my_dict.setdefault('hobby', 'basketball'))
print('\n')from pprint import pprintdict = {'my_dict': my_dict, 'list_merge': list_merge, 's2': s2}
pprint(dict, indent=2)
print('\n')

输出

{'name': '张三', 'age': 18}
张三
{'name': '张三', 'age': 18, 'city': '北京'}True
False
Falsefootball
football{ 'list_merge': [1, 2, 3, 4, 5, 6, 7],'my_dict': {'age': 18, 'city': '北京', 'hobby': 'football', 'name': '张三'},'s2': set()}

if、while、for

if判断,while循环,for循环,双层for循环

name = '1'
if name == 'Alice':print('Hi, I\'m Alice')
elif name == 'Bob':print('Hi, I\'m Bob')
else:print('Hi, I\'m', name)
print('\n')cnt = 3
while cnt > 0:print('cnt =', cnt)cnt -= 1
print('\n')for i in range(3):print('i =', i)
print('\n')tmp1 = [1,3,5,7,9]
tmp2 = [2,4,6,8,10]
tmp_list = [tmp1, tmp2]print(tmp_list)num_set = set(num for tmp in tmp_list for num in tmp)
print(num_set)

输出

Hi, I'm 1cnt = 3
cnt = 2
cnt = 1i = 0
i = 1
i = 2[[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]]
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

exception

def sample(divideBy):try:return 42/divideByexcept ZeroDivisionError:print('error:invalid arguments')print(sample(2)) # 输出21.0
print(sample(0)) # 打印错except信息,并输出None

输出

21.0
error:invalid arguments
None

参考:
https://zhuanlan.zhihu.com/p/694203031
https://blog.csdn.net/m0_56051805/article/details/126900242

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

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

相关文章

基于Python爬虫的城市二手房数据分析可视化

基于Python爬虫的城市二手房数据分析可视化 一、前言二、数据采集(爬虫,附完整代码)三、数据可视化(附完整代码)3.1 房源面积-总价散点图3.2 各行政区均价3.3 均价最高的10个小区3.4 均价最高的10个地段3.5 户型分布3.6 词云图四、如何更换城市一、前言 二手房具有价格普…

CSS position属性之relative和absolute

目录 1 参考文章2 五个属性值3 position:static4 position:relative&#xff08;相对&#xff09;5 position:absolute&#xff08;绝对&#xff09; 1 参考文章 https://blog.csdn.net/lalala_dxf/article/details/123566909 https://blog.csdn.net/WangMinGirl/article/deta…

最灵活且易用的C++开源串口通信调试软件

这款C开源串口调试软件&#xff0c;集成了丰富的功能&#xff0c;为用户提供高效、便捷的串口通信调试体验。以下是其核心功能亮点&#xff1a; 基础功能&#xff1a; 数据交互自如&#xff1a;支持串口数据的轻松读取与发送&#xff0c;让数据交换变得简单直接。 灵活配置参…

基于顺序表的通讯录实现

一、前言 基于已经学过的顺序表&#xff0c;可以实现一个简单的通讯录。 二、通讯录相关头文件 //Contact.h #pragma once#define NAME_MAX 20 #define TEL_MAX 20 #define ADDR_MAX 20 #define GENDER_MAX 20typedef struct PersonInfo {char name[NAME_MAX];char gender[G…

Python的招聘数据分析与可视化管理系统-计算机毕业设计源码55218

摘要 随着互联网的迅速发展&#xff0c;招聘数据在规模和复杂性上呈现爆炸式增长&#xff0c;对数据的深入分析和有效可视化成为招聘决策和招聘管理的重要手段。本论文旨在构建一个基于Python的招聘数据分析与可视化管理系统。 该平台以主流招聘平台为数据源&#xff0c;利用Py…

MSPM0G3507——解决printf重定向在其他位置不能用的问题(printf重定向的补充)

除了之前发的文章的printf重定向的代码之外&#xff0c;还要加上这样一段代码即可 int puts(const char *_ptr) {int count fputs(_ptr,stdout);count fputs("\n",stdout);return count;} 完整的重定向&#xff1a; int fputc(int c, FILE* stream) {DL_UART_Main_…

昇思25天学习打卡营第2天|MindSpore快速入门

打卡 目录 打卡 快速入门案例&#xff1a;minist图像数据识别任务 案例任务说明 流程 1 加载并处理数据集 2 模型网络构建与定义 3 模型约束定义 4 模型训练 5 模型保存 6 模型推理 相关参考文档入门理解 MindSpore数据处理引擎 模型网络参数初始化 模型优化器 …

一个字符串的全部子序列和全排列

在计算机科学中&#xff0c;字符串的子序列和全排列是两个重要的概念。 1. 子序列 子序列是从一个序列中删除一些&#xff08;或不删除&#xff09;元素而不改变剩余元素的顺序形成的新序列。 例如&#xff0c;字符串 “abc” 的子序列包括&#xff1a; “”&#xff08;空…

如何选择TikTok菲律宾直播网络?

为了满足用户对于实时互动的需求&#xff0c;TikTok推出了直播功能&#xff0c;让用户能够与粉丝即时交流。本文将探讨如何选择适合的TikTok菲律宾直播网络&#xff0c;并分析OgLive是否是值得信赖的选择。 TikTok菲律宾直播网络面临的挑战 作为全球领先的短视频平台&#xff…

Python + OpenCV 开启图片、写入储存图片

这篇教学会介绍OpenCV 里imread()、imshow()、waitKey() 方法&#xff0c;透过这些方法&#xff0c;在电脑中使用不同的色彩模式开启图片并显示图片。 imread() 开启图片 使用imread() 方法&#xff0c;可以开启图片&#xff0c;imread() 有两个参数&#xff0c;第一个参数为档…

Google Play上架:恶意软件、移动垃圾软件和行为透明度详细解析和解决办法 (一)

近期整理了许多开发者的拒审邮件和内容,也发现了许多问题,今天来说一下关于恶意软件这类拒审的问题。 目标邮件如下: 首先说一下各位小伙伴留言私信的一个方法,提供你的拒审邮件和时间,尽可能的详细,这样会帮助我们的团队了解你们的问题,去帮助小伙伴么解决问题。由于前…

在 .NET 8 Web API 中实现弹性

在现代 Web 开发中&#xff0c;构建弹性 API 对于确保可靠性和性能至关重要。本文将指导您使用 Microsoft.Extensions.Http.Resilience 库在 .NET 8 Web API 中实现弹性。我们将介绍如何设置重试策略和超时&#xff0c;以使您的 API 更能抵御瞬时故障。 步骤 1.创建一个新的 .…

集成学习(一)Bagging

前边学习了&#xff1a;十大集成学习模型&#xff08;简单版&#xff09;-CSDN博客 Bagging又称为“装袋法”&#xff0c;它是所有集成学习方法当中最为著名、最为简单、也最为有效的操作之一。 在Bagging集成当中&#xff0c;我们并行建立多个弱评估器&#xff08;通常是决策…

排序——数据结构与算法 总结8

目录 8.1 排序相关概念 8.2 插入排序 8.2.1 直接插入排序&#xff1a; 8.2.2 折半插入排序&#xff1a; 8.2.3 希尔排序&#xff1a; 8.3 交换排序 8.3.1 冒泡排序&#xff1a; 8.3.2 快速排序&#xff1a; 8.4 选择排序 8.4.1 简单选择排序 8.4.2 堆排序 8.5 归并…

磁盘就是一个超大的Byte数组,操作系统是如何管理的?

磁盘在操作系统的维度看&#xff0c;就是一个“超大的Byte数组”。 那么操作系统是如何对这块“超大的Byte数组”做管理的呢&#xff1f; 我们知道在逻辑上&#xff0c;上帝说是用“文件”的概念来进行管理的。于是&#xff0c;便有了“文件系统”。那么&#xff0c;文件系统…

当前国内可用的docker加速器搜集 —— 筑梦之路

可用镜像加速器 以下地址搜集自网络&#xff0c;仅供参考&#xff0c;请自行验证。 1、https://docker.m.daocloud.io2、https://dockerpull.com3、https://atomhub.openatom.cn4、https://docker.1panel.live5、https://dockerhub.jobcher.com6、https://hub.rat.dev7、http…

最新版情侣飞行棋dofm,已解锁高阶私密模式,单身狗务必绕道!(附深夜学习资源)

今天阿星要跟大家聊一款让阿星这个大老爷们儿面红耳赤的神奇游戏——情侣飞行棋。它的神奇之处就在于专为情侣设计&#xff0c;能让情侣之间感情迅速升温&#xff0c;但单身狗们请自觉绕道&#xff0c;不然后果自负哦&#xff01; 打开游戏&#xff0c;界面清新&#xff0c;操…

HTML5使用<progress>进度条、<meter>刻度条

1、<progress>进度条 定义进度信息使用的是 progress 标签。它表示一个任务的完成进度&#xff0c;这个进度可以是不确定的&#xff0c;只是表示进度正在进行&#xff0c;但是不清楚还有多少工作量没有完成&#xff0c;也可以用0到某个最大数字&#xff08;如&#xff1…

vs2022安装qt vs tool

1 缘由 由于工作的需要&#xff0c;要在vs2022上安装qt插件进行开发。依次安装qt&#xff0c;vs2022&#xff0c;在vs2022的扩展管理中安装qt vs tool。 2 遇到困难 问题来了&#xff0c;在qt vs tool的设置qt version中出现问题&#xff0c;设置msvc_64-bit时出现提示“invali…

西安石油大学 课程习题信息管理系统(数据库课设)

主要技术栈 Java Mysql SpringBoot Tomcat HTML CSS JavaScript 该课设必备环境配置教程&#xff1a;&#xff08;参考给出的链接和给出的关键链接&#xff09; JAVA课设必备环境配置 教程 JDK Tomcat配置 IDEA开发环境配置 项目部署参考视频 若依框架 链接数据库格式注…