Python学习笔记(基础篇)

2023-11-18

目录

一、Python编程基础

1.1print()

1.2 input()

1.3 ASCⅡ码

1.4注释

二、数据类型与基本运算符  

2.1变量

2.2数值类型(整数,浮点数,复数)

2.3字符串

2.4布尔类型

2.5数据类型转换

2.6算数运算符

 三、条件控制语句if

3.1 if语句

四、循环语句while for

4.1 for

4.2while

4.3continue和break

五、列表和元组

5.1序列(通用的啦)

5.2列表list[]

5.3元组tuple() 

六、字符串 

七、字典与集合

7.1字典dict{:,:,}

7.2集合set{}

一、Python编程基础

1.1print()

print(a,b,"hello,python")#自动换行
#输出是用空格隔开,而非,

 注意:print()自动换行 ,若想不换行

print(“hello",end='')       

将内容输入到指定的文件中:

fp=open(r'路径','a+') #打开文件
print("hello",file=fp) #输入
fp.close() #关闭文件

print的完整格式

print(a,b,sep=' ',end='\n',file=sys.stdout,flush=False)

sep:分隔符,默认是’ ‘,空格

end:结尾是啥,默认是’\n‘,改为''可以不换行捏

file:默认sys.stdout

flush:False是暂存,True 是立即输入             

1.2 input()

变量=input('提示文字')

1.3 ASCⅡ码

chr(56)将数字转为字符

ord(A)将字符转数字                                       

1.4注释

单行:#

多行:’‘’xxx‘’‘  ”“”xxx“”“  三引号         


二、数据类型与基本运算符  

2.1变量

type() 变量类型  内置函数

id() 变量内存地址

2.2数值类型(整数,浮点数,复数)

2.3字符串

’string ‘  ”string “ 单引号、双引号不可以换行

’‘’string ‘’‘三引号可以换行

转义字符前面加上r或R便可以以原样输出,如  r’失望之酒\x0a机会之杯‘  会原样输出

2.4布尔类型

True  False

2.5数据类型转换

int()

float()

str()(与chr()区分哈)

chr()与ord()

2.6算数运算符

+

-

*           可以用于字符串   ’M‘*10

/ 正常除!!!!

//  取整除!!!!

%求余

x**y  x的y次方


 三、条件控制语句if

3.1 if语句

别忘记冒号:!!!

if a in range(23,56):

if ord(a) not in range (56,66):

if a not in list:列表

if  elif  else

and    or    not

(默认None,False,空的字符串、列表、字典、元组都是False)


四、循环语句while for

4.1 for

格式1:

for i in [1,2,3]:

for i in ['a','b','c']:

格式2: 

for i in range(77):

range是python的内置函数,格式为range(start,end,step)

start若省略则默认为0,step步长默认为1

格式3:遍历字符串:

string='我爱蟒蛇'

for i in string:

4.1.1编写简单程

4.2while

4.3continue和break


五、列表和元组

5.1序列(通用的啦)

5个常用序列:列表、元组、集合、字典、字符串

索引:0开始(从右向左);-1开始(从左往右)

list[2]

切片:访问一定范围的元素,生成一个新序列

格式为   name[start:end:step]

其中start包括该位置,end不包括,step默认为1

name[:]复制全序列

序列相加:

+

只能支持同种类型的序列相加捏,所以list不可以加str

a=[a,b]   x=[e,d]    a+x=[a,b,e,d]

序列乘法:

序列*n

可以用于初始化指定长度的空列表:list=[None]*5

in: value in sequence    输出为True或False

not in  

 some内置函数;:


长度len(listname)

最大值max()

最小值min()

将序列转化为列表list()

转换为字符串str()

总和sum()

排序sorted()

序列反转reverse()

枚举enumerate():多用于输出索引值和元素内容

5.2列表list[]

列表内的元素可以是列表啊,元组啊等等任何呢

创建列表:

list=[1,2,3,4]

list=[]   创建空列表

创建数值列表      :   list(seq) →    list(range(10,20,2))创建10-20内的偶数

删除列表    del listname

访问列表元素    list[2]   

注意:全部输出是带[]的;单独输出元素不带[];输出字符串不带引号

遍历列表

F1:

for item in listname:    #仅是遍历元素

F2:                                  

for index,item in enumerate(listname):          #同时遍历了索引                                

其中index是索引,item是元素,然后用他们干各种事情

添加元素 

list.append(obj)             是在末尾添加捏

list.extend(seq)              将seq列表的全部元素追加到list列表的后面 

修改元素

list[2]='www'                  直接改就可以

删除元素

del list[1]                                                如果已知元素的序号

list.remove("具体内容")                        不知道序号,只是想删除这个内容

这个方法注意要先判断是否存在

if  list.count(value)!=0:

        list.remove(value)

统计列表

list.count(obj)                统计出现几次

list.index(obj)                获取元素首次出现的下标

sum(list)                   计算列表总和 

 列表排序

F1list.sort(key=None,reverse=False)

通常是list.sort()      

改key=str.lower表示排序时不区分大小写

改reverse True为降序,False为升序,默认是升序

sort的规则是先对大写字母进行排序,再对小写字母进行排序。对中文支持不好。

F2:sorted(list,key=None,reverse=False)

通常是sorted(list)

与sort的区别是,sorted不改原来的列表,而是生成一个新的列表!!!

5.3元组tuple() 

与列表的区别是,元组的元素不可以更改,所以也被称为不可更改的列表。

元组的创建 

tuple=(1,2,3) ✔

实际上括号是不必要的,只要将一组值用,分隔,python就会默认是元组!!

tuple=1,2,3   ✔

print(tuple)

显示:(1,2,3)   #带括号

注意:创建一个只包含一个元素的元组时,后加逗号才行

tuple=(‘python’   #定义了一个元组

tuple=(‘python’)   #定义了一个字符串

空元组     tuple=()

数值元组        tuple=(range(1,20,2))

删除元组   del   tuple

访问元组元素   tuple[2]

修改元组的元素

tuple=(1,2,3,4)

tuple=(5,6,7,8)#只可以一整个全改

 转化为list        list()


 六、字符串 

'str1'+'str2'

str()      将其他类型转化为字符串

len('str')                将所有的字符都认为一个字节

len(str.encode())            会区分汉字的

切片  str[start:end:step]

分割字符串成列表

str.split(sep,maxsplit)

分割后生成列表!!

sep是分隔符,会在新的列表里消失捏,默认值是None(包括空格,\n,\t)

maxsplit是分割次数

str='a b c >> x y z'

list1=str.split()                      list1=['a','b','c','>>','x','y','z']

list2=str.split('>>')                list2=['a b c','x y z']

统计字符串

str.count(obj)                     数个数

str.find(obj)                        找是否有,没有返回-1

print('obj' in str)                  有返回True,否则False

str.index(obj)                       有则返回首次出现的下标,没有则是报错

开头结尾

str.startwith(‘a’)

str.endwith('z')

返回True或False

字母大小写转换

str.lower()

str.upper()

删除字符串中的空格和特殊字符

str.strip()      默认删除字符串左右两侧的空格,\n.\t,\r

str.strip('@$&')               删除字符串左右两侧的@$&

str.lstrip()           left只删除左侧

str.rstrip()          right只删除右侧

eval('1+2')

①可以运算字符串

②可以实现数据类型转换,如'[1,2]'转化为[1,2],'233'转化为233

exec(‘xxx’)

可以执行字符串 


 七、字典与集合

这两个都是无序且不重复

7.1字典dict{:,:,}

每个元素都是有键(key)和值(value)组成

dictionary={key1:value1}

key:唯一的,不可变的,可以是字符串、数字、元组(列表不可以)

value:可以是任何数据类型

创建字典

dictionary={1:2,3:4}        

dictionary={(1,2),(3,4)}   #利用元组

dictionary=dict(zip(list1,list2))  #zip()函数是将两个list中的元素对应组成元组

dictionary=dict(1=2,3=4)

创建空字典

dictionary={}

dictionary=dic()

创建 值为空的字典

dictionary=dict.fromkey(list)

删除字典

del dictionary

访问特定元素不是靠索引而是键值

dictionary['key']

dictionary.get('key','xxxx')

若找到了则输出对应的值,若没有就输出xxxx(默认是None)

可以靠键值去修改,添加,删除

修改:键值存在

添加:键值不存在

删除:del dictionary[key]

遍历字典

dictionary.item()        #以键值配对的元组形式返回

for item in dctionary.item():
        print(item)

若想将键,值分开

for key,value in dictionary.item():
    print(key)
    print(value)

7.2集合set{}

集合是可修改,不重复,无序。

最好的应用是去重。

集合的创建

set={1,2,3}

set()    将列表,元组,字符串转化为set      #python推荐使用这个

集合删除

del set  全删了

set.remove(obj)        删除特定内容

set.pop()                   随机删除一个元素

set.clear()                  清空变为空set

集合的交集、并集、差集

A & B

A | B

A - B               是A的但不是B的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python学习笔记(基础篇) 的相关文章

随机推荐

  • 【测试设计】使用jenkins 插件Allure生成自动化测试报告

    前言 以前做自动化测试的时候一直用的HTMLTestRunner来生成测试报告 后来也尝试过用Python的PyH模块自己构建测试报告 在后来看到了RobotFramework的测试报告 感觉之前用的测试报告都太简陋 它才是测试报告应该有的
  • 分布式两阶段提交和三阶段提交

    随着大型网站的各种高并发访问 海量数据处理等场景越来越多 如何实现网站的高可用 易伸缩 可扩展 安全等目标就显得越来越重要 为了解决这样一系列问题 大型网站的架构也在不断发展 提高大型网站的高可用架构 不得不提的就是分布式 本文主要介绍关于
  • CSS 动画实战:创建一个漂亮的加载动画

    这篇文章 用一个实例来讲下用伪元素和CSS Animation来创建一个漂亮的加载动画 首先来看下 要实现的动画效果 先来分析下 这个动画效果是由哪几个动画组成 1 线段依次出现 2 然后红色 橙色和白色矩形依次出现 3 这些矩形出现之后
  • 微信小程序nodejs+vue高校食堂餐厅点餐订餐系统ja221

    本文以实际运用为开发背景 运用软件工程原理和开发方法 它主要是采用 语言 node js 框架 Express 前端 Vue js 数据库 mysql 数据库工具 Navicat 开发软件 VScode 前端vue elementui 1
  • 12000字解读白小T:成立1年创收1亿,单品类策略如何引爆流行?

    主笔 西兰卡普 研究员 白婷丹 Leo 西兰卡普 陆压 出品 增长黑盒研究组 研究支持 久谦中台 飞瓜数据 App Growing 前言 最近两年 当我们与新消费品牌创业者及操盘手探讨服饰赛道最新风向时 大家高频提及的不外乎是Bosie A
  • kubernetes Ingress资源管理

    k8s 对外服务之 Ingress Ingress 简介 service的作用体现在两个方面 对集群内部 它不断跟踪pod的变化 更新endpoint中对应pod的对象 提供了ip不断变化的pod的服务发现机制 对集群外部 他类似负载均衡器
  • 关于STM32的IAP与APP互相跳转

    关于STM32的IAP与APP互相跳转 之前做了一个不带系统的IAP与APP互相跳转 在网上找了资料后 很顺畅就完成了 后来在IAR集成开发环境下 IAP无系统 APP用UCOS系统做互相跳转出现了很多问题 现将IAP学习过程和实际遇到问题
  • 柏林噪声(Perlin Noise) 介绍及应用

    什么是噪声 信号处理中一般指原信号中不存在的无规则的额外信号 在处理过程中一般是我们不需要的 需要被处理掉的 噪声和信号本身无关 其频率和强弱变化无规律 噪声有什么用处 就如上面提到的那样 噪声是干扰原信号的存在 在信号处理中 我们一般都希
  • Spring基础总结

    Spring基础总结篇 1 获取 Spring 的 IOC 容器 并根据 bean 的 id 获取注入对象 1 通过 BeanFactory 获取 Bean 2 通过 ApplicationContext 应用上下文获取 Bean 2 Be
  • 玩转Mysql系列 - 第8篇:详解排序和分页(order by & limit),及存在的坑

    这是Mysql系列第7篇 环境 mysql5 7 25 cmd命令中进行演示 代码中被 包含的表示可选 符号分开的表示可选其一 本章内容 详解排序查询 详解limit limit存在的坑 分页查询中的坑 排序查询 order by 电商中
  • RedditVideoMakerBot 视频制作机器人自动生成视频搭建教程

    https github com elebumm RedditVideoMakerBot搭建教程 RedditVideoMakerBot视频制作机器人 有些在抖音 快手上的视频获得了数百万的观看次数 你仔细分析他们的视频 他们唯一做的原创事
  • 修改pip国内源

    修改pip国内源 修改源方法 临时使用 可以在使用pip的时候在后面加上 i参数 指定pip源 例如 pip install scrapy i https pypi tuna tsinghua edu cn simple 永久修改 linu
  • 【计算机视觉】直接线性变换(DLT)求解P矩阵(3 加入坐标的归一化)(附MATLAB代码)

    引言 本来上一篇帖子就已经达到了精度要求 不过经过同学提醒才发现老师的作业要求中有要求考虑归一化 emmmmm 坐标归一化 进行归一化的必要性和方法参考 计算机视觉中的多视几何 中的描述 上面的是从 2D到2D的结论 不过与从3D到2D的结
  • el-table添加行/单元格样式

    文章目录 一 官方文档释义 1 row style cell style 2 row class name cell class name 二 row style cell style的使用 1 row style 使用Object 使用F
  • 前端基础第一天:HTML常用标签知识点

    学习目标 理解 相对路径三种形式 应用 排版标签 文本格式化标签 图像标签 链接 相对路径 绝对路径的使用 1 HTML常用标签 首先 HTML和CSS是两种完全不同的语言 我们学的是结构 就只写HTML标签 认识标签就可以了 不会再给结构
  • antdv表格的rowSelection设置单选禁用选中等

    这个问题在项目中已经遇到过两次了 一次为表格想实现单选 禁用等 另一次则是今天 遇上需求需要在初始化表格的时候默认选中项目 鉴于自己的记性太差 记录记录 万一哪天又遇到这个问题心血来潮来翻了一翻博客 那问题就解决了 犹记得实现表格项单选和禁
  • 决策树(信息熵、增益率、基尼指数)

    目录 前言 一 决策树是什么 二 实验过程 1 选择数据集中各个决策属性的优先级 1 1信息熵 1 2增益率 1 3基尼指数 2 决策树的构造 2 1创建决策树 2 2准备数据 2 3 读取和保存决策树 2 4绘制决策树 3运行结果 3 1
  • 升级Linux中的默认JDK的版本

    我用的Linux是 红帽企业级Linux AS版 TLF SOFT Redhat Enterprise Linux AS V4 0 UPDATE 7 DVD 因工作需要 将Linux中默认安装的Jdk 版本为1 4 进行升级 将升级的经验和
  • BigDecimal的常用方法

    一 BigDecimal概述 Java在java math包中提供的API类BigDecimal 用来对超过16位有效位的数进行精确的运算 双精度浮点型变量double可以处理16位有效数 但在实际应用中 可能需要对更大或者更小的数进行运算
  • Python学习笔记(基础篇)

    目录 一 Python编程基础 1 1print 1 2 input 1 3 ASC 码 1 4注释 二 数据类型与基本运算符 2 1变量 2 2数值类型 整数 浮点数 复数 2 3字符串 2 4布尔类型 2 5数据类型转换 2 6算数运算