1.注释

  • 单行注释 :以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用
# 我是注释,可以在里写一些功能说明之类的哦
print('hello world')
  • 多行注释 :以三个单引号’’‘开头,三个单引号’’'结尾,注释内容放在中间
'''
我是多行注释,
可以写很多很多行的功能说明
'''
print('hello world')

2.变量及类型

变量可以是任意的数据类型,在程序中用一个变量名表示

变量名必须是大小写英文、数字、下划线组成,且不能以数字开头

a = 1 # 变量a是一个整数
test_007 = 'Test_007' # 变量test_007是一个字符串

赋值:例如 a= “ABC”,Python解释器干了两件事

  • 在内存中创建了一个"ABC"的字符串
  • 在内存中创建一个名为a的变量,并把它指向"ABC"

3.关键字(标识符)

1.什么是关键字?

Python一些具有特殊功能的标示符,就是所谓的关键字,Python已经使用了,所以不允许开发者自己定义和关键字相同名字的标示符

2.查看关键字

>>> import keyword
>>> keyword.kwlist

3.关键字

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

4.格式化输出

1.什么是格式化?

看如下代码:

age = 10
print("我今年%d岁"%age)age = 18
name = "xiaohua"
print("我的姓名是%s,年龄是%d"%(name,age))

在程序中,看到了 % 这样的操作符,这就是Python中格式化输出

2.常用的格式符号

格式符号 转换含义
%c 字符
%s 通过str()字符串转换来格式化
%i 有符号十进制整数
%d 有符号十进制整数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写字母)
%X 十六进制整数(大写字母)
%e 索引符号(小写e)
%E 索引符号(大写E)
%f 浮点实数
%g %f和%e的简写
%G %f和%E的简写

3.特殊的输出

代码示例:

print("aaa","bbb","ccc") # 打印输出,值之间空格隔开且不换行
print("www","baidu","com",sep=".") # 打印输出,值之间用点连接且不换行
print("hello",end="")# 打印输出,值之间不分开开且不换行
print("world",end="\t") # 打印输出,值之间用一个制表符隔开且不换行
print("python",end="\n") # 打印输出,值之间用一个换行隔开
print("end")

运行结果:

aaa bbb ccc
www.baidu.com
helloworld  python
end

4.换行输出

在输出的时候,如果有 \n 那么,此时 \n 后的内容会在另外一行显示

print("1234567890-------") # 会在一行显示
print("1234567890\n-------") # 一行显示1234567890,另外一行显示-------

5.输入

input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示

input()在从键盘获取了数据以后,会存放到等号左边的变量中

password = input("请输入密码:")
print('您刚刚输入的密码是:', password)

运行结果:

请输入密码!123456
你输入的密码是: 123456

注意:input()函数接受的输入必须是表达式

6.判断变量名类型

type()函数中的小括号中放入变量名,返回变量名的类型

a=100
print(type(a))

运行结果:

<class 'int'>

7.运算符







8.流程控制语句

1.条件判断语句

if分支语句:

语法格式:

if 要判断的条件:# 执行语句

代码示例:

age = 30
print "------if判断开始------"
if age>=18:print "我已经成年了"print "------if判断结束------"
if-else双分支语句:

语法格式:

if 要判断的条件:# 执行语句1
else:# 执行语句2

代码示例:

if True:print ("Answer")print ("True")
else:print ("Answer")print ("False") # 缩进不一致,会导致运行错误
多分支if-elif-else语句:

语法格式:

if 表达式1:# 执行语句1
elif 表达式2:# 执行语句2
elif 表达式3:# 执行语句3
elif 表达式n:# 执行语句n
else :# 执行语句n+1

代码示例:

score = 77
if score>=90 and score<=100:print('本次考试,等级为A')
elif score>=80 and score<90:print('本次考试,等级为B')
elif score>=70 and score<80:print('本次考试,等级为C')
elif score>=60 and score<70:print('本次考试,等级为D')
else: #elif可以else一起使用print('本次考试,等级为E')
if嵌套:

语法格式:

if 表达式1:# 执行语句1...(省略)...if 表达式2:# 执行语句2...(省略)...

代码示例:

xingBie = 1 # 用1代表男生,0代表女生
danShen = 1 # 用1代表单身,0代表有男/女朋友
if xingBie == 1:print("是男生")if danShen == 1:print("我给你介绍一个吧?")else:print("你给我介绍一个呗?")
else:print("你是女生")print("……")

注意

  • 外层的if判断,也可以是if-else
  • 内层的if判断,也可以是if-else
  • 根据实际开发的情况,进行选择

2.循环语句

for循环

语法格式:

for 临时变量 in 列表或者字符串等:# 循环满足条件时执行的代码

代码示例:

# 从[0,5)区间,从0开始,到5结束,默认步进值为1,取数
for i in range(5): print(i)
# 循环输出变量名的值
name = 'chengdu'
for x in name:print(x)
# 从[0,10)区间,从0开始,到12结束,以步进值为3取值
for a in range(0,12,3):print(a)
# 从数组中取出元素
a = ["aa","bb","cc","dd"]
for i in range(len(a)):print(i,a[i])
while循环

语法格式:

while 表达式:# 执行语句

代码示例:

i = 0
while i<5:print("当前是第%d次执行循环"%(i+1))print("i=%d"%i)i+=1
while-else循环

语法格式:

while 表达式:# 执行语句1
else:# 执行语句2

代码示例:

count = 0
while count<5:print(count,"小于5")count+=1else:print(count,"大于或等于5")

练习:

1.计算1~100的和(包含1和100)

# 方式一:
n= 100
a=1
sum = 0
while a<=n:print("第%d执行相加"%a)sum = sum + aa+=1
print("1到%d的和为:%d"%(n,sum))
# 方式二:
i=1;
n=101
sum = 0;
for i in range(i,n,1):sum = sum + i
print("%d到%d的和为:%d"%(i-99,n-1,sum))

2.打印九九乘法表

# 方式一:
a=1
while a< 9:a = a + 1b = 1while b<=a :print("%dx%d=%d"%(b,a,a*b),end="  ")b = b+1print("",end="\n")
# 方式二:
for i in range(1,10):# print(i,end = ' ')for j in range(1,i+1):print('%s*%s=%s' %(i,j,i*j),end = ' ')print()

9.break、continue和pass语句

  • break语句可以跳出for和while的循环体
i = 0
while i<10:i = i+1print('----')if i==5:breakprint("当前i的值为%d"%i)
print(i)
  • continue语句跳过当前循环,直接进入下一轮循环
i = 0
while i<10:i = i+1print('----')if i==5:continueprint("当前i的值为%d"%i)
print(i)
  • pass是空语句,一般用作占位语句,不做任何事情

10.转义字符

转义字符 描述
\ 反斜杠符号
单引号
" 双引号
\a 响铃
\b 退格
\000
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy 代表的字符,例如:\o12 代表换行,其中 o 是字母,不是数字 0
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

11.import 与 from…import

在Python用import 或者 from…import 来导入相应的库或者模块

将整个模块(somemodule)导入,格式为:

import somedule

从某个模块中导入某个函数,格式为:

from somemodule import somefunction

从某个模块中导入多个函数,格式为:

from somemodule import firstfunc, secondfunc,thirdfunc

将某个模块中的全部函数导入,格式为:

from somemodule import \*

代码示例:

import random # 引入随即库
a = random.randint(0,2) #随机生成0、1、2中的一个数字,赋值给变量a

练习题

使用if语句的相关知识 ,实现石头剪子布游戏效果

请输入:剪刀(0)、石头(1)、布(2):_

用户输入数字0-2中的一个数字,与系统随机生成的数字比较后给出结果信息

代码示例:

# 方式一:
import random
a = input("游戏参与者出招")
print("游戏参与者输入的是: %s",a)1
b = random.randint(0,2)
print(b)
if a=="石头" or a=="剪刀" or a=="布":print("你输入的正确!")if a=="剪刀":a = 0elif a=="石头":a = 1elif a == "布":a = 2if a>b:print("参与者胜")elif a=b:print("平局")else:print("机器人胜")
else:print("你输入的有误,请按要求输入")# 方式二:
import random
person =int(input("please enter:[0:剪刀1:石头2:布] "))
computer = random.randint(0,2)
print("电脑出拳: %d"%computer)
if person > 2:print("enter wrong")
elif person == 0 and computer ==2:print("good you win ")
elif person == 1 and computer  == 0:print("good you win ")
elif person == 2 and computer == 1:print("good you win")
elif person == computer :print("oh no 平手")
else:print("your lose")

12.python的核心数据类型

1.字符串

1.字符串格式

Python中的字符串可以使用单引号、双引号和三引号(三个单引号或三个双引号)括起来,表示一个字符串

# 方式一:
word = '字符串'
# 方式二:
sentence = "则会是一个句子"
# 方式三:
parapraph = """想没有用,要实际操作!
"""
print(word)
print(sentence)
print(parapraph)
2.字符串的方法
序号 方法 描述
1 capitalize() 将字符串的第一个字符转换为大写
2 center(width, fillchar) 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
3 count(str, beg= 0,end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end指定则返回指定范围内 str 出现的次数
4 bytes.decode(encoding=“utf-8”, errors=“strict”) Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由str.encode() 来编码返回。
5 encode(encoding=‘UTF-8’,errors=‘strict’) 以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace
6 endswith(suffix, beg=0, end=len(string)) 检查字符串是否以 obj 结束,如果beg 或者 end指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False
7 expandtabs(tabsize=8) 把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是8
8 find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
9 index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在字符串中会报一个异常
10 isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回False
11 isalpha() 如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
12 isdigit() 如果字符串只包含数字则返回 True 否则返回 False…
13 islower() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
14 isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False
15 isspace() 如果字符串中只包含空白,则返回 True,否则返回 Fals
16 istitle() 如果字符串是标题化的(见 title())则返回 True,否则返回 False
17 isupper() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字 符都是大写,则返回 True,否则返回 False
18 join(seq) 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
19 len(string) 返回字符串长度
20 [ljust(width, fillchar]) 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
21 lower() 转换字符串中所有大写字符为小写
22 lstrip() 截掉字符串左边的空格或指定字符
23 ITmaketrans() 创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
24 max(str) 返回字符串 str 中最大的字母
25 min(str) 返回字符串 str 中最小的字母
26 [replace(old, new , max]) 把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次
27 rfind(str,beg=0,end=len(string)) 类似于 find()函数,不过是从右边开始查找
28 rindex( str, beg=0, end=len(string)) 类似于 index(),不过是从右边开始
29 [rjust(width, fillchar]) 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度width 的新字符串
30 rstrip() 删除字符串字符串末尾的空格
31 split(str="", num=string.count(str)) num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
32 [splitlines(keepends]) 按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
33 startswith(substr, beg=0,end=len(string)) 检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查
34 [strip(chars]) 在字符串上执行 lstrip()和 rstrip()
35 swapcase() 将字符串中大写转换为小写,小写转换为大写
36 title() 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见istitle())
37 translate(table, deletechars="") 根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要 过滤掉的字符放到 deletechars 参数中
38 upper() 转换字符串中的小写字母为大写
39 zfill (width) 返回长度为 width 的字符串,原字符串右对齐,前面填充0
40 isdecimal() 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false

代码示例:

str='chengdu'
print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:5]) # 输出从第三个开始到第五个的字符
print(str[2:]) # 输出从第三个开始后的所有字符
print(str * 2) # 输出字符串两次
print(str + '你好') # 连接字符串
print(str[:5]) # 输出第五个字母前的所有字符
print(str[0:7:2]) # [起始:终止:步长]
print('------------------------------')
print('hello\nchengdu') # 使用反斜杠(\)+n转义特殊字符
print(r'hello\npython') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义

2.List ( 列表 )

1.列表的定义
变量名 = [元素1,元素2,元素3,....]

代码示例:

# 列表的定义
namesList = ['xiaoWang','xiaoZhang','xiaoHua']
# 通过索引取出列表中的元素
print(namesList[0])
print(namesList[1])
print(namesList[2])
# 通过for循环取出列表中的元素
for name in namesList:print(name)
2.列表的注意事项:
  • 列表是写在方括号[]之间,元素之间用逗号分隔开
  • 列表索引值以0为开始值,-1为从末尾的开始位置
  • 列表中元素的类型可以不相同,它支持数字、字符串甚至可以包含列表(所谓的嵌套)
  • 列表可以使用+操作符进行拼接,使用*表示重复
3.列表的常用方法

注意:index代表索引,value代表元素

方法 操作名称 解释操作
list[index] 访问列表中的元素 通过下标直接访问列表中的元素
list[start​:end:length​] 列表的切片 使用[开始下标索引:结束下标索引 :步进值 ],注意范围区间是"左闭右开"
for i in list:print(i) 遍历列表元素 for循环
list.append(values) 【增】追加数据到列表中尾部 将新的元素值追加到当前列表中末尾位置
list.extend(list1) 【增】列表的追加 将其他列表的元素添加到当前列表中
list.insert(index,value) 【增】列表数据插入 根据给定索引指定位置插入元素
del list[index]
list.remove(value)
【删】列表的删除 del :我们通过索引删除指定位置的元素。
remove:移除列表中指定值的第一个匹配值。如果没找到的话,会抛异常
list.pop() 【删】弹出列表尾部元素 弹出当前列表尾部元素,相当于删除元素
list[index] = 8 【改】更新列表中的数据 通过下标修改指定元素
value in list
value not in list
【查】列表成员关系 in
not in
list.index(value,start,end) 【查】列表成员关系 查找列表中是否存在指定的元素,存在返回元素的下标,找不到则报错,注意范围区间是"左闭右开"
list.count(value) 【查】查找元素出现次数 统计指定元素在当前列表中出现的次数
list3 = list1 +list2 列表的加法操作 +
list.sort() 【排】列表的排序 将当前列表元素进行排序
list.reverse() 【排】列表的反转 将列表所有元素进行反转
len() 获取列表长度 获取当前列表长度
max() 获取列表元素最大值 获取列表元素最大值
min() 获取列表元素最小值 获取列表元素最小值
list() 其他类型对象转换成列表 其他类型对象转换成列表

代码示例:

# -*- codeing = utf-8 -*-
# @Time :2020/9/14 20:08
# @Author:qzp
# @File : demo2-1.py
# @Software: PyCharm
# 列表定义
namelist = ["小张","小王","小李","qzp","wjw"]
print(namelist[0])
print(namelist[0:2:1]) # 列表切片
namelist.append("尾部") # 列表元素追加
list1 = ["list1"]
namelist.extend(list1) # 追加列表元素
namelist.insert(0,"王者") # 列表元素插入
for name in namelist:print(name)
del namelist[5] # 删除指定索引的元素
namelist.remove("qzp") # 删除指定元素
for name in namelist:print(name)
findName = input("请输入你想要查找的名字")
if findName in namelist: # 查找列表元素是否存在指定的元素print("恭喜你,找到你需要的姓名")
else:print("很遗憾,没有找到")
a = ["a","b","d","c","g","f"]
print(a.index("a", 0, 5)) # 查找列表中是否存在指定的元素,存在返回元素的下标,不存在则报错
a.reverse() # 将列表元素反转
print(a)
a.sort() # 将列表元素升序
print(a)
a.sort(reverse = Ture) # 将列表元素降序
print(len(a)) # 获取列表长度
4.列表嵌套

一个列表中的元素又是一个列表,就是列表嵌套,说白了,就是一个二维数组。

# 列表嵌套的定义:
schoolNames = [['北京大学','清华大学'],['南开大学','天津大学','天津师范大学'],['山东大学','中国海洋大学']]
# 列表嵌套取出元素
print(schoolNames[0][0])
5.应用练习:

一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配

代码示例:

#encoding=utf-8
import random
# 定义一个列表用来保存3个办公室
offices = [[],[],[]]
# 定义一个列表用来存储8位老师的名字
names = ['A','B','C','D','E','F','G','H']
i = 0
for name in names:index = random.randint(0,2)offices[index].append(name)
i = 1
for tempNames in offices:print('办公室%d的人数为:%d'%(i,len(tempNames)))i+=1for name in tempNames:print("%s"%name,end='')print("\n")print("-"*20)

3.Tuple ( 元组 )

1.元组的定义

tuple与list相似,不同之处在于tuple的元素写在小括号里,元素之间用逗号隔开。

  • 创建空元组
tupl = ()
# 判断类型
print(type(tup1))
# 运行结果:<class 'tuple'>
  • 元组的定义
tup2 = (50,) # 加逗号,类型为元组
print(type(tup2)) # 输出:<class 'tuple'>
tup3 = (50) # 不加逗号,类型为整型
print(type(tup3)) # 输出:<class 'int'>

注意:定义一个只有一个元素的tuple,必须加逗号

2.元组的访问
tup1 = ('Google', 'baidu', 2000, 2020)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])

运行结果:

tup1[0]:  Google
tup2[1:5]:  (2, 3, 4, 5)
3.元组的常用方法
方法 操作名称 解释操作
tuple[index] 访问元组中的元素 通过下标直接访问元组中的元素
for i in tuple:print(i) 遍历元组 for循环
tuple[start:end:length] 元组的切片 使用[开始下标索引:结束下标索引 :步进值 ],注意范围区间是"左闭右开"
value in tuple
value not in tuple
【查】元组成员关系 in not in
tuple.count(value) 【查】查找元素出现次数 统计指定元素在当前元组中出现的次数
tuple3 = tuple1+tuple2 元组的加法操作 元组的新增方法
len() 获取元组长度 获取元组列表长度
max() 获取元组元素最大值 获取元组元素最大值
min() 获取元组元素最小值 获取元组元素最小值
tuple() 其他类型对象转换成元组 其他类型对象转换成元组

代码示例:

# -*- codeing = utf-8 -*-
# @Time :2020/9/15 19:49
# @Author:qzp
# @File : deom2-4.py
# @Software: PyCharmtup1 = (1,2,3,4,5)
# 增
tup2 = ("qzp","wjw")
tup3 = tup1 + tup2 # 重新创建一个新的元组
print(tup3)
# 删
del tup3 # 删除整个元组变量,不仅仅删除元组里面的元素
print(tup3) # 删除之后,打印就会报错: name 'tup3' is not defined
# 查
print(tup1[0])
print(tup2[1])
# 改
tup1[0] = 100 # 报错,不允许修改

总结元组的注意事项

  • 定义一个只有一个元素的tuple,必须加逗号
  • 定义好的元组的元素不可修改,但可以包含对象,如list
  • 删除时,是删除整个元组,不是元组中的元素

4.dict ( 字典 )

1.字典的定义

字典是无序的对象集合,使用键值对(key-value)存储,具有极快的查找速度

# 变量info为字典类型
info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
2.字典的特点
  • 字典和列表一样,也能都存储多个数据
  • 字典的每个元素由2部分组成,键:值。例如 ‘name’:‘班长’ ,'name’为键,'班长’为值
  • 同一个字典中,键(key)必须是唯一的
  • 键(key)必须使用不可变类型
3.字典的访问
info = {'name':'qzp','age':24}
print(info['name']) # 获取名字
print(info['age']) # 获取年龄
print(info.get('sex')) # 获取不存在的key,获取到空的内容,返回none,不会出现异常
print(info.get('sex','男')) #通过key获取到空的内容,可以设置默认值来返回,获取不为空的内容,则返回获取的值

若访问不存在的主键,则会报如下的错误:

print(info['sex']) # 获取不存在的key,会发生异常
Traceback (most recent call last):File "C:/Users/Administrator/PycharmProjects/pythonProject/demo1.py", line 4, in <module>print(info['sex']) # 获取不存在的key,会发生异常
KeyError: 'sex'
4.字典常用的方法
方法 操作名称 解释方法
dict[key] 访问字典中的元素 通过key访问,key不存在会抛出异常
dict.get(key) 访问字典中的元素 通过get方法,不存在返回None,不抛出异常
for key in dict: print(key,dict[key]) 遍历字典 通过for循环,只能获取key,values需要使用dict[key]获取
for key,value in dict.items():print(key,value) 遍历字典 配合items方法,获取key和value
dict.keys()
dict.values()
dict.items()
获取所有key
获取所有value
获取所有的key-value
使用keys和values方法
dict[key] = newvalue 修改value 直接通过key来修改value
dict[newkey] = newvalue 新增键值对 直接新增
del dict[key] 删除字典元素 通过key删除字典元素
dict.pop(key) 弹出字典元素 通过key弹出字典元素
key in dict 判断key是否存在 in
dict.update(dict2) 合并字典
dict(zip(list1,list2)) 把列表转化成字典 把两个列表转为字典
dict2 = dict([[‘key1’,‘value1’]]) 把一个嵌套列表转为字典 把一个嵌套列表转为字典
dict.clear() 清除字典内的元素 清除字典内的元素

代码示例:

info = {'name':'qzp','age':'24','sex':'男'}
# 查
print(info['name']) # 根据主键获取值
print(info['age'])
print(info['sex'])
for i in info: # 遍历只能拿到主键print(i)
print(info.keys()) # 得到所有的主键列表:dict_keys(['name', 'age', 'sex'])
print(info.values()) #得到所有的值列表:dict_values(['qzp', '24', '男'])
print(info.items()) #得到所有的项列表dict_items([('name', 'qzp'), ('age', '24'), ('sex', '男')])
# 增
newId = input("请输入你加入的id")
info['id'] = newId
print("_"*20) # 打印分割线
print('新增后遍历字典元素')
for i in info:print(i,info[i])
# 删
# del
del info['id'] # 根据key删除相对应的value
print("删除后的遍历字典元素")
for i in info:print(i,info[i])
del info; # 删除字典
# clear :清除字典中的所有元素
info.clear(info);
# 改
info['name'] = 'wjw'
for i in info:print(i,info[i])
# 遍历
# 遍历所有的主键
for i in info.keys():print(i)
# 遍历所有的值
for i in info.values():print(i)
# 遍历所有的key-value
for key,value in info.items():print(key,value)

注意:补充知识

myList = ['a','b','c','d','e','f']
for i,x in enumerate(myList): # 使用枚举函数,同时获取列表中的下标索引和下标对应的元素print(i+1,x)

5.set ( 集合 )

1.集合定义

set是一组key的集合,但不存储value

  • 创建一个空集合
myset = set()
  • 定义一个集合
myset = set([1,2,3])
print(type(myset)) #输出结果:<class 'set'>
print(myset) # 输出结果:{1, 2, 3}
2.set的特点
  • 一组key的集合,但不存储value
  • key不可以重复
  • set是无序的,重复的元素会被自动过滤
3.set常用方法
方法 操作名称 解释操作
for i in myset:print(i) 遍历集合 通过for循环遍历集合中的元素
myset.update(set1) 更新集合 将其他集合中的元素追加到当前集合中
myset.add(key) 添加元素 向当前集合中添加元素
myset.remove(key) 删除元素 移除当前集合中存在的元素,key不存在会报错
val = myset.pop() 弹出元素 随机弹出当前集合中的一个元素,val代表被弹出的元素
myset.clear() 清除元素 清除当前集合的所有元素
del myset 删除集合 删除整个集合
len() 长度 获取集合长度
max() 最大值 获取集合最大的元素
min() 最小值 获取集合最小的元素
set() 转换 其他类型对象转换成集合

代码实例

myset = set([1,2,3])
print(type(myset))
print(myset)#增
set1 = set(['qzp','wjw'])
myset.update(set1)
print(myset)myset.add('wangze')
print(myset)# 删
myset.remove('wangze')
print(myset)val = myset.pop()
print(val)
print(myset)print(myset.clear())
del myset

6.总结

数据类型 是否有序 是否可变类型
列表[ ] 有序 可变类型
元组( ) 有序 不可变类型
字典{ } 无序 key不可变 value可变
集合{ } 无序 可变类型(不重复)

Python基本语法,让我们轻松入门学习Python!相关推荐

  1. 零基础学python pdf-笔记《零基础入门学习Python(第2版)》PDF+课件+代码分析

    通过自学编程,感觉到基础知识很重要,越到后面越能发现这一点,光记住是不行的,还要灵活运用,要多调试代码,计算机就是一个不断练习,不断遇到问题,解决问题的工种,要根据实际的业务能想到对应的语法,实际项目 ...

  2. 零基础入门学python 第二版-《零基础入门学习Python》第二版和第一版的区别在哪里呢?...

    第一版 时光荏苒,一晃间,距离<零基础入门学习 Python>出版(2016年11月)已经过去两年多了,在这段时间里, Python 逐步走入了大家的视野,这门语言因其简洁的语法风格,在云 ...

  3. 零基础python必背代码-零基础入门学习python 96集全

    零基础入门学习python 96集全 第000讲 愉快的开始(视频+课件)xa0 第001讲 我和Python第一次亲密接触(视频+课件)xa0 第002讲 用Python设第一个游戏(视频+课件+源 ...

  4. 零基础学python鱼c-鱼C-小甲鱼 零基础入门学习Python 97节课程

    释放双眼,带上耳机,听听看~! 前言 鱼C-小甲鱼 零基础入门学习Python 97课程 ,这教程Go破解是有学习过的,讲得通俗易懂,即使是小白也能完全掌握里面内容. 其实我一直在Go破解教程这块对大 ...

  5. 零基础学python视频百度云-零基础入门学习Python 小甲鱼视频教程

    000愉快的开始 001我和Python的第一次亲密接触 002用Python设计第一个游戏 003小插曲之变量和字符串 004改进我们的小游戏 005闲聊之Python的数据类型 006Pyhon之 ...

  6. 学python有前途吗-入门学习Python编程有前途吗?

    原标题:入门学习Python编程有前途吗? 入门学习Python编程有前途吗?要想有前途,我想给初学编程者这几个建议: ​ 1.首先要有信心.虽然可能你看了几个小时也没在屏幕上打出一个三角形,或者压根 ...

  7. 零基础入门学习Python,我与python的第一次亲密接触后的感受!

    前言:Python是适合初学者入门最好的语言 Python适合初学者入门最好的语言 人工智能用Python?高考要加入Python?现在连微软官方Excel都要把Python作为官方语言!Python ...

  8. 零基础入门学习Python,我与python的第一次亲密接触后的感受

    前言:Python是适合初学者入门最好的语言 Python适合初学者入门最好的语言 人工智能用Python?高考要加入Python?现在连微软官方Excel都要把Python作为官方语言!Python ...

  9. 零基础学python 视频_零基础入门学习PYTHON(第2版)(微课视频版)

    小甲鱼畅销图书重磅升级,针对Python 3.7,通过生动的实例,让读者在实践中理解概念,在轻松.愉快中学会Python! 本书提倡理解为主,应用为王.因此,只要有可能,小甲鱼(注:作者)都会通过生动 ...

最新文章

  1. mongo 改字段名_一日一技:修改MongoDB集合中的字段名
  2. MVC ---- DBHelper.ttinclude
  3. 毛坦厂中学2021年高考成绩查询,六安市毛坦厂中学召开2021年高考誓师大会
  4. web service design time table
  5. P3292 [SCOI2016]幸运数字(树剖 + 线段树维护线性基)
  6. android 是什么编码格式,在Android的JPG图像编码和解码
  7. python流程图自动生成_python自动化办公 自动生成PPT通报
  8. 开关电源BOOST升压原理
  9. SpringBoot集成Activiti
  10. Hadoop指令-周美婷
  11. OFFICE没有仿宋GB2312的字体
  12. 最简单的内网穿透教程
  13. 草根互联网经理掀起的中国性解放运动
  14. 周记一:要有一颗屹立不倒的恒心
  15. 地球系统模式(CESM)实践技术应用
  16. 介绍8421码,5421码,2421码
  17. flutter 多渠道打包 不同环境不同包名 product flavors flavorDimensions
  18. iMX6UL---zlg M6G2C开发板内核编译记录
  19. android 4.0 app2sd,安卓手机开启App2sd必看教程
  20. Android Fragment异常:java.lang.IllegalStateException: Fragment XXXFragment not attached to Activity

热门文章

  1. 小米便签维护过程记录——可能出现问题解决方案
  2. 定时任务组件Quartz
  3. SQL学习之决胜秋招
  4. 爬虫及数据分析--当当网
  5. java 电子围栏_基于H5与webGL的 3d 电子围栏展示
  6. linux 下使用百度云盘
  7. 解决新安装的 Arch Linux 在 GNOME 中搜狗输入法不显示候选词和输入延迟的问题
  8. 360图书馆自动全文.
  9. #4259. 越野赛车问题
  10. 会声会影2022VideoStudio中文旗舰版