Python基础知识(3)

简介:  1:字符串类型转换 1 num = 1002 3 num2 = "100"4 5 #num是整数类型的值,num2是字符串类型的值,如果把他们两个的类型转换下呢?6 7 int(num2) #int 整形成整数8 9 str(num) #转换成字符串2:组成字符...

 

 

1:字符串类型转换

 

1 num = 100
2 
3 num2 = "100"
4 
5 #num是整数类型的值,num2是字符串类型的值,如果把他们两个的类型转换下呢?
6 
7 int(num2)  #int 整形成整数
8 
9 str(num)  #转换成字符串

2:组成字符串的两种方式

 1 #This One
 2 
 3 a = "lao"
 4 b = "wang"
 5 c = "zhao"
 6 
 7 #如果我们想打印 “laozhao”和“laowang”改如何打印
 8 
 9 d = a + b   #这样打印d的结果是:laowang
10 e = a + c   #这样打印e的结果是:laozhao
11 
12 #如果我们想打印 “===laowang===”
13 
14 f = "===" + a + b + "==="
15 
16 #这样是不是很麻烦
17 
18 #This Two 我们试试第二种方法
19 
20 g = "===%s==="%(a+b)

 3:字符串中的下标

 字符串的下标是什么呢?就像我们去坐火车每一节车厢的座位号,这个及就类似于我们的下标

我们定义一个字符串,name = “ABCEDF” , 里面的adcdef就类似于座位号,每一个字符都有一个下标,注意Python的下标是从0开始计算的,我们来看

中括号里面的数值,我们称之为下标

 

如果你想打印一个变量里面的最后一个字符,那请问你如何获取变量里一共写了多少字符?

len :测试长度

比如 : 测试name的变量      len(name)

如何获取变量中最后一个字符呢?

name[-1]  

 4:切片、字符串的逆序

切片:取一片内容。就像一块羊肉,切一片的意思。

 

注意:切片的取值,取不到截至点的值,只能取到截至点前的一位数字

如果你冒号后面没有写截至点的话,那就默认显示后面所有的字符,我们来试试

如果我们想从第二个数字取到倒数第二个数字,我们应该如何操作?

 假如我想取  name = "abcdefABCDEF" 中 ceACE我该如何操作,就是我跳着取值该如何操作?

语法为 :name[起始位置:终止位置:步长]

我们在来说说逆序,也就是倒序

上面的方法也可以写成:

我怎么去判断,冒号前面是从左边开始切片,还是右边呢?就看后面的步长,如果是 -1的话,冒号的左边变成了右边,而冒号的右边变成了字符串的最左边。

 

5:字符串的常见操作

find : 查找

比如:我们写一个字符串

6是什么意思呢 ? 指查找的内容在字符串的第几位,从0开始world的w是在6位

我输入错误的时候,为什么程序也会显示出来。如果找到了就会显示出位置数,如果不是,那就显示-1,找不到信息就显示 -1.

运行find的时候,找的顺序就是从左边开始找,那如果我们想从右边也就是后面开始找的话, 那我们该怎么写?

index也是索引的意思,也可以用来查找,但是唯一不同的是,find查找不到也会返回信息,index查找不到无法返回信息。除了找不到的时候功能显示不一样,其他的都一样。

   count:查看在字符串中该字符一共出现几次

  

  replace:替换字符串中的字符。相当于replace的返回值,愿字符串不变

 

我们再来试一次

 那如果我们只想修改一个呢?,后面的1表示个数,你想修改的个数是几。

 

 split:切割 

  我们把name变量里面的字符串用split来分割,按照空格来切割

capitalize:把字符串的第一个字符大写

title:把所有字符串的首字母大写

startswith:检查输入的信息是否与字符串的开头相同,如果相同就返回True,如果不是就返回False

endwhith:检查输入的信息是否与字符串的末尾相同,如果相同就返回True,如果不是就返回False

 

lower:把字符串中所有的大写字符串成小写

upper:把字符串中所有的小写字符串成大写

 

 

ljust:靠左居中

rjust:靠右居中

 

center:居中显示,居中的长度用户自己定义,center(50),前后各50

 

lstrip:删除左边的空白字符

rstrip:删除右边的空白字符

strip:删除两端的空白字符

 

rfind:类似于find()函数,不过是从右边开始查找

rindex:类似于index()函数,不过是从右边开始查找 

partition:讲字myStr字符串中的,willam前,willam,和willam后分为三段显示出来

可以自己尝试在里面放置两个同样的字符,用partition和rpartition来看看什么效果

 

 splitlines:按照行分隔,返回一个包含各行作为元素的列表

isalpha:判断是否为字母

isdigit:判断是否为数字

isalnum:判断是否为字母和数字

 isspace:判断是不是纯空格,如果是返回True,如果不是返回False

join:构建一个新的字符串

 6:列表

如果我们想把公司的任意一个人定义成一个变量,是没问题的,那我们想把每个部门的每个人都定义呢,也可以这样做,那会比较麻烦,这样用列表就比较简单了

 

 那我们应该如何对列表进行 增删改查?

我们先来说添加一个名字到列表里

语法 : append

那如果我们想在指定位置插入一个名字呢?

语法:insert。前面的0代表你想插入的位置,后面的威廉,代表你想插入的姓名

append和insert的区别是一个只能在最后插入字符,一个是可以在任何位置插入字符

我们再说一个插入字符的方法

还有没有其他办法 ?

语法:extend

我们再来说说如果删除列表的内容

pop():删除列表中的最后一个,把列表中的最后一个字符拿出来,相当于删除

如果我们想删除里面的任意一个名字的时候,我们该如何操作?

语法:remove。根据内容来删除

还有一种方法和remove差不多。

语法:del。根据下标来删除

说完删除我们在来说说如何更改内容

如果我们进行查询的话,该怎么操作

语法:in  或  not in

 7:字典

什么是字典?字典其实和变量和列表都是一样的,来存储内容,只不过语法不一样

字典是: infor = {键:值,键:值,键:值}

 字典如何增删改查呢?

1、增加一个Key:Value

#先定义一个字典
infor = {'name':'willam','age':18,'addr':'Henan'}
 
 infor
{'name': 'willam', 'age': 18, 'addr': 'Henan'}
 
#下面的命令事进行添加一个值
infor['QQ'] = 10086 
infor
{'name': 'willam', 'age': 18, 'addr': 'Henan', 'QQ': 10086}
 

2、修改字典的信息

 infor
{'name': 'willam', 'age': 18, 'addr': 'Henan', 'QQ': 10086}
#字典里面已经有一个QQ信息了,我们再来输入一个试试
 infor['QQ'] = 10010
 infor
{'name': 'willam', 'age': 18, 'addr': 'Henan', 'QQ': 10010}
#如果字典里面已经存在你要添加的值,会变成修改字典内该值

3、删除字典信息

 infor
{'name': 'willam', 'age': 18, 'addr': 'Henan', 'QQ': 10010}
 
#del 删除字典内信息,我们先来删除QQ看看效果
 del infor['QQ']
 
 infor
{'name': 'willam', 'age': 18, 'addr': 'Henan'}

#再次查看字典,QQ已经没了,我们想再次删除QQ试试。报错了,如果字典内没有你想删除的信息,就会报错
 del infor['QQ']
Traceback (most recent call last):
  File "<pyshell#47>", line 1, in <module>
    del infor['QQ']
KeyError: 'QQ'

4、查询字典信息

 infor
{'name': 'willam', 'age': 18, 'addr': 'Henan'}
 
 #和列表差不多,我们根据字典内的key来进行查找信息
 infor['name']
'willam'
 infor['age']
18
#但是如果我们输入的值没有的话,他就会报错,怎样查看这个值是否存在在字典内而不报错呢?
 infor['QQ']
Traceback (most recent call last):
  File "<pyshell#56>", line 1, in <module>
    infor['QQ']
KeyError: 'QQ'
#这样写就不会报错了
infor.get('QQ')
 
 infor.get('name')
'willam'
 infor.get('age')
18
 

字典的增删改查:

#增加

xxx['Key'] = Value

#删除

del xxx['key']

#修改

xxx[已存在的key] = new_value

#查询

xxx.get('key')

8、While、For循环遍历列表

#while 循环遍历
num = [11,22,33,44,55]

i = 0

while i<5:
       print(num[i])
       i += 1

#for 循环遍历

num = [11,22,33,44,55]

for temp in num:
    print(temp)

#如果num里面包含很多很多的数值的时候,我们可以这样操作

num = [11,22,33,44,55,66,77,88,99,10,111,222,333,444,555]

i = 0

temp_num = len(num)

while i<temp_num:
    print(num[i])
    i += 1

9、for-else的应用

card_name = [{'name':'老王','age':18,'addr':'河南'},{'name':'老李','age':20,'addr':'河南'}]



find_name = input("请输入你需要查找的姓名:")

for temp in card_name:
    if temp['name'] == find_name:
        print("找到了...")
        break
else:
    print("查无此人")

10、列表的append、extend区别

#extend
a = [11,22,33]
b = [44,55]

a.extend(b)

print(a)

[11, 22, 33, 44, 55]

#append
a = [11,22,33]
b = [44,55]

a.append(b)

print(a)

[11, 22, 33, [44, 55]]

#append是把整个列表都添加进去,而extend是把列表里的值一个一个的添加进去,所以要区分开来。一个事整体添加,一个是合并。

 11、字典的常见操作、遍历

 1 infor = {'name':'willam','age':18,'addr':'Henan'}
 2 
 3 #我们使用xxx.keys()可以查看字典内包含了多少key
 4 
 5 infor.keys()
 6 dict_keys(['name', 'age', 'addr'])
 7 
 8 #同样的方式,我们也可以进行value的查询
 9 
10 infor.values()
11 dict_values(['willam', 18, 'Henan'])
12 
13 #我们也可以使用if进行查询有没有该信息,当然infor.get('')也是可以的
14 
15  
16  if 'qq' in infor.keys():
17     print("有QQ信息")
18 
19     
20  if 'name' in infor.keys():
21     print("有name信息")
22 
23     
24 有name信息
25  if 18 in infor.values():
26     print("")
27 
28     
29 30 
31 #我们可以用以下命令来查看infor字典内所有的key
32 for temp in infor.keys():
33     print(temp)
34 
35     
36 name
37 age
38 addr
39 #用一下命令来查看infor字典内所有的value
40 for temp in infor.values():
41     print(temp)
42 
43     
44 willam
45 18
46 Henan
47 #items查看字典内所有的key和value,注意输出的结果是元祖
48  infor.items()
49 dict_items([('name', 'willam'), ('age', 18), ('addr', 'Henan')])
50 
51  for temp in infor.items():
52     print(temp)
53 
54     
55 ('name', 'willam')
56 ('age', 18)
57 ('addr', 'Henan')
58 #这样写更美观点
59  for temp in infor.items():
60     print('key=%s,value=%s'%(temp[0],temp[1]))
61 
62     
63 key=name,value=willam
64 key=age,value=18
65 key=addr,value=Henan
66  
67 #下列的操作是:拆包,把元祖内的值拆开分给c,d
68  a = (11,22)
69  
70  b = a
71  
72  b
73 (11, 22)
74  
75  c,d = a  #先计算等号右边,a的值第一个分配给左边的c,第二个分配给左边的d,依次往后推,这种方式叫作 拆包
76  
77  c
78 11
79  d
80 22
81 #我们再来修改下上面的items去里面的值
82 
83  for A,B in infor.items():
84     print("key=%s,value=%s"%(A,B))
85 
86     
87 key=name,value=willam
88 key=age,value=18
89 key=addr,value=Henan
View Code

 

目录
相关文章
|
6月前
|
消息中间件 分布式计算 监控
Python面试:消息队列(RabbitMQ、Kafka)基础知识与应用
【4月更文挑战第18天】本文探讨了Python面试中RabbitMQ与Kafka的常见问题和易错点,包括两者的基础概念、特性对比、Python客户端使用、消息队列应用场景及消息可靠性保证。重点讲解了消息丢失与重复的避免策略,并提供了实战代码示例,帮助读者提升在分布式系统中使用消息队列的能力。
200 2
|
6月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据分析入门:基础知识与必备工具
【4月更文挑战第12天】Python是大数据时代数据分析的热门语言,以其简单易学和丰富库资源备受青睐。本文介绍了Python数据分析基础,包括Python语言特点、数据分析概念及其优势。重点讲解了NumPy、Pandas、Matplotlib、Seaborn和Scikit-learn等必备工具,它们分别用于数值计算、数据处理、可视化和机器学习。此外,还概述了数据分析基本流程,从数据获取到结果展示。掌握这些知识和工具,有助于初学者快速入门Python数据分析。
129 2
|
5月前
|
设计模式 开发者 Python
探索Python中的异步编程:从基础知识到实践应用
【6月更文挑战第6天】本文旨在深入探讨Python中的异步编程概念,包括其背后的原理、常用的库和框架以及如何在实际项目中应用这些知识。文章将通过具体的代码示例和场景分析,帮助读者理解异步编程在提升程序性能和处理并发任务中的重要性。
|
4月前
|
存储 人工智能 数据挖掘
十分钟学习Python基础知识
Python是一种高效、易学且功能强大的编程语言,广泛应用于数据分析、人工智能、Web开发等领域。如果你是编程新手,想要快速入门Python,那么这篇文章将是你的最佳选择。我将在十分钟内带你了解Python的基础知识。
|
5月前
|
索引 Python
Python考试基础知识
Python考试基础知识
|
5月前
|
关系型数据库 MySQL 数据库
探索Python中的异步编程:从基础知识到高级应用
【6月更文挑战第8天】随着技术的进步,异步编程已经成为现代软件开发中不可或缺的一部分。本文将深入探讨Python中的异步编程,包括其基础知识、常用库和框架,以及一些高级应用。我们将通过实例来展示如何有效地使用异步编程来提高程序的性能和响应性。无论你是初学者还是经验丰富的开发者,这篇文章都会为你提供有价值的见解和技巧。
53 2
|
5月前
|
存储 关系型数据库 API
探索Python中的异步编程:从基础知识到实际应用
【6月更文挑战第6天】在本文中,我们将深入探讨Python中的异步编程,这是一种强大的编程技术,可以帮助我们更有效地处理并发任务。我们将从基础知识开始,然后逐步深入到实际应用,包括异步I/O操作、异步Web请求和异步数据库操作等。最后,我们将通过一个实际的项目案例,展示如何在Python中使用异步编程来提高程序的性能和效率。
|
5月前
|
JavaScript 前端开发 Java
python的入门基础知识和一些小技巧
python的入门基础知识和一些小技巧
30 0
|
5月前
|
算法 Python
Python基础教程(第3版)中文版 第一章 快速上手:基础知识(笔记)
Python基础教程(第3版)中文版 第一章 快速上手:基础知识(笔记)
|
6月前
|
Java 程序员 Python
Python基础知识主要包括其**语法规则、数据类型、控制结构以及函数和模块**等
【4月更文挑战第15天】Python基础知识主要包括其**语法规则、数据类型、控制结构以及函数和模块**等
54 11