Python基础知识入门(二)_假设x="hello world",则type会返回哪里

(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

在这里插入图片描述

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

字符串是 Python 中最常用数据类型。字符串是使用一对英文单引号(')或英文双引号(")包裹的任意文本,可用(‘’')三引号包裹多行字符串,也可\n实现字符串换行。创建字符串很简单,只要为变量分配一个值即可。例如:‘Hello World!’。

注意:

字符串不可以“增删改”操作,但可以通过字符拼接来实现“增删改”操作。

1.字符函数
序号函数名方法及描述
1len(x)返回字符串长度。 x = ‘hello’,len(x),返回5。
2upper()转换字符串中的小写字母为大写。 x = ‘hello’,x.upper(),返回HELLO。
3lower()转换字符串中所有大写字符为小写。 x = ‘HELLO’,x.lower(),返回hello。
4capitalize()将字符串x的第一个字符转换为大写。 x = ‘hello world!’ x.capitalize(),返回 Hello world!。
5title()"标题化"的字符串,所有单词都是以大写开始,其余字母均为小写。 x = ‘hello world’,x.title(),Hello World。
6swapcase()将字符串中大写转换为小写,小写转换为大写。 x = ‘hEllO’,x.swapcase(),返回HeLLo。
7max(x)无论字符串 x 中是否有大写字母, 都会返回字符串 x 中小写字母最大的字母, 可以理解为ascii码表中最大十进制编号字母。 x = ‘abcde’,max(x),返回e。 x = ‘aBcde’,max(x),返回e。
8min(x)当字符串 x 中有大写字母返回最小大写字母, 否则返回字符串 x 中最小的字母, 可以理解为ascii码表中最小十进制编号字母。 x = ‘aBcde’,min(x),返回B。 x = ‘abcde’,min(x),返回a。
9split()split(str=“”, num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值, 则仅截取 num+1 个子字符串。 x = ‘h,e,l,l,o’,x.split(‘,’)返回[‘h’, ‘e’, ‘l’, ‘l’, ‘o’]。
10rsplit()rsplit(str=“”, num=string.count(str)) 以 str 为分隔符从右边截取字符串,如果 num 有指定值, 则仅截取 num+1 个子字符串。 x = ‘h,e,l,l,o’,x.rsplit(‘,’,2)返回[‘h, e, l’, ‘l’, ‘o’]。
11rpartition()指定字符串最后一次出现,并将该字符串拆分为包含三个元素的元组。 x = ‘hello’,x.rpartition(‘l’),返回(‘hel’, ‘l’, ‘o’)
12find(x)find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end , 则检查是否包含指定范围内,如果包含返回开始索引值,否则返回-1。 x = ‘hello world’ x.find(‘l’)返回2;x.find(‘l’,5)返回9。
13rfind()rfind(str, beg=0,end=len(string))​ 类似于 find()函数,不过是从右边开始查找。 x = ‘hello’,x.rfind(‘l’),返回3,x.rfind(‘l’,0,3)返回2。
14index(x)index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在字符串中会报一个异常。 x = ‘hello world’ x.index(‘l’)返回2; x.index(‘l’,5)返回9。
15rindex()rindex( str, beg=0, end=len(string)) 类似于 index(),不过是从右边开始。 x = ‘hello’,x.rindex(‘l’),返回3,x.rindex(‘l’,0,3)返回2。
16center(x,y)返回一个指定的宽度 x 居中的字符串,y 为填充的字符,默认为空格。 x = ‘漫步桔田’ x.center(10,‘*’) ,返回 ***漫步桔田***。
17ljust()ljust(width[, fillchar]) 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。 x = ‘hello’,x.ljust(8,‘*’),返回hello***。
18rjust()rjust(width,[, fillchar]) 返回一个原字符串右对齐,并使用fillchar (默认空格)填充至长度 width 的新字符串。 x = ‘hello’,x.rjust(8,‘*’),返回***hello。
19count(x)count(x, beg= 0,end=len(string)) 返回 x在字符出现次数, beg和end 用于返回指定范围内 x 出现次数。 x = ‘Hello’  x.count(‘l’) 返回 2;x.count(‘l’,3)返回 1 。
20replace()replace(old, new [, max]) 将字符串中 old 替换成 new,如果 max 指定,则替换不超过 max 次。 x = ‘aacc’,x.replace(‘c’,‘b’),返回aabb, x.replace(‘c’,‘b’,1),返回aabc。
21join(x)join(x)以指定字符作为分隔符,将 x 中所有元素合并为一个新字符串。 x = ‘hello’ ‘*’.join(x) ,返回h*e*l*l*o。
22decode()decode(encoding=“utf-8”, errors=“strict”) encoding - 要使用的编码,如"UTF-8" errors - 参数可以指定不同的错误处理方案 decode() 用来解码给定的 bytes 对象。 x = b’\xe6\xbc\xab\xe6\xad\xa5’ x.decode(‘utf-8’) 返回’漫步’。
23encode()encode(encoding=‘UTF-8’,errors=‘strict’) encoding - 要使用的编码,如"UTF-8" errors参数可以指定不同的错误处理方案 以 encoding 指定的编码格式编码字符串。 x = ‘漫步’x.encode(‘utf-8’) 返回 b’\xe6\xbc\xab\xe6\xad\xa5’。
24zfill()返回长度为 width 的字符串,原字符串右对齐,前面填充0。 x = ‘hello’,x.zfill(10),返回00000hello。
25lstrip()截掉字符串左边的空格或指定字符。 x = ’   HELLO’,x.lstrip(),返回HELLO。
26rstrip()删除字符串末尾的空格或指定字符。 x = ‘hello***’,x.rstrip(‘*’),返回hello。
27strip()在字符串上执行 lstrip()和 rstrip()。 x = ‘**hello**’,x.strip(‘*’),返回hello。
28splitlines(x)按照行(‘\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表, 如果参数 x 为 False,不包含换行符,如果为 True,则保留换行符。 ‘12\r34\r\n56\n78’.splitlines(),返回[‘12’, ‘34’, ‘56’, ‘78’]。 ‘12\r34\r\n56\n78’.splitlines(True),返回[‘12\r’, ‘34\r\n’, ‘56\n’, ‘78’]。
29expandtabs()expandtabs(tabsize=8) expandtabs() 方法把字符串中的 tab 符号 \t 转为空格, tab 符号 \t 默认的空格数是 8,在第 0、8、16…等处给出制表符位置, 如制表符位置字符数不足 8 倍数则以空格代替。 x = ‘hello\tworld’ x.expandtabs() 返回hello   world补充3个空格。
30startswith()startswith(x, beg=0,end=len(string)) 检查字符串是否是以指定子字符串 x 开头, 是则返回 True,否则返回 False。 如果beg 和 end 指定值,则在指定范围内检查。 x = ‘hello’,x.startswith(‘h’),返回True。
31endswith()endswith(x, beg=0, end=len(string)) 检查字符串是否以 x 结尾,如果 beg 和 end 指定则检查指定范围内 是否以 suffix 结束,如果是,返回 True,否则返回 False。 x = ‘hello’ x.endswith(‘o’)返回True;x.endswith(‘l’,0,3)返回True。
32isalnum()如果字符串不为空并且所有字符都是字母或数字, 则返回 True,否则返回 False。 x = ‘hello world’ x.isalnum()返回False。
33isalpha()如果字符串不为空且所有字符都是字母或中文字, 则返回 True, 否则返回 False。 x = ‘hello漫步’ x.isalpha()返回 True。
34isdigit()如果字符串只包含数字则返回 True 否则返回 False。 x = ‘123456’ x.isdigit(),返回 True。
35isnumeric()如果字符串中只包含数字字符,则返回 True,否则返回 False。 x = ‘123456’ x.isnumeric() 返回 True。
36isdecimal()检查字符串是否只包含十进制字符,如果是返回 True,否则返回 false。 x = ‘123’,x.isdecimal(),返回True。
37isupper()如果字符串中所有字符都是大写,则返回 True,否则返回 False。 x = 'HELLO WORLD ’ x.isupper(),返回 True。
38islower()如果字符串中所有字符都是小写,则返回 True,否则返回 False。 x = ‘Hello’ x.islower() 返回 False。
39istitle()如果字符串所有单词首字母大写则返回 True,否则返回 False。 x = 'Hello World ’ x.istitle(),返回 True。
40isspace()如果字符串中只包含空格,则返回 True,否则返回 False。 x = ’ ’ x.isspace(),返回 True。

2.字符切片
x = 'hello'      #        所有字符串切片都返回新值
print(x[3])      # l      查询字符串下标为3的元素
print(x[0:])     # hello  查询字符串下标为0到末尾的元素
print(x[:4])     # hell   查询字符串下标0到下标为(n-1)的元素
print(x[1:])     # ello   查询字符串下标为1到末尾的元素
print(x[1:4])    # ell    查询字符串下标1到下边为(n-1)的元素
print(x[-4:-1])  # ell    查询字符串下标为-4到-1的元素
print(x[-3:4])   # ll     查询字符串下标为-3到4的元素
print(x[-2:])    # lo     查询字符串下标为-2到末尾的元素


3.字符运算
操作符方法及描述
+字符串拼接。    x = ‘hello’ y = ‘world’ , x+y = helloworld。
*字符串乘接。    x = ‘hello’,  x*2 = hellohello。
[]通过索引获取字符串中字符。 x = ‘hello’, x[1] = e。
[ : ]截取字符串,遵循左闭右开原则。 x[0:2] 只包含下标0,1元素,不包含下标2元素。
in如果字符串中包含给定的字符返回True,否则返回False。     x = ‘hello’ ,‘h’ in x 返回True。
not in如果字符串中不包含给定的字符返回True ,否则返回False。 x = ‘hello’ ,‘h’ not in x,返回False。
r/R在字符串前加 r / R 主要是将字符串按原始字符定义,不会被转义符转义。 x = r’he\t\nllo’ 或 R’he\t\nllo’,返回he\t\nllo
%格式字符串。 ‘我叫 %s 今年 %d 岁。’ % (‘漫漫’, 21) 返回 我叫 漫漫 今年 21 岁。

4.字符格式(%)
符号方法及描述
%c格式化字符及其ASCII码。     ‘我是字母 %c 。’ % (97) ,返回我是字母 a 。
%s格式化字符串。   ‘我的年龄 %s 。’ % (21) ,返回我的年龄 21 。
%d格式化整数。   ‘我的年龄 %d 。’ % (21),返回我的年龄 21 。
%u格式化无符号整型。   ‘我的年龄 %u。’ % (21),返回我的年龄 21 。
%i格式化无符号十进制数。  ‘我的年龄 %i。’ % (21),返回我的年龄 21 。
%o格式化无符号八进制数。   ‘我的年龄 %o。’ % (21),返回我的年龄 25 。
%x %X格式化无符号十六进制数。   ‘我的年龄 %x。’ % (15),返回我的年龄 f / F 。
%f %F将整数、浮点数转换浮点数表示,其格式化到指定位置(默认保留小数点后6位)。  ‘我的体重 %.2f。’ % (100.126),,返回我的体重 100.13。
%e %E将整数、浮点数转换成科学计数法,并将其格式化到指定位置。   ‘我的体重 %.2e。’ % (100.126) ,返回我的体重 1.00e+02。
%g %G自动将整数、浮点数转换浮点或科学计数法表示(超过6位数用科学计数法), 并将其格式化到指定位置(如果是科学计数则是e)。 ‘我的体重 %.2g。’ % (1.001260e+02),返回我的体重 100.126。
%%字符"%" 。 ‘我的体脂 %d%%。’%18 ,返回我的体脂 18%。

注意:

%[(name)][flags][width].[precision] typecode

**(name):**参数名称,用来传入字典值的,(传入参数必须是字典);

**flags:**作为用户对一些格式的选择,只有固定的几个值,以下

+ 右对齐:正数前加正好,负数前加负号;

-  左对齐:正数前无符号,负数前加负号;

’ ’ 右对齐:正数前加空格,负数前加负号;

0 右对齐:正数前无符号,负数前加负号;用0填充空白处

**width:**表示显示宽度,如果设置宽度低于实际字符宽度时,会按照实际的宽度来输出

如果设置宽度高于字符宽度时,会按照设置的宽度输出,空白符自动补位,右对齐。

**precision:**表示小数点后精度

**typecod:**用于指定输出类型(%s、%d、%f)。


5.字符格式(format)
数字格式输出描述
3.1415926{:.2f}3.14保留小数点后两位
3.14159/-1{:+.2f}+3.14/-1.00带符号保留小数点后两位
2.71828{:.0f}3不带小数
5{:0>2d}05数字补零 (填充左边, 宽度为2)
5/10{:x<4d}5xxx/10xx数字补x (填充右边, 宽度为4)
1000000{:,}1,000,000以逗号分隔的数字格式
0.25{:.2%}25.00%百分比格式
1000000000{:.2e}1.00e+09科学计数法(1*10^9)
13{:>10d}13右对齐 (默认, 宽度为10)
13{:<10d}13左对齐 (宽度为10)
13{:^10d}13中间对齐 (宽度为10)
11{:b}.format(11) {:d}.format(11) {😮}.format(11) {:x}.format(11) {:#x}.format(11) {:#X}.format(11)1011 11 13 b 0xb 0XB进制

注意:

^, <, > 分别是居中、左对齐、右对齐,后面带宽度;

: 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充;

+ 表示在正数前显示 +,负数前显示 -;

(空格)表示在正数前加空格

b、d、o、x 分别是二进制、十进制、八进制、十六进制。


三、列表类型

列表用英文 中括号 [] 把里面的所有数据框起来,列表里面的每一个数据叫作元素。每个元素之间都要用 英文逗号 ( , ) 隔开。例如:[1,2,3]。

1.列表函数
序号函数名方法及描述
1len(x)列表元x素个数。 x = [1,2,3,4,5], len(x), 返回 5。
2max(x)返回列表x元素最大值。 x = [1,2,3,4,5],max(x) ,返回 5。
3min(x)返回列表x元素最小值。 x = [1,2,3,4,5],min(x) ,返回 1。
4list(x)将序列x转换为列表。 x = (1,2,3,4,5), list(x), 返回 [1,2,3,4,5]。
5append(x)在列表末尾添加新的对象。 x = [1,2,3,4,5],x.append(6),返回 x [1, 2, 3, 4, 5, 6]。
6count(x)统计某个元素在列表中出现的次数。 x = [1,2,3,3,5],x.count(3),返回 2。
7extend(x)在列表末尾一次性追加另一个序列(用新列表扩展原来的列表)。 x = [1,2,3],y = [4,5,6],x.extend(y),返回 x = [1, 2, 3, 4, 5, 6]。
8index(x)从列表中找出某个值第一个匹配项的索引位置。 x = [1,2,3],x.index(3),返回 2。
9insert(x,y)将对象插入列表,x.insert(index, obj) index-对象obj需要插入的索引位置。obj-要插入列表中的对象。x = [1,2,4,5],x.insert(2,3),返回x = [1, 2, 3, 4, 5]。
10pop(x)移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。 x = [1,2,3,4,5],x.pop(),返回 x = [1, 2, 3, 4]。 x = [1,2,3,4,5],x.pop(3),返回 x = [1, 2, 3, 5]。
11del移除列表中指定位置元素。 x = [1, 2, 3 ,4, 5],del x[3],返回 x = [1, 2, 3, 5]。
12remove(x)移除列表中某个值的第一个匹配项。 x = [1,2,3,3,5],x.remove(3),返回 x = [1, 2, 3, 5]。
13reverse(x)反向排列列表中元素 。 x = [1,2,3,4,5],x.reverse(),返回 x = [5, 4, 3, 2, 1]。
14sort(x)对原列表进行排序,list.sort( key=None, reverse=False)。 key - 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。 reverse - 规则,reverse = True 降序, reverse = False 升序(默认)。 x = [2,1,4,3,5],x.sort() 返回 x = [1, 2, 3, 4, 5]。 x.sort(reverse=True),返回 x = [5, 4, 3, 2, 1]。
15clear(x)清空列表 。 x = [1,2,3,4,5],x.clear(),返回 x = []。
16copy(x)复制列表 。 x = [1,2,3,4,5],y = x.copy(),返回 y = [1,2,3,4,5]。

2.列表切片
x = [1, 2, 3, 4, 5, 6]
print(x[2])             # 3                     查找列表下标为2的元素
print(x[-2])            # 5                     查找列表倒数第2个元素
print(x[:])             # [1, 2, 3, 4, 5, 6]    查找列表下标为0到末尾的元素
print(x[::2])           # [1, 3, 5]             查找列表下标0到末尾间隔为2的元素
print(x[:5])            # [1, 2, 3, 4, 5]       查找列表下标为0到5的元素
print(x[1:])            # [2, 3, 4, 5, 6]       查找列表下标为1到末尾的元素
print(x[1:-2])          # [2, 3, 4]             查找列表下标1的到倒数第2个间的元素
print(x[-5:-3])         # [2, 3]                查找列表倒数第5到倒数第3间的元素

x[3] = 8;print(x)       # [1, 2, 3, 8, 5, 6]    根据列表元素下标修改元素值      

3.列表运算
x = [1, 2, 3]
y = [4, 5, 6]


### 最后

> **🍅 硬核资料**:关注即可领取PPT模板、简历模板、行业经典书籍PDF。  
> **🍅 技术互助**:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。  
> **🍅 面试题库**:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。  
> **🍅 知识体系**:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值