python 基础 02

1. 字符串操作

主要说说内建函数。

字符串类型,就像列表一样,可以进行切片,排序等等操作。

但是这里就专门说内建函数哦。

‘‘‘@Author: Fallen@Date: 2020-04-03 10:30:20@LastEditTime: 2020-04-03 15:33:44@LastEditors: Please set LastEditors@Description: 字符串内建函数@FilePath: \day02\字符串内建函数.py‘‘‘?l = "abcdif geheEdjfoaae ifXlji felkkNOFWIjsk"?#1.大小写相关# capitalize()  title() istitle()   upper()  isupper()   lower()  islower()print(l.capitalize())  #第一个字母大写print(l.title())  # 每个单词首字母都大写print(l.upper())  # 全改成大写print(l.lower())  # 全改成小写print(l.isupper())  #判断是不是都是大写print(l.islower())  # 判断是不是都是小写?#2.查找替换相关#  find()   rfind()     index()  rindex()     replace()a = l.find("a",0,len(l)-1)  #找到具体内容的索引,没找到就返回 -1print(a)?b = l.rfind("a",0,len(l)-1) #从右开始find()print(b)?d = l.index("a",0,len(l)-1) #跟find()一样功能,不过,要是没找到,就报错print(d)?e = l.rindex("a",0,len(l)-1) # 从右边开始 index()print(e)??g = l.replace("a","##") # 用后边的东西替换前边的东西print(g)?#3.编码与解码# encode()  decode()# 有  gbk 中文   gb2312 简体中文  unicode  utf-8  什么的l2 = "我爱你中国!莫哈哈哈!"h = l2.encode("utf-8")h = l2.decode("utf-8")?##4.字符串内建函数: startswith()   endswith()  返回值都是布尔类型True False# startswith判断是否是以xxx开头的,或者 endswith判断是否是以xxx结尾的# 应用: 文件上传 ,识别文件类型,比如: 只能上传图片(jpg,png,bmp,gif)filename = "note.doc"result = filename.endswith(‘doc‘) # 瞅瞅,filename 是不是以doc结尾的啊print(result)?s = "hello"result2 = s.startswith(‘he‘) #瞅瞅,s 是不是以 he 开头的啊print(result2)?##那咋识别文件格式呢?其实这个识别文件格式就是识别文件名,然后看看##文件名是不是以 啥啥后缀结尾的## 那咋识别文件名啊path = input("输入文件路径:") #比如我们给一个:D:\pictures\backgroud.jpg###有了文件路径,就可以用字符串匹配啥的找到文件名p = path.rfind(‘\\‘) #在给定的文件路径从右向左找到第一个"\",                      filename = path[p+1:]#那它后边的不就是文件名### 咋判断是不是图片类型if filename.endswith(‘jpg‘) or filename.endswith(‘png‘) or filename.endswith(‘bmp‘):    print("确实是图片!")else:    print("不是图片!")??##5.判断是不是数字,字母##isalpha()  isdigit()    isalnum()  isnumeric() isdecimal() 这几个都返回布尔类型的结果##字母        数字(可byte)  数字或字母  数字(可汉字) 数字##6.连接字符元素或字符串##join()  join()方法,使用它前边的字符当作间隔符,括号里便的字符串活着列表内的单个字符连接起来new_str = ‘@‘.join(‘def‘)print(new_str)?###还有一个厉害的,它可以对列表里的元素进行合并list1 = ["a","b","c","d",1,2,3,4,5]list2 = []for i in list1:    a = str(i)    list2.append(a)print(list2)result = "".join(list2)print(result)print(type(result))??##7.分割##split() splitlines()  count()##split(‘分隔符’,次数)  分割字符串,将分割后的字符串保存到列表中s =‘hello world hello kitty‘result = s.split(‘ ‘,2) print(result)#上边这个 表示按照空格作为分隔符,分割字符串2次,这个两次,就是它只作用两次。就是,它只把字符串s分割成[‘hello‘, ‘world‘, ‘hello kitty‘]# 最后一个空格的地方他没分割,那要想全都分割了怎么整?那就 2 改成 3 呗。# 那如果是一个特别长的字符串呢?数不过来分割符怎么办?可以用 count()方法数,数完了再分割 s =‘hello world hello kitty‘n = s.count(‘ ‘)  # count(args)  求字符串中指定args的个数print(‘个数:‘,n)result = s.split(‘ ‘,n)print(result)?##splitlines() 方法,就是把字符串分成几行,那你这么聪明,其实可以知道,其实就是以‘\n‘为分割符,然后覆盖到全部字符串的每一个‘\n‘,他的返回值是把每一行都保存到一个新的列表里s =‘‘‘hello world hello kitty,hello world hello kitty,hello world hello kitty,hello world hello kitty,hello world hello kitty,?‘‘‘result = s.splitlines()print(result)??##8.去除空格## strip()  rstrip() lstrip()s =‘ hello world hello kitty ‘print(s.lstrip())  #去除左边空格print(s.rstrip())  #去除右边空格print(s.strip())  #去除左右边空格,但是去除不了中间的空格##那,怎么才能去除字符串中间的空格呢?可以把空格替换为 ""print(s.replace(" ",""))  #无敌!!!!!?????

除了常用的内建函数,还有一些个别的操作,用的时候去查就好

#eval,将字符串当做代码执行age = 1print(eval(‘age + 3‘))  # 4print(eval(‘+123‘))   #123print(eval(‘3 + 2‘))   #5?#有安全问题eval("__import__(‘os‘).system(‘dir‘)") #显示当前目录的文件列表?# repr(x)  返回一个对象的String格式,适合机器执行a = [20,30]s1 = repr(a)list1 = eval(s1)list2 = str(a)print(a == list1)print(a == list2)

2.元组

元组(tuple)的操作,跟列表基本一样。包括,元素访问,链接,重复,切片,in/not in, 长度(len()),最值(max(),min())。

#查找(列表也可)t1 = (10,20,30,10)print(t1.index(20))  #查找值等于20的第一个元素print(t1.count(10))  #返回元组中10的个数?#遍历(列表也可)##同时获取下标和值for index,value in enumerate(t1):    print(index, value)?##通过下标遍历(列表也可)for i in range(len(t1)):    print(t1[i])    ??

3.解包

#重要操作:解包!!#解包就是把序列里的元素,分别拿出去给外边变量赋值的过程,活着就是把这个序列去除,把元素都释放出去, #嗯,就是这样,我就这么理解,哈哈哈哈#变量个数和元素个数一致t1 = (11,20)a, b = t1print(a,b)  #11 20?a, b = 2, 3  a,b,c = (1,2,3) ?#变量个数和元素个数不同#a=10,c=50,_获取(20,30)a, *_, c = 10,20,30,50print(a,c,_) #10 50 [20, 30]?#a=10,b=20,c获得剩余的元素a, b, *c = 10,20,30,50print(a,b,c) #10 20 [30, 50]?#*解包,这个就是把元组元素都释放出来print(*(1,2,3))  # 1 2 3?#range解包a, b, c = range(3)  #a=0,b=1,c=2?#列表解包a,*_b,c = [1,2,3,4,5]print(a,_b,c) # 1 [2, 3, 4] 5?#字符串解包a,b,c = ‘123‘print(a,b,c) # a=‘1‘,b=‘2‘,c=‘3‘

4.字典

#基本赋值,下边这样都成d1 = {}  #空字典d1 = dict()  #空字典d2 = {‘name‘:‘麻辣龙虾‘,‘taste‘:‘美味‘}d3 = dict(a=1,b=2)d4 = dict([(‘a‘, 1),(‘b‘, 2)])d5 = dict({‘a‘:1,‘b‘:2})?##存储多个学生的成绩dict1 = {"jack":78,"hanmeimei":99,"lilei":60}print(dict1)?#1.元素访问#获取   语法:字典名[key]print(dict1["hanmeimei"])?#print(dict1["tom"]) #KeyError: ‘tom‘?#字典名.get()result = dict1.get("lilei",‘1‘)  # 如果没有lilei这个键,返回默认值1,不会报错print(result)?#2.添加:当指定的键不存在的时候,则表示添加dict1["tom"]  = 70print(dict1)#但是,如果键已经存在,则表示修改valuedict1["jack"]  = 50print(dict1)?#3. 删除 pop 删除并返回指定键对应的值#注意:通过键,直接删除整个键值对dict1.pop("jack")print(dict1)?del dict1[‘lilei‘] #删除键值对,不返回值dict1.clear()  #清空字典del dict1  #删除整个字典?#4 字典合并a = {1:‘hello‘}b = {2:‘world‘}a.update(b)print(a)?#5.遍历dict2 = {"jack":78,"hanmeimei":99,"lilei":60}?#方式一:只获取键for key in dict2:    value = dict2[key]    print(key,value)?#方式二:只获取值#values,得到的结果是一个列表,当做列表处理print(dict2.values())?for value in dict2.values():    print(value)??#方式三:同时获取键和值#items,得到的结果是一个列表,列表中的元素是元组print(dict2.items())  #[(‘jack‘, 78), (‘hanmeimei‘, 99), (‘lilei‘, 60)]?for key,value  in dict2.items():    print(key,value)?#方式四for index,key in enumerate(dict2):    value = dict2[key]    print(index,key,value)?#6.获取键值对的个数print(len(dict1))?#7.成员操作d2 = {‘name‘:‘麻辣龙虾‘,‘taste‘:‘美味‘}print(‘name‘ in d2) #判断某个键是否在列表中

5.随机数

import  random
函数名 函数说明
choice(seq) 返回一个序列(列表、元组,字符串)中返回一个随机元素
randrange(start,end,step) start 指定范围的起始值 包含本身 end 指定范围的结束值 不包含本身 step 步长
randint() 返回一个随机整数
shuffle(seq) 将序列元素随机排列(打乱顺序)

原文地址:https://www.cnblogs.com/fallen043/p/12630557.html

时间: 2024-11-10 15:16:39

python 基础 02的相关文章

python 基础 -02 运算符和编码

一 格式化输出  %s就是代表字符串占位符,除此之外,还有%d, 是数字占位符, 如果把上面的age后面的换成%d,就代表你必须只能输入数字, 这时对应的数据必须是int类型. 否则程序会报错 使用时,需要进行类型转换. int(str) # 字符串转换成int str(int) # int转换成字符串 现在又来了新问题 . 如果想输出: 我叫xxx, 今年xx岁了,我们已经学习了2%的python基础了 在字符串中如果使用%s这样的占位符. 那么所有的%都将变成占位符. 我们的2%也变成占位符

python基础-02

常见的数据类型 列表 在python中,列表的创建可以是由[]两个方括号组成的.在其他语言中,被称之为数组. 列表里可以存放一组值,并且系统默认的给列表里的每一个元素以索引值,方便查找和使用. 如下: #创建一个列表,并且保存一定的数据 user_list = ['刘德华','张学友','张靓颖','郭富城','李白'] print(user_list) #['刘德华', '张学友', '张靓颖', '郭富城', '李白'] #根据索引值来读取数据 print(user_list[0])#刘德华

python基础02 基本数据类型

作者:徐佳 欢迎转载,也请保留这段声明.谢谢! 摘要:简单的数据类型以及赋值 变量不需要声明 python的变量不需要声明,你可以直接输入: >>>a = 10 那么你的内存里就有了一个变量a, 它的值是10,它的类型是integer (整数). 在此之前你不需要做什么特别的声明,而数据类型是Python自动决定的. >>>print (a) >>>print (type(a)) 那么会有如下输出: 10 <class 'int'> 这里,

0603 python 基础02

作业1:ANSI和utf8的区别?ASCII是用来表示英文字符的一种编码规范,每个ASCII字符占用1个字节(8bits).可以表示的最大字符数是256,一般只用前128个(最高位为0),其中包括了控制字符.数字.大小写字母和其他一些符号. ANSI:系统预设的标准文字储存格式.ANSI是American National Standards Institute的缩写.Unicode:世界上所有主要指令文件的联集,包括商业和个人电脑所使用的公用字集.UTF-8:UTF意为通用字集转换格式(Uni

Python 基础02 基本数据类型

简单的数据类型以及赋值 变量不需要声明 Python的变量不需要声明,你可以直接输入: >>> a = 10 那么你的内存里就有了一个变量a,它的值是10,它的类型是 integer(整数).在此之前你不需要做什么特别的声明, 而数据类型是Python自动决定的. >>>print(a) >>>print(type (a)) 那么会有如下输出: 10 <class 'int'> 这里,我们学到一个内置函数type(),用以查询变量的类型.

python基础02—运算符与流程控制

运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 复合运算 +=.-=.=./=.//=.%=.*= 关系运算(比较运算) >.>=.<.<=.==.!= 由操作数和运算符组成的式子称为表达式 关系表达式是有值的(布尔值),符合数学逻辑值为True,不符合数学逻辑值为False 逻辑运算 与(and):两边的表达式同时为真,值才为真

python基础02

分享学习思路: 1.xxx是什么? 敲门:提取知识点名词中的关键字来加以解释 2.为什么要有它? 大前提: python中语言中出现的所有的语法都是为了让计算机能够具备人的某一功能/像人一样去做xxx 3.如何使用xxx? 变量与基本数据类型(全为重点) 变量 一.什么是变量? 变量就是可以变化的量,量指的是事物的状态,比如人的年龄.性别,游戏角色的等级.金钱等等 二.为什么要有变量? 为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的 详细地说: 程序执行的本质就是一系列状

Python数据分析——基础02

Python数据分析--基础02 元组(tuple) 元组是一个固定长度,不可改变的序列对象. 创建元组 用逗号分隔一列值 tup = 1,2,3 # (1, 2, 3) 用圆括号 tup = (1,2,3), (4,5,6,7) # ((1, 2, 3), (4, 5, 6, 7)) 使用tuple()可以将任意序列或迭代器转换成元组 tuple([1,2,3,4]) # (1, 2, 3, 4) tuple('string') # ('s', 't', 'r', 'i', 'n', 'g')

Python基础知识梳理 - 第02部分

本文是Python基础知识的第二篇, 主要是对内置对象类型的介绍, 涉及的类型如下表. 数字类型 在Python中, 数字并不是一个真正的对象类型, 而是一组类似类型的分类, 如整数和浮点数, 复数等. Python还提供了若干处理数字对象的工具, 如内置数学函数pow, abs等, 标准库math, random等. 看下数字的简单使用. In [15]: 123 + 234 Out[15]: 357 In [16]: 1.5 * 4 Out[16]: 6.0 In [32]: pow(2,