首页 > 编程语言 >python基础

python基础

时间:2023-01-20 15:22:06浏览次数:48  
标签:下标 python 元素 基础 列表 语法 集合 字符串

字面量

被写下来的固定的值,成为字面量

常见的6种值

数字

int float complex(复数,以 j 结尾表示复数),bool

控制精度

m . n m控制宽度(小数点也计入),设置的宽度小于数字自身不生效。n控制小数点精度,会四舍五入

字符串String

三种定义方式:

  1. 单引号定义法: 'hello'(可以内含双引号)

  2. 双引号定义法: "hello"(可以内含单引号)

  3. 三引号定义法: """hello"""

三引号定义法支持换行操作,用变量接收他,他就是字符串。不适用变量接收他,就可以作为多行注释使用

都可以使用转义字符\ 来将引号解除效用,变成普通字符串

字符串拼接

  1. 在输出时使用 + 号

  2. 字符串格式化:

name = "hello"
message = "i will say%s" % name
# %表示占位,s表示将变量变成字符串放入占位的地方
num = 57
salary = 167
message = "hello%d,give you%s" % (num, salary)
# 多个拼接+把数字转换为字符串

快速拼接

f ” { } “

print(f"1 * 1的结果是:{1 * 1}")

列表List

Python中使用最频繁的数据类型,可有序记录一堆数据

元组Tuple

可有序记录一堆不可变的Python数据集合

集合Set

可无序记录一堆不重复的Python数据集合

字典Dictionary

可无序记录一堆Key-Value型的Python数据集合

=====================================

数据类型转换

  1. 从文件中读取的数字,默认是字符串

  2. input( )默认结果是字符串

常见的

int( x ) float( x ) str( x )

 

注释

单行注释

以#开头(一般规定注释和#之间加一个空格)

# 注释

多行注释

以一对三个的双引号引起来

"""
注释
”“”

 

运算符

+,-,*,/,%

新知识

// 取整除

** 指数

 

IO

输出print

输入input name = input( ),在括号中可以输入字符串作为提示信息,会在控制台上打印出来

输入默认时字符串类型

 

if

if 要判断的条件:

内容

 

if-else

if 条件:

内容

else:

内容

if-elif-else

if 条件:

内容

elif 条件:

内容

else 条件:

内容

 

while

while 条件:

内容

 

for

python的for循环无法构建无限循环(无法使被处理的数据集无限大)

 

待处理数据集严格来说称之为序列类型,其内容可以一个个一次取出:字符串,列表,元组,等

for 临时变量 in 待处理数据集:

内容

name = "itheima"
for x in name:
print(x)
//创建临时变量x,会一次把name中的内容一个个取出来赋值给x,这里是一个个字母取

 

range语句

语法1

range(num)可以获取一个从0开始,到num结束的数字序列(不包含num本身)

range(3)得到[0,1,2]

语法2

range(num1,num2)可以获得一个从num1开始到num2结束的数字序列(不包含num2本身)

语法3

range(num1,num2,step)可以获得一个从num1开始到num2结束的数字序列(不包含num2本身)数字之间的步长为step

 

函数

def 函数名(形参):

内容

return 返回值

可以没有返回值,没有返回值是,实际上就是返回了None(类型为NoneType),None相当于False。

如果变量result接收了None,则not result就是True

 

global

可以用global修饰变量,让他成为全局变量

 

数据容器

list列表

定义

# 1
[元素1,元素2....]
# 2
变量名称 = [元素1,元素2....]
# 3.定义空列表
变量名称 = []
变量名称 = list()

# 嵌套
my_list = [[1,2,3],[4,5,6]]

io

直接输出列表,是把列表所有元素全部输出,包含[],如果是字符串还带有单引号

列表下标(索引)

跟数组一样[下标],也是从0开始

 

但是有两种方式,对于含有三个元素的列表

理解一:正序 0 1 2

理解二:逆序,最后一位是-1 他们分别为-3 -2 -1

方法

查询 index

语法:列表.index(元素)

会返回这个元素的正向的下标

插入insert

语法:列表.insert(下标,元素)

在指定的下标位置插入指定的元素,这个下标就是插入后元素存在的下标

追加append

语法:列表.append(元素)

将指定元素追加到列表的尾部

删除 del/pop/remove

语句:del 列表[下标] 列表.pop(下标) 列表.remove(元素)

通过pop删除,会同时返回删除的元素,可以接收(能告诉你删掉的是什么元素)

remove可以通过元素内容来删除,会删除掉第一个匹配项

清空 clear

语法:列表.clear( )

清空整个列表

统计 count

语法:列表.count

统计某个元素在列表中的数量

求长度 len

len(列表)

 

tuple元组

列表是可以修改的,而元组一旦定义完成,就不可以修改

# 定义元组字面量
(元素,元素.....元素)

# 定义元组变量
变量名称 = (元素,元素.....)

# 定义空元组
变量名称 = () # 方式1
变量名称 = tuplr() # 方式2

如果元组只有一个数据,这个数据后面要添加逗号

元组也可以嵌套

 

可以使用index() , count() ,len()

 

如果在元组内嵌套一个list就可以修改

 

str字符串

每一个字符相当于都是一个元素

str是一个不可修改的数据容器

常规index,count,len

替换replace

语法:字符串.replace(字符串1,字符串2) 有返回值

将字符串内的全部内容替换,不是修改字符串本身,而是得到一个新的字符串

分割split

语法:字符串.split(分隔符字符串)

按照指定的分隔符字符串,将字符串划分为多个字符串并存入列表中

注意:字符串本身不变,而是得到了一个列表对象

规整strip

语法1:字符串.strip() 去除前后空格与回车符

语法2:字符串.strip(字符串) 去前后指定字符串

a.strip(12) 是1和2都会移除,是按照单个字符

 

序列

内容连续,有序,可使用下标索引的一类数据容器(列表,元组,字符串)

切片

可以从一个序列中取出来一个子序列

语法:序列[起始下标:结束下表:步长] 有返回值

左闭右开

从何处开始可以留空,这样默认从头开始,结束留空默认为结尾

 

可以将步长设为复值,会反着取,这时起始下标和结束下标要反过来。可以用来把字符串翻过来

 

集合

不允许重复,所以可以用来进行去重

集合是无序的,不支持下标索引访问,但是可以修改

语法{元素,元素,...... }

定义空集合: 变量名称 = set()

添加add

语法:集合.add(元素)

集合本身被修改

移除remove

随机取出pop

从集合中随机取出一个元素,同时集合本身被修改,元素被移除

清空clear

差集difference

语法:集合1.difference(集合2)

取出集合1和集合2的差集(集合1有而集合2没有)

得到新的集合,两个原集合不变

消除差集difference_update

语法:集合1.difference_update(集合2)

在集合1内,删除和集合2相同的元素

集合1被修改,集合2不变

集合合并union

集合1.union(集合2)

将两个集合合并为新集合

得到新集合,两个原集合不变

求长度len

注意:求的是集合元素数量,由于集合会去重,所以相同元素只计数1次

遍历

集合不支持下标索引,所以不能用while循环,可以用for

 

文件的读取与写入

打开文件open

对象名 = open( name, mode, encoding)

name:文件名的字符串,包含文件所在的具体路径

made:设置打开文件的格式:只读(r,默认),写入(w,原有的内容会删除),追加(a)等

encoding:编码格式(推荐使用UTF-8)

读操作

读取实际上是用指针去读取的,所以在read后面跟着一个read,就会延续上一次的指针位置

read

read(num) num表示要从文件中读取的数据的长度(字节),如果没有传入num,那么就表示读取的文件中的所有的数据

readLines

按照行的方式把整个文件中的内容一次性读取,并且返回的是一个列表

readLine

一次读取一行的内容

for

for line in open("abc.txt" , "r")

这里的line作为一个临时变量就储存了文件的一行数据

with open语句

在做完读取后

写操作

write,此时要输入的内容会存在缓冲区中

最后要使用flush刷新,缓冲区的内容才会真正写入文件中

关闭close

对象名.close( )

方法

type()

将一个值输入到括号里面会返回这个值得类型

研究:

# python中,不需要打分号,创建变量时不需要说明类型
str_q = type("hello")
print(str_q)# 输出结果显示为str
print(type(str_q))# 输出结果表示为type,因为str_q是str类型,str的类型可以说就是type

len()

求长度

标签:下标,python,元素,基础,列表,语法,集合,字符串
From: https://www.cnblogs.com/zaughtercode/p/17062784.html

相关文章

  • 安装python
    1.官网安装地址: https://www.python.org/downloads/自定义安装:  python添加环境变量forallusers    AI学习建议安装版本:python:v3.8.10虚拟环......
  • Python写一个简单的端口扫描器
    前言在日常的信息收集工作中,我们可以用Nmap来对目标进行信息收集,但这只是一般情况,在特殊情况中,比如我们没有任何工具来帮助我们收集信息,(假设)我们有Python环境,我们就需要自......
  • Python-sklearn初步实践
    Python-sklearn实践1sklearn实践Python有关于机器学习的库sklearn,我们可以使用sklearn来快速得到想要的机器学习算法,它不仅包括了很多学习算法,还包含了预处理、微调和评......
  • Python图片识别之名片自动录入
    系统设计编写python程序,实现自动录入名片图片,识别名片上的文字信息,并附加到excel表内用pyqt设计名片录入框和信息显示框用汉王云识别名片图片,获取文字信息用pandas将......
  • Java/JS/Python/Go语言设计模式大全【精品源码】
    DesignPattern23种经典设计模式源码详解经典设计模式源码详解,用不同语言来实现,包括Java/JS/Python/TypeScript/Go等。结合实际场景,充分注释说明,每一行代码都经过检验,确......
  • python桌面应用自动化,uiautomation模块的Depth和searchDepth心得
    最近在学习yinkaisheng大神写的uiautomation模块,Depth和searchDepth一直使用不好,明明Depth=3,居然可以用searchDepth=1找到,网上也没找到答案,就自己试验了多次,终于发现了问题......
  • python 中值滤波
    ​​代码在git​​#!/usr/bin/envpython3#-*-coding:utf-8-*-"""CreatedonWedDec809:46:292021@author:ledi"""importnumpyasnpimportcv2frommatplotlib......
  • python 字典
    通俗理解字典就是Java中的map定义字典遵循k:string,v:obj的模式,也就是说,除了基本数据类型,v可以是对象,列表等等。dictionary={'name':'jack',age:19}操作字典新增属......
  • 全新Redis6全部知识点,零基础入门
    文章目录​​1.分布式缓存Redis6安装​​​​1.1.缓存和队列简介​​​​1.2.本地缓存和分布式缓存介绍​​​​1.3.Nosql和Redis简介​​​​1.4.Linux源码安装Redis6​​......
  • python操作redis
    一、连接redis连接redis的方式,我们通常选择连接池。importredispool=redis.ConnectionPool(host='127.0.0.1',port=6379,password='12345')r=redis.Redis(connec......