题
1.python优点
简单易学 、免费开源、丰富的库、可扩展性、可移植性、面向对象、规范的代码
2.变量的类型
数字-int、float,布尔-True、False,字符串 str,列表 list,Tuple 元组,Dict 字典
3.标识符命名规则
标识符:构成:字母、数字、下划线,三大命名规则:大驼峰、小驼峰、下划线
4.如何在python中查找关键字.
1.运行命令提示框,2.输入python敲回车,3.输入import keyword 在敲回车,4.再输入keyword kwlist敲回车就出来了
5.常用的格式符号有哪些(3个即可)
%s—字符串 %d—十进制的整数 %f—浮点 %c—字符
6.运算符(至少5个)
-
-
- / //取整 % 取余
-
7.python常用的数据类型转换(至少3个)
Int(x) float(x) str(x) list(s) tuple(s)
8. 计较运算符(至少3个)
== != > < >= <=
9. 逻辑运算符是哪3个
#and-且or-或 not-非
10.自己写一个if-elif-else条件语句并输出
a=4 if a<1: print(“苹果”) elif a<5: print(“西瓜”) else: print(“芒果”)
11.通过程序写一个等边三角形 for i in range(1,6): for j in range(1,6-i): print(" “,end=”") for k in range(1,i+1): print("* “,end=”") print("") for i in range(1,6): for j in range(1,6-i): print(" “,end=”") print("* "*i)
12.通过程序写一个九九乘法表 i=1 while i<=9: j=1 while j<=i: print("%d*%d=%-4d"% (j,i,j*i),end="") j+=1 print("\n") i+=1
13.通过代码针对str=“abcdefg” : 1取出bcd 2将str倒序 3取出bdf str=“abcdefg” print(str[1:4]) print(str[::-1]) print(str[1::2])
14.通过代码针对mystr = "hello world python and python"进行如下操作 1.找到右边第一个p的索引 2.找z结果要求报错 3.将所有空格替换成逗点 4.通过逗点生成一个列表 5.将d全部替换成大写D mystr = “hello world python and python”
print(mystr.rfind(“p”))
print(mystr.index(“z”))
print(mystr.replace(" “,”,")) mystr2 = ‘’ for i in mystr: if i == ‘d’: i = i.upper() print(i) mystr2 += i print(mystr2)
15.a = [1,2,3,4,5,6],在a中元素5前添加一个5.5元 在a中元素6后面添加"我心态炸了" 删除a中的元素1 a = [1,2,3,4,5,6] a.insert(4,5.5) print(a) a.append(‘我心态炸了’) print(a) a.remove(1) print(a)
16.b = [“a”,“b”,“c”,“b”,“a”] 查找索引区间在2-4的“b”的索引 查找索引区间在3-4的“a”的索引 b = [“a”,“b”,“c”,“b”,“a”] n = b.index(‘b’,2,4)
n = b.index(‘a’,3,4) print(n)
17.试着修改一个自己创建的元组,达到报错的目的,提醒自己元组不可修改 a=(“doubenzhi”,1,2.1) b=a[0] print(b)
18.自己写一个字典,计算自己写的字典中存在键值对的个数,找出字典中所有的key,找出字典中所有的value,试着遍历字典中的item,最后删除字典中的第一个键所对应的数据 a = {‘name’:‘doubenzhi’,‘age’:18,‘sex’:‘nan’} print(a.len()) print(a.keys()) print(a.values()) for i in a.items(): print(i) del a[‘name’] print(a)
19.集合中的discard的概念 discard() 方法用于移除指定的集合元素。 该方法不同于 remove() 方法,因为 remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。 语法: set.discard(value) 20.试着自己写两个集合,分别进行 & 和 | 的操作 set1 = {‘aaa’,‘bbb’,‘ccc’} set2 = {‘aaa’,123,‘ccc’} print(set1&set2) print(set1|set2)
如果以上觉得没挑战,思维扩展:一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机分配 import random
定义一个列表来保存3个办公室 offices = [[],[],[]]
定义一个列表来存储8位老师的名字 names = [‘A’,‘B’,‘C’,‘D’,‘E’,‘F’,‘G’,‘H’]
#开始分配 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+=1 for name in tempNames: print(’%s’%name), print(’\n’)
Python基础
-
常识 龟叔 1991 python2.0 python3.0 人生苦短,我用python
-
python优点
简单易学 、免费开源、丰富的库、可扩展性、可移植性、面向对象、规范的代码。。。
缺点:执行效率相对慢
- python应用场景
Web开发,自动化脚本,爬虫,科学计算。。
- 注释 #单行注释
多行注释
112364546 13213
6变量
用来存储数据
A=123
7变量的类型
数字-int、float
布尔-True、False
字符串 str
列表 list
Tuple 元组
Dict 字典
变量类型的查看type()
print(type(A))
8标识符
构成:字母、数字、下划线
a b不能作为标识符
Houyue不等于houyue
9命名规则
三大命名规则:大驼峰、小驼峰、下划线
JiYun jiYun ji_yun
错误:ji¥yun
10. 关键字
定义:特殊的标识符
如何在python查看我们的关键字:
11. 输出
格式:print(“北京加油!!!”)
格式化输出:
格式 %d % age
age=18
name = "美女"
print("我的姓名是%s,年龄是%d" % (name,age))
12常用的格式符号
%s---字符串
%d---十进制的整数(int)
%f---浮点
%c---字符
13输出的换行 \n
14输入
Python2.0 3.0
raw_input() input
input输入的内容全是字符串
15 运算符
+ - * / //取整 9//2 ==》4
9.0//2.0==》4.0
% 取余 判断是否闰年
** 2**3
优先级 先幂在这些最后是加减
16 赋值运算器 =
单个变量的赋值 a=123
多个变量的赋值 zhangyishu,wangjinwei,lishichao=1,2,3
17符合赋值运算符
+= -= 。。。把运算符后面加个=
C+=a c=c+a
C-=a c=c-a
18 python常用的数据类型转换
Int(x) float(x) str(x) list(s) tuple(s) s代表的序列
19 if判断(重)
格式
If 要判断的条件:
条件成立要做的事情
20 计较运算符
== != > < >= <=
21逻辑运算符(或、且、非)
and-且or-或 not-非
22 if-else 两种条件
格式
If 要判断的条件:
条件成立要做的事情
else:
条件不成立要做的事情
If a>3:
Print(“吃个冰淇淋”)
else:------------------------------------------a<=3
Print(“吃个屁”)
23 elif 两种条件以上使用
格式1:
If XXX1:
Print(“XXX”)
elif XXX2:
Print(“XXX”)
elif XXX3:
Print(“XXX”)
。。。
格式2:
If XXX1:
Print(“XXX”)
elif XXX2:
Print(“XXX”)
else:
Print(“XXX”)
24 if嵌套
格式:
If XXX1:
Print(“XXX”)
If XXX1:
Print(“XXX”)
If XXX1:
Print(“XXX”)
If XXX1:
Print(“XXX”)
25 循环
While 跟if语法比较相似
区别:if 条件成立,则执行1次
While条件成立,一直重复执行,直到不成立为止
26循环使用场景:
例:输入100次“疫情赶紧走!”
print(“疫情赶紧走!”)
a=0------------------------------起始值
While a<100:
print(“疫情赶紧走!”)
a+=1
27 while嵌套
While XXX1:
Print(“XXX”)
While XXX1:
Print(“XXX”)
28 while应用场景
三角形、九九乘法表
利用python做到如下:
*
**
***
****
i=1 --------------------------------------1起始值
while i<5:--------------------------------2循环条件
j=1
while j <= i:
print("*",end="")------------------4格式调整
j+=1-------------------------------3累加避免无限循环
print("\n")----------------------------5换行
i+=1
九九乘法表
1*1=1
1*2=2 2*2=4
。。。
1*9=9 2*9=18 。。。
#九九乘法表
#起始值
i=1
while i<=9:
j=1
while j<=i:
print("%d*%d=%-4d" % (j,i,j*i),end="")
j+=1
print("\n")
i+=1
29 for循环
格式:
for 临时变量 in 列表或字符串的可迭代对象:
循环满足的条件
字符串
name = "doubenzhi"
for b in name:
print(b)
l列表循环
for i in range(5):
print(i)
# i=0
# while i <5:
# print(i)
# i+=1
30 break 和continue
Break终止 continue跳过当前继续下面的循环
31☆字符串介绍
格式 :变量名=””
变量名=’’
输出:print(“内容”)----
格式化输出: %s % (字符串的变量名)
输入: input------见到input那么我们输入的数据类型就是字符串
32字符串的下标跟切片
下标---索引
什么索引:生活上超市的货架商品下面的标签
在python中
name = 'lichaoqian'
print(name[0])
print(name[1])
切片--对操作的对象截取一部分---字符串、列表、元组
格式 [起始值:结束:步长] ☆
注意:包头不包尾
name="abcdefg"
# 0123456
print(name)
# print(name[0:3]) #abc
# print(name[0:3:1]) #0可以省略 abc=========>[:3]
# print(name[:-1]) #索引下标可以为负数,意思就是从右边开始
print(name[::-1]) #步长是负数的话还有方向的意思,倒序
33☆字符串的常见操作(爆炸)
以下所讲的用到的条件
Mystr = “hello world python and python”
一 find与rfind
mystr = "hello world python and python"
#一find方法:从左检测是否包含内容,如包含就返回第一个匹配项的“索引” 如不包含内容则返回-1
# rfind方法:从右检测是否包含内容,如包含就返回第一个匹配项的“索引” 如不包含内容则返回-1
print(mystr.find("h"))
print(mystr.find("z"))
二 index与rindex
用法跟find差不多,只不过:如果匹配不到则报错
print(mystr.index("h"))
print(mystr.index("z"))
三count 在返回mystr(start~end之间,出现的次数)
如果存在则返回出现次数,如果不存在不会报错而是返回0
mystr = "hello world python and python"
print(mystr.count("h"))
print(mystr.count("z"))
四replace替换
把a替换成b
mystr = "hello world python and python"
print(mystr.replace("h","H"))
五split以...分割
mystr = "hello world python and python"
print(mystr.split(" "))
通过split可以对字符串进行列表的转换
六capitalize把字符串第一个字母大写
mystr = "hello world python and python"
print(mystr.capitalize())
七title 把字符串每个单词的首字母大写
mystr = "hello world python and python"
print(mystr.title())
八startswith 判断是否以XXX开头,结果为布尔(True,Flase)
mystr = "hello world python and python"
print(mystr.startswith("hello"))
九endswith 判断是否以XXX结尾,结果为布尔(True,Flase)
mystr = "hello world python and python"
print(mystr.endswith("hello")) 》》》False
十lower 将所有的大写转为小写
mystr = "Hello world pyThon and python"
print(mystr.lower())
十一upper 将所有的小写转为大写
十二ljust
左对齐 空格填补
str = "hello"
#ljust(width)
print(str.ljust(20))
十三rjust
右对齐 空格补齐
十四center 居中对齐 空格补齐
十五lstrip 删除左边空格
str = " hello"
print(str.lstrip())
十六rstrip删除右边空格
十七strip
十八partition
mystr = "hello world python and python"
a = mystr.partition("python")
print(a)
十九rpartition
mystr = "hello world python and python"
a = mystr.partition("python")
b = mystr.rpartition("python") #先反转再搜索截取,需要注意:不是本质上的倒序
print(a)
print(b)
二十splitlines
按行进行分割,注意返回的是列表
Str=”hello\nworld”
Str.splitlines()
二十一isalpha--判断字符串中是否有字母,是True反之~
判断--布尔--返回结果(True,False)
二十二isdigit
判断字符串中是否有数字,是True反之~
二十三isalnum
判断字符串中是否有数字或者字母,是True反之~
¥$
二十四isspace
判断字符串中是否有空格,是True反之~
二十五join 拼接(常用)
通常与split联动
列表
Name1=”于强强”
Name2=”宋国栋”
List = [“于强强”,”宋国栋”]
输出:
Print(list[0])
列表的循环遍历:
For i in
List = [1,2,3,4,5]
For i in list:
Print(i)
while也可用
列表的相关操作☆
增删改查
增:append extend insert
Append 默认添加到列表尾部
A = ["shanxingwei","liangzichao","yangyatao"]
a = A.append("fange")
print(A)
Extend
A = ["shanxingwei","liangzichao","yangyatao"]
B = [1,2]
A.extend(B)
print(A)
insert通过下标索引插入数据
B = [1,2]
B.insert(0,3)
print(B)
列表的删除 del pop remove
Del 根据下标进行删除
Pop 删除最后一个元素
Remove 根据元素的值进行删除
列表的修改
第一步:精准定位,通过下标找到要改的数据
第二步:再修改
B = [1,2,3] #把1改为4
B[0] = 4
# B[0] = "4"
print(B)
列表的查询
In not in index count
In 存在
Not in 不存在
Index 存在返回下标,不存在报错
Count a=[1,2,3,4,5,1] 1在列表中出现过几次
补充 注意一下开闭区间范围
a = ["a","b","c","a","b"]
# 0 1 2 3 4
b = a.index("a",1,4)
print(b)
列表的嵌套
列表里面再放一个列表
A = [[“陈威”],[“晋伟”]]
思维扩展:一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机分配
元组
Tuple = (1,)
Tuple = (“houyue”,1,1.01)
访问元组
通过下标访问
a = ("jiyun",1,2.1)
b = a[0]
print(b)
修改元组
别挣扎,兄弟,它一修改就特喵的报错
Index,count
这里的index跟列表的用法一样,注意一下开闭区间范围
字典
格式:
Dict={“name”:”棥哥”,”age”:188,”address”:”济南”}
Key键 value值
dict={"name":"棥哥","age":88,"address":"济南"}
# 根据键去对应的值
print(dict["name"])
如果取得键未找到则会报错
通过get找就算未找到也不会报错,返None
dict={"name":"棥哥","age":88,"address":"济南"}
# 根据键去对应的值
print(dict.get("name1"))
字典常见操作☆
1. 查看元素
除了用键(key)查找数据以外还可以用get来查找
2修改元素
每个元素都可以修改,只要找到key,就可以肆无忌惮了
dict={"name":"棥哥","age":88,"address":"济南"}
# 根据键去对应的值
a = dict["name"]="贾冬冬"
print(dict)
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
print("id为:%s" % dict["id"])
newid = input("请输入学号")
dict["id"] = newid
print("添加之后的id为: %s" % dict["id"])
字典的添加
直接添加一个键--值
Dict[“age”]=18
字典的删除
Del
Clear()
Pop
Del 指定删除元素 ---(扩展pop用法类似)
Del dict[“name”]
Print()
Del 删除整个字典
Del dict
Clear()清空字典
Dict.clear()
字典的相关操作
1 len()---count()在字典中没法用
测量字典中,键值对的个数
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
a = len(dict)
print(a)
2 keys
返回一个包含字典中所有key的列表
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
a = dict.keys()
print(a)
3 values
返回一个包含字典中所有值的列表
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
a = dict.values()
print(a)
4items
返回一个包含所有(键、值)元组的列表
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
a = dict.items()
print(a)
字典的遍历
格式:for...in...可以遍历字典
遍历可用的数据类型:字符串、列表、元组,字典
1 遍历字典的key(键):
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
for key in dict.keys:
print(key)
2 遍历字典的value(值)
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
for value in dict.values:
print(value)
3遍历字典的项(元素)item
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
for item in dict.items():
print(item)
4遍历键值对
用到的key,value。例:
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
for key,value in dict.items():
print(key,value)
集合介绍
Set={}
集合是一个无序,元素是唯一,集合一般用于元组或者列表的元素的去重
添加 add
Set={1,2,4,5}
A = Set.add(3)
Print(A)
Update 把元素拆分,作为个体传入到集合中
Set.update(“789”)
删除元素
Remove pop discard
Remove:删除集合中的元素,有则删,没有就报错
Pop 随机删除集合中的元素,set中有则删,没有就报错
Discard 删除集合中的元素,有则删,没有就不做任何操作
集合最常见的用法:交集跟并集(& |)
交集------且
Set1={1,2,3,4}
Set2={3,4,5,6}
Set3 = set1 & set2
Print(set3)
>>>{3,4}
并集------或
Set1={1,2,3,4}
Set2={3,4,5,6}
Set3 = set1 | set2
Print(set3)
>>>{1,2,3,4,5,6}