前情提要
1. 介绍(简单介绍)概念/解释型语言/优点
2. 打开界面/介绍界面(python编辑器/jupyter/spyder/txt文件)。
打开 输入 保存等基础工作
基礎:①tab键(自命名、文件名、模块/缩进:层次)
②type和?的区别 type类型(字符串str、列表list、集合set、字典dict、元组tuple、数字num(int、float、complex)
③==和=的区别,=是赋值的意思,==是用于判断是否相等(布尔函数)
④%run
⑤注释#
⑥常用快捷键 添加修改快捷键
⑦命名 变量名由英文字母、下划线_或数字组成,并且第一个字符必须是英文字母或下划线。变量名不能是 Python 关键字(又称关键词:True False None and as)。
⑧運算
- 单值:字符串、数值
- 数值:
Int/float
-
- 字符串
#格式 a=””
#长度 len()
#修改 b=a.replace(旧,新,最大次数)
#切片 a[开始:结束:步长]
#查找 a.find/index/rfind/rindex(字串,开始,结束)
#计数 a.count()
#split(分割字符,分割次数)
#a.isdigit
#jion
#a+b
- 多值:list,dict,set,tuple
①list:表示一堆数据【什么都行!!!】整合在一起。类型是不限制的,字符串、数字和布尔值可以在一个列表中。
列表由方括号 英文方括号[]*中文的【】是不被允许的。每一个之间用“,”(同样是英文)分隔
【1】列表是有顺序的,哪一个值的位置是固定的!【2】列表支持修改值
【3】列表允许重复的值:[1,1]是可以的【4】列表允许不同类型的变量放一块。
a=list() 等同于 a=[]
for ... in list:(遍历)
a[起,止,步数]截取
1-append
在列表中增加一个值。
2-index
index表示查找某个字符,并返回第一次出现的位置
3-count
计算某一个值在列表中出现的次数。
4-zip
把两个列表合并成一个(交叉合并)
zip([1,2,3],[4,5,6])
结果是:[1,4,2,5,3,6]
5-pop
去掉列表的末尾值。
②dict
dict = {"name": "张三", "age": 20, "sex": "男"}(key唯一)
#常见操作
#增字典名[new key]=new value
#删del 字典名[key]
#清空 clear()
#len():测量字典中的键值对
#keys():返回所有的key
#values():返回包含value的列表
#items():返回包含(键值,实值)元组的列表
#in not in
if 20 in dict.values():
print("我是年龄")
if "李四" not in dict.values():
print("李四不存在")
#获取信息
#value=字典名[key]:
这种是比较简单的方式,通过key值进行取值:
#字典名.get(k,value)
如果key值存在,那么返回对应字典的value,不会用到自己设置的value;
如果key值不存在.返回None,但是不会把新设置的key和value保存在字典中;
如果key值不存在,但设置了value,则返回设置的value;
③set
set是集合,也很像列表。【1】无序,顺序随机【2】 不允许重复,有重复则只保留一个
a={1,2,3,4,5}(不可以 他是字典) 只能a=set()。
3-函数
1-clear() 2-remove() 3-add() 4-pop()
4.运算
交集运算-&
{1,2,3}&{2,3,4}->{2,3}
并集运算-|
{1,2,3}|{2,3,4}->{1,2,3,4}
差集运算
a={1,2,3,4,5}
b={4,5,6,7,8}
print(a-b)
>>>{1,2,3}
- Datatime
日期和时间
Dt.strftime()
Dt.strptime()
时间的计算
- If函数
if [判断语句]:
[程序脚本]
elif [判断语句]:
[程序脚本]
...[可以有很多的elif]
else:
[程序脚本]
a=int(input("输入数字!!!"))
if a>10:
print("数字大于10!!!")
elif a==10:
print("数字等于10!!!")
else:
print("数字小于10!!!")
上往下判断,如果在某个判断上是True
,把该判断对应的语句执行后,就忽略掉剩下的elif
和else
,所以,请测试并解释为什么下面的程序打印的是teenager
:
age =
20
if age >=
6:
print(
'teenager')
elif age >=
18:
print(
'adult')
else:
print(
'kid')
- input
最后看一个有问题的条件判断。很多同学会用input()
读取用户的输入,这样可以自己输入,程序运行得更有意思:
birth = input(
'birth: ')
if birth <
2000:
print(
'00前')
else:
print(
'00后')
输入1982
这是因为input()
返回的数据类型是str
,str
不能直接和整数比较,必须先把str
转换成整数。Python提供了int()eval
()
函数来完成这件事情:
s = input(
'birth: ')
birth = int(s)
if birth <
2000:
print(
'00前')
else:
print(
'00后')
- for ... in range(start,end,step):
for i in 列表、元组、字典、集合、字符串
for in [….]
for in range()
计算1+2+3+...+100
sum =
0
for x
in rang(1,101):
sum = sum + x
print(sum)
- 布尔运算
And 真真true or真假 true
Bool()
判断闰年例子
- while
while <条件表达式>:
【语句块】 break continue
当 while 的 <条件表达式>为 True 时运行【语句块】,【语句块】运行结束后,再次进入 <条件表达式>进行 判断,如果 <条件表达式>结果为 True 则再次运行【语句块】, 以此循环直到 <条件表达式> 结果为 False 结束循环。
sum = i = 0
while i <= 100:
sum = sum + i
i + = 1
print(sum)
break
在循环中,break
语句可以提前退出循环。例如,本来要循环打印1~100的数字:
n = 1
while n
<= 100:
print(n)
n = n + 1
print('END')
上面的代码可以打印出1~100。
如果要提前结束循环,可以用break
语句:
n =
1
while n <=
100:
if n >
10:
# 当n = 11时,条件满足,执行break语句
break
# break语句会结束当前循环
print(n)
n = n +
1
print(
'END')
执行上面的代码可以看到,打印出1~10后,紧接着打印END
,程序结束。
可见break
的作用是提前结束循环。
continue
在循环过程中,也可以通过continue
语句,跳过当前的这次循环,直接开始下一次循环。
n = 0
while n
< 10:
n = n + 1
print(n)
上面的程序可以打印出1~10。但是,如果我们想只打印奇数,可以用continue
语句跳过某些循环:
n =
0
while n <
10:
n = n +
1
if n %
2 ==
0:
# 如果n是偶数,执行continue语句
continue
# continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
执行上面的代码可以看到,打印的不再是1~10,而是1,3,5,7,9。
可见continue
的作用是提前结束本轮循环,并直接开始下一轮循环。