本篇文章主要内容:数据类型的常用方法,条件语句,循环语句

在开始正篇之前我们先来看看上一篇留下的题目。

题目:

定义一个字典a,有两个键值对:一个键值对key是可乐,value是18;另一个键值对key是python,value是列表形式的1,2,3,4,5。

答案:

a = { "可乐": "18", "python": [1,2,3,4,5] } 

一、字符串的常用方法

1.1 拼接

示例1(常用):

a = "可乐"
b = "爱python"
c = a + b
print(c)
-------------------------------------------------------------------
输出 ---> 可乐爱python 

注意:如果是str和number则需要对number转换,通过str(number)转换。

示例2(极少使用):

a = "可乐" "爱python"
print(a)
-------------------------------------------------------------------
输出 ---> 可乐爱python 

1.2 切片(截取)

用法灵活,需要对上一篇的索引已有深刻的理解。

语法:

string[start : end : step]
注意:左开右闭

示例1:截取python

a = "可乐爱python"
b = a[3:]
print(b)
-------------------------------------------------------------------
输出 ---> python 

示例2: 截取可爱yhn

a = "可乐爱python"
b = a[::2] # 或者 b = a[0::2]
print(b)
-------------------------------------------------------------------
输出 ---> 可爱yhn 

1.3 获取字符串长度

获取字符串长度由于比较少用,可乐就不写了,需要了解的可以私聊。

语法:

len(string)

示例:

a = "可乐爱python"
b = len(a)
print(b)
-------------------------------------------------------------------
输出 ---> 9 

1.4 分割字符串

通过split分割字符串,常用于将字符串转换成列表。

语法:

str.split(sep,maxsplit)
str.rsplit(sep,maxsplit)

- sep:分割符,默认为None。
- maxsplit:最大分割数,默认无限制。
- split:从左往右分割。
- rsplit:从右往左分割 。
需要深入了解split,rsplit使用方法的,可以看源代码注释,或者私聊可乐。

示例1:

a = "可乐,爱,python"
b = a.split(",",1)
print(b)
-------------------------------------------------------------------
输出 ---> ['可乐', '爱,python'] 

示例2:

a = "可乐,爱,python"
b = a.rsplit(",",1)
print(b)
-------------------------------------------------------------------
输出 ---> ['可乐,爱', 'python'] 

1.5 合并字符串

可以将可迭代对象通过join()方法合并成字符串。(可迭代对象:后续可乐会在高级部分进行讲解,并自定义我们想要的可迭代对象)在这里大家可以通俗的理解为可迭代对象就是str,dict,list,tuple

语法:

str.join(iterable)

示例1(常用):

a = ["可乐", "爱", "python"]
b = "".join(a)
print(b)
-------------------------------------------------------------------
输出 ---> 可乐爱python 

示例2(不常用):

a = {"可乐": "嘿嘿", "很帅": "是的"}
b = "".join(a)
print(b)
-------------------------------------------------------------------
输出 ---> 可乐很帅 

1.6 检测子字符串在字符串的索引

ps:当子字符串不存在时,会报错!可以利用这个特性来判断子字符串是否存在

语法:

str.index(sub[, start[, end]]) -> int
- sub:要检测的子字符串。
- start:检测的开始位置索引,默认从头开始。
- end:检测的结束位置索引,默认到最后。
可灵活使用,需要深入了解的可私聊可乐或者看源码注释。

示例1:

a = "可乐是可乐呀"
b = a.index("可乐")
# b = a.index("可乐", 0, -1)
print(b)
-------------------------------------------------------------------
输出 ---> 0 

示例2:

a = "可乐是可乐呀"
b = a.index("可了")
# b = a.index("可了", 0, -1)
print(b)
-------------------------------------------------------------------
抛出异常 ValueError 

1.7 指定字符串开头或者结尾

startswith()指定某个字符串开头。如果,返回True反之返回False
endswith()指定某个字符串结尾。如果,返回True反之返回False

语法:

str.startswith(prefix[, start[, end]]) -> bool
str.endswith(suffix[, start[, end]]) -> bool

- prefix/suffix: 要检测的子字符串。
- start: 检测的开始位置索引, 默认从头开始。
- end: 检测的结束位置索引, 默认到最后。

示例1:

a = "可乐是可乐呀"
b = a.startswith("可乐")
# b = a.startswith("可乐",0,-1)
print(b)
-------------------------------------------------------------------
输出 ---> True 

示例2:

a = "可乐是可乐呀"
b = a.endswith("可乐")
# b = a.endswith("可乐",0,-1)  输出True
print(b)
-------------------------------------------------------------------
输出 ---> False 

思考一下为什么b=a.endswith("可乐",0,-1)的时候输出True, 可乐会在下篇进行解释, 或者私聊可乐。

1.8 字符串转全部大写

语法:

str.upper()

示例:

a = "abc"
b = a.upper()
print(b)
-------------------------------------------------------------------
输出 ---> ABC 

1.9 字符串转全部小写

语法:

str.lower()

示例:

a = "ABC"
b = a.lower()
print(b)
-------------------------------------------------------------------
输出 ---> abc 

1.10 字符串格式化

语法:

① %
② format()
③ f-string

注意:第一种方式官方并不太建议, 详细请看官方文档

第三种f-string格式化方式需要python3.7以上的版本!!!

示例1:

a = "可乐"
b = "hello %s" % a
print(b)
-------------------------------------------------------------------
输出 ---> hello 可乐 

示例2:

a = "可乐"
b = "hello {}".format(a)
print(b)
-------------------------------------------------------------------
输出 ---> hello 可乐 

示例3:

a = "可乐"
b = f"hello {a}"
print(b)
-------------------------------------------------------------------
输出 ---> hello 可乐 

1.11 编解码

概念:

编码: 将字符串编码成字节。
解码: 将字节解码成字符串。

语法:

编码: str.encode(encoding,errors)
解码: str.decode(encoding,errors)
- encoding: 需要编码或者解码的格式, 一般为utf-8, 或者gbk。
- errors: 错误的处理方式, 默认是strict, 遇到非法字符抛出异常, 默认即可。
后续可乐会专门加一篇ASCII和Unicode和UTF-8和gbk的文章。

示例1:

a = "可乐"
b = a.encode()
print(b)
-------------------------------------------------------------------
输出 ---> b'\xe5\x8f\xaf\xe4\xb9\x90'
注:输出的是以16进制形式的字符编码值 

示例2:

a = b'\xe5\x8f\xaf\xe4\xb9\x90'
b = a.decode()
print(b)
-------------------------------------------------------------------
输出 ---> 可乐 

二、数字型常用方法

2.1 浮点型转整型

语法:

int()

示例:

a = 1.1
b = int(a)
print(b)
-------------------------------------------------------------------
输出 ---> 1 

2.2 保留小数位并四舍五入

语法:

round(number, digits)
- digits: 四舍五入时要使用的小数位数,默认为0。

示例:

a = 3.1415
b = round(a, 3)
print(b)
-------------------------------------------------------------------
输出 ---> 3.15 

三、列表常用方法

注意: 想要熟悉掌握列表常用方法, 必须熟悉上一篇的索引, 以及可变类型。

3.1 将其他类型转换成列表

语法:

list(iterable)
可迭代对象iterable字符串部分已经备注, 这里可乐就不备注了。

示例:

a = (1, 2, 3)
b = list(a)
print(b)
-------------------------------------------------------------------
输出 ---> [1, 2, 3] 

3.2 指定位置插入数据

语法:

list.insert(index,obj)

示例:

a = [1, 2, 3]
a.insert(1, "可乐")
print(a)
-------------------------------------------------------------------
输出 ---> [1, '可乐', 2, 3] 

3.3 在列表末尾添加数据

语法:

list.append(obj)

示例:

a = [1, 2, 3]
a.append("可乐")
print(a)
-------------------------------------------------------------------
输出 ---> [1, 2, 3, '可乐'] 

3.4 将其他可迭代对象追加到列表中

语法:

list.extend(iterable)

示例:

a = [1, 2, 3]
a.extend((4, 5, 6))
print(a)
-------------------------------------------------------------------
输出 ---> [1, 2, 3, 4, 5, 6] 

3.5 修改指定索引的数据

语法:

list[index] = obj

示例:

a = [1, 2, 3]
a[0] = "可乐"
print(a)
-------------------------------------------------------------------
输出 ---> ['可乐', 2, 3] 

3.6 删除指定索引的数据

语法:

① del list[index]
② list.pop(index)

示例1:

a = [1, 2, 3]
del a[2]
print(a)
-------------------------------------------------------------------
输出 ---> [1, 2] 

示例2:

a = [1, 2, 3]
a.pop(2)
print(a)
-------------------------------------------------------------------
输出 ---> [1, 2] 

3.7 删除第一个出现的指定数据

语法:

list.remove(value)

示例:

a = [1, 2, 3, 2]
a.remove(2)
print(a)
-------------------------------------------------------------------
输出 ---> [1, 3, 2] 

3.8 清空列表

语法:

list.clear()

示例:

a = [1, 2, 3]
a.clear()
print(a)
-------------------------------------------------------------------
输出 ---> [] 

3.9 统计列表长度

语法:

len(list)

示例:

a = [1, 2, 3]
b = len(a)
print(b)
-------------------------------------------------------------------
输出 ---> 3 

3.10 统计数据在列表中出现的次数

语法:

list.count(value)

示例:

a = [1, 2, 3, 2]
b = a.count(2)
print(b)
-------------------------------------------------------------------
输出 ---> 2 

3.11 列表排序

语法:

list.sort(key,reverse)
- key: 指定排序方式的函数。
- reverse: 等于True降序, 等于False升序, 默认False。

示例1:

a = [1, 2, 3, 2]
a.sort()
print(a)
-------------------------------------------------------------------
输出 ---> [1, 2, 2, 3] 

示例2:根据字典的 key=可乐 进行升序排序

def hello_list(e):
    return e["可乐"]

a = [{"可乐": 18}, {"可乐": 26}, {"可乐": 20}]
a.sort(key=hello_list)
print(a)
-------------------------------------------------------------------
输出 ---> [{'可乐': 18}, {'可乐': 20}, {'可乐': 26}] 

备注:函数在下一篇可乐会详细讲解, 示例2只是演示key的作用。

3.12 列表反转

语法:

list.reverse()

示例:

a = [1, 2, 3, 4]
a.reverse()
print(a)
-------------------------------------------------------------------
输出 ---> [4, 3, 2, 1] 

四、元组的常用方法

4.1 创建空元组

语法:

① tuple()
② ()

示例:

a = tuple()
# a = ()
print(a)
-------------------------------------------------------------------
输出 ---> () 

4.2 通过索引访问元组的值

语法:

tuple[index]

示例:

a = (1, 2, 3, 4)
b = a[0]
print(b)
-------------------------------------------------------------------
输出 ---> 1 

4.3 删除元组

语法:

del tuple

示例:

a = (1, 2, 3, 4)
print(a)
del a
print(a)
-------------------------------------------------------------------
第一行输出 ---> (1,2,3,4)
第二行抛出 NameError 

注意: 上篇可乐已经明确表示元组是不可变类型, 所以对于元组来说不存在修改和切片。因为当你修改元组时, 实际情况是会在内存中开辟新的内存地址用来存放新的元组

可乐用代码给大家演示一下:

a = (1, 2, 3, 4)
print(f"原元组的值是{a}")
print(f"原元组的内存地址是{id(a)}")
b = a[:2]
print(f"修改后元组的值是{b}")
print(f"修改后元组的内存地址是{id(b)}") 

备注: python通过内置函数id()来访问值的内存地址

输出结果如图:

五、字典的常用方法

想要熟练掌握字典的常用方法,需要对可乐上一篇字典的key-value(键值对)的格式比较熟悉,字典的key必须是不可变类型,value可以是任何类型

5.1 创建空字典

语法:

① dict()
② {}

示例:

a = {}
#a = dict()
print(a)
-------------------------------------------------------------------
输出 ---> {} 

5.2 获取字典的值

语法:

① dict[key]
② dict.get(key, default=None)

示例1:

a = {"name": "可乐", "age": 18}
print(a["name"])
-------------------------------------------------------------------
输出 ---> 可乐 

示例2:

a = {"name": "可乐", "age": "18"}
b = a.get("name")
print(b)
-------------------------------------------------------------------
输出 ---> 可乐 

注意: 在第一种方式中, 如果key不存在, 会抛出异常;第二种方式如果key不存在, 则返回默认值。

5.3 修改字典的值

语法:

① dict[key] = value
② dict.update(new_dict)

示例1:

a = {"name": "可乐", "age": 18}
a["name"] = "是可乐呀"
print(a)
-------------------------------------------------------------------
输出 ---> {'name': '是可乐呀', 'age': 18} 

示例2:

a = {"name": "可乐", "age": 18}
a.update({"python": "hello"})
print(a)
-------------------------------------------------------------------
输出 ---> {'name': '可乐', 'age': 18, 'python': 'hello'} 

注意: 如果指定的key在字典中不存在, 那么就是增加一个键值对。

5.4 计算字典元素个数

语法:

len(dict)

示例:

a = {"name": "可乐", "age": 18}
b = len(a)
print(b)
-------------------------------------------------------------------
输出 ---> 2 

5.5 获取字典所有的key

语法:

dict.keys()

示例:

a = {"name": "可乐", "age": 18}
b = a.keys()
print(b)
-------------------------------------------------------------------
输出 ---> ["name","age"] 

获取字典所有的value

语法:

dict.values()

示例:

a = {"name": "可乐", "age": 18}
b = a.values()
print(b)
-------------------------------------------------------------------
输出 ---> ['可乐', '18'] 

5.7 获取字典的key-value

语法:

dict.items()

示例:

a = {"name": "可乐", "age": "18"}
b = a.items()
print(b)
-------------------------------------------------------------------
输出 ---> [('name', '可乐'), ('age', '18')] 

六、条件语句

在python中条件语句就是三个关键字 if elif else

语法:

if 判断条件:
执行代码
elif 判断条件:
执行代码
else:
执行代码

说明: 在上述的条件判断中是互斥的, 也就是说要么执行if的代码, 要么执行elif的代码, 要么执行else的代码, 并且只要其中一个符合条件, 那么程序便不会判断后面的条件了。这部分可以优化代码。

示例1:

a = "可乐"
if a == "可乐":
    print("可乐1")
elif a == "可乐":
    print("可乐2")
else:
    print("什么都不是")
-------------------------------------------------------------------
输出 ---> 可乐1 

示例2:

a = "可乐"
if a == "可乐":
    print("可乐1")
if a == "可乐":
    print("可乐2")
if a == "可乐":
    print("可乐3")
-------------------------------------------------------------------
输出 ---> 可乐1
输出 ---> 可乐2
输出 ---> 可乐3 

七、循环语句

python中循环包括while循环for循环
while循环:表示给定一个判断条件为True时, 进入循环体, 为False跳出循环体;
for循环:表示会重复的执行语句;
死循环:表示程序一直在循环体当中跳不出来。一定要避免死循环!!!

7.1 while循环

语法:

while 判断条件:
执行代码

示例:

a = 0
while a < 10: print(a) a += 1 ------------------------------------------------------------------- 输出 ---> 0-9 

7.2 for循环

语法:


① for iterating_var in iterable:
执行代码
② for iterating_var in range(start,stop,step)
执行代码

- start是开始数据
- stop是结束数据
- step是步长

示例1:

for i in [1, 2, 3]:
    print(i)
-------------------------------------------------------------------
输出 ---> 1~3 

示例2:

for i in range(1, 10, 2):
    print(i)
-------------------------------------------------------------------
输出 ---> 1 3 5 7 9 

7.3 循环控制语句

语法:

① break
② continue

说明:
- break会终止循环体,程序不再往下循环;
- continue结束本次循环,程序继续下一次的循环。
注意: 如果是嵌套循环, 那么break终止的是当前所在的循环体, 而不是整个循环嵌套体

示例1:

for i in [1, 2, 3]:
    for j in [4, 5, 6]:
        if j == 5:
            break
        print(j)
-------------------------------------------------------------------
输出 ---> 4 4 4
解释一下: 在程序中是一个循环嵌套, 当j==5时, 内层循环会终止进入外层循环的下一次循环。 

示例2:

for i in [1, 2, 3]:
    for j in [4, 5, 6]:
        if j == 5:
            continue
        print(j)
-------------------------------------------------------------------
输出 ---> 4 6 4 6 4 6
解释一下: 在程序中是一个循环嵌套, 当j==5时, 内层循环会跳出本次循环, 进入内层循环的下一次循环。 

到此我们在本篇中学习了python数据类型的常用方法,条件语句和循环语句。各位道友在学习过程中遇到疑问可以私聊可乐,可乐看到了都会一一回复的。

那么下一篇可乐将和大家看一下python当中的异常处理,函数和模块

按照惯例,可乐为各位道友准备了一个简单的题目来巩固本篇的内容:

变量 a = {"name": "可乐", "age": 18, "hello": "python"},现在要将 a 所有的 key 放入到 b列表 中,所有的 value 放到 c列表 中。
提示:利用字典的方法和循环结合,while和for都可以实现。

在下一篇中可乐会留下答案。

< END>


标签:

Python基础(中篇)的更多相关文章

  1. python中altair可视化库实例用法

    作为六大python可视化库,基本上学会都是可以通吃任何领域的存在,本章要给大家介绍的Altair就是其中之一的可视化库,能够将数据转化为非常直观的图片,让我们更加清晰的认知数据之前直观的联系,俨然已经成为可视化库中的新星,好啦,下面就让我们详细了解下这个荣获众多粉丝的可视化库的使用技巧吧。安装Al......

  2. python中编写函数并调用的知识点总结

    能够调用自己编写的函数,这在很多开发语言中,都会用到一个叫做mian的主函数,这个函数一般都是程序的入口,当程序启动时,首先执行这个函数。在Python中,main函数的主要作用就是你写的模块既可以导入到别的模块中用,也可以在模块本身执行使用。下面就来了解具体使用操作吧。编写简单的函数并调用:def......

  3. Python读取pdf表格写入excel的方法

    背景今天突然想到之前被要求做同性质银行的数据分析。妈耶!十几个银行,每个银行近5年的财务数据,而且财务报表一般都是 pdf 的,我们将 pdf 中表的数据一个个的拷贝到 excel 中,再借助 excel 去进行求和求平均等聚合函数操作,完事了还得把求出来的结果再统一 CV 到另一张表中,进行可视化......

  4. 将不规则的Python多维数组拉平到一维的方法实现

    原始需求:例如有一个列表:l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]希望把它转换成下面这种形式:[1, 2, 3, 4, 5, 6, 7, 8, 9]其实这个非常简单,我将分享三个一行式代码来解决这个问题。但如果是下面这种不规则的多维列表:l = [[1, 2], [......

  5. Python 字符串去除空格的五种方法

    在处理Python代码字符串的时候,我们常会遇到要去除空格的情况,所以就总结了多种方法供大家参考。1、strip()方法去除字符串开头或者结尾的空格str = " Hello world "str.strip()输出:"Hello world"2、lstrip......

  6. 利用Python函数实现一个万历表完整示例

    前言大家可以根据格式化打印字符去调一下最后的输出,不过有中文好像不好调整,可以换成星期的单词,这样应该会好一点,format()函数可以用来格式化打印字符,format()可以使用字符串去调用,也可以独自使用。可以点进格式化打印字符了解一下哦示例代码# 判断是否闰年def isleap(year):......

  7. Python抓取淘宝IP地址数据

    def fetch(ip):url = 'http://ip.taobao.com/service/getIpInfo.php?ip=' + ipresult = []try:response = urllib.urlopen(url).read()jsondata = json.loads(res......

  8. python asyncio 协程库的使用

    asyncio 是 python 力推多年的携程库,与其 线程库 相得益彰,更轻量,并且协程可以访问同一进程中的变量,不需要进程间通信来传递数据,所以使用起来非常顺手。asyncio 官方文档写的非常简练和有效,半小时内可以学习和测试完,下面为我的一段 HelloWrold,感觉可以更快速的帮你认识......

  9. 解决python3 中的np.load编码问题

    由于在Python2 中的默认编码为ASCII,但是在Python3中的默认编码为UTF-8。问题:所以在使用np.load(det.npy)的时候会出现错误提示:you may need to pass the encoding= option to numpy.load解决方法:当遇到这种情况的......

  10. Python 3的f-Strings:增强的字符串格式语法(指南)

    最近也在一个视频网站的爬虫,项目已经完成,中间有不少需要总结的经验。从Python 3.6开始,f-Strings是格式化字符串的一种很棒的新方法。与其他格式化方式相比,它们不仅更具可读性,更简洁且不易出错,而且速度更快!Python中的“老式”字符串格式化在Python 3.6之前,你有两种主要的......

随机推荐

  1. Java中ArrayList集合的常用方法大全

    ArrayList集合的创建非泛型创建ArrayList集合对象,可以添加任意Object子类元素至集合//非泛型创建的ArrayList集合对象可以保存任何类型的值ArrayList list = new ArrayList();list.add("str");//存入Stri......

  2. 解决python3 中的np.load编码问题

    由于在Python2 中的默认编码为ASCII,但是在Python3中的默认编码为UTF-8。问题:所以在使用np.load(det.npy)的时候会出现错误提示:you may need to pass the encoding= option to numpy.load解决方法:当遇到这种情况的......

  3. PostgreSQL 慢查询SQL跟踪操作

    PostgreSQL 开启慢SQL捕获在排查问题时是个很有效的手段。根据慢SQL让我在工作中真正解决了实际问题,很有帮助。PostgreSQL 日志支持的输出格式有 stderr(默认)、csvlog 、syslog一般的错误跟踪,只需在配置文件 【postgresql.conf】简单设置几个参数,......

  4. SQL注入语句

    1、返回的是连接的数据库名and db_name()>02、作用是获取连接用户名and user>03、将数据库备份到Web目录下面;backup database 数据库名 to disk='c:\inetpub\wwwroot\1.db';--4、显示SQL系统版本and 1=(se......

  5. JavaScript实现浏览器网页自动滚动并点击的示例代码

    1. 打开浏览器控制台窗口JavaScript通常是作为开发Web页面的脚本语言,本文介绍的JavaScript代码均运行在指定网站的控制台窗口。一般浏览器的开发者窗口都可以通过在当前网页界面按F12快捷键调出,然后在上面的标签栏找到Console点击就是控制台窗口,在这里可以直接执行JavaScr......

  6. Vue+node实现音频录制播放功能

    实现效果:主要实现代码逻辑部分,具体页面结构就不一一介绍了。vue部分:安装recorderxcnpm install recorderx --save 或者npm install recorderx --save在具体的组件中引入<script>import axios from &q......

  7. 说说C# 8.0 新增功能Index和Range的^0是什么?

    前言在《C# 8.0 中使用 Index 和 Range》这篇中有人提出^0是什么意思?处于好奇就去试了,结果抛出异常。查看官方文档说^0索引与 sequence[sequence.Length] 相同,表达式 sequence[^0] 不会引发异常,就像 sequence[sequence.Len......

  8. ASP.NET Core错误处理中间件[4]: 响应状态码错误页面

    StatusCodePagesMiddleware中间件与ExceptionHandlerMiddleware中间件类似,它们都是在后续请求处理过程中“出错”的情况下利用一个错误处理器来接收针对当前请求的处理。它们之间的差异在于对“错误”的认定上:ExceptionHandlerMiddleware......

  9. C#通过NI-VISA操作Tektronix TBS 2000B系列示波器

    一、概述本文描述采用C#语言访问控制Tektronix TBS 2000B 系列示波器。接口协议采用NI-VISA。最近一个项目需要和一款示波器进行通信,需要对示波器进行一些简单控制并获取到波形数据。经过一段时间研究,大致了解了相关操作,因为发现相关资料不是很多,所以把我了解的相关知识和大家分享一下......

  10. Winform 窗体自适应

    前言在使用 Winform 开发过程中,经常发些因为显示器分辨率、窗体大小改变,控件却不能自适应变化,几经查找资料,和大佬的代码。经过细小修改,终于可以让窗体在外界影响下,窗体内背景图片、控件都会自适应变化大小(类似于网页的响应式)。代码完整代码如下:using System;using Syste......