Python一个月实训
0701
-
pycharm和Anaconda的安装
-
pycharm环境配置和运行
-
类型 :type()
-
注释 :
- 单行 #
- 多行 ‘’‘ ’‘’
- 文档注释 “”“ ”“”
-
地址:id()
-
关键字
-
输出
- 普通输出 print
- 格式化输出 占位符 %s
- 常用格式:%d,%f,%s,%c,/n
- *有乘法也有赋值的意思
- ‘姓名:{},身份证:{}’.format(name,id)
-
输入
input() 默认字符串
-
运算符
- 算数运算符
- 取整除:a//b
- 幂运算:2**3
- 算数运算符
-
强制类型转换
-
判断语句 if
-
比较运算符和逻辑运算符
-
循环语句
0702
-
猜数字游戏
num=random.randint(0,100)
import random
num = random.randint(0,100)
while True:
x=int(input("请输入一个数字"))
if x==num:
print("恭喜你,猜对了,数字是"+str(num))
break
elif x>num:
print("大了,请重新输入")
else:
print("小了,请重新输入")
-
while循环
- 九九乘法表
- 打印*
i=0 j=0 while i < 6: while j < i: print("*"*j) j+=1 i+=1 j-=1 while j>0: print("*"*j) j-=1
-
for循环
-
break和continue
-
字符串
-
下标
-
切片
[起始:结束:步长] 开始<= x <结束
-
-
字符串常见操作
-
find():有下标,没有-1
-
index():有下标,没有报错
count():统计字符数量
-
replace 替换
s.replace("wuhu","hefei")
-
split() 分割,返回列表形式
name.split(" ")
-
capitalize() 字符串首字母大写
-
title() 每个首字母大写
-
startswith() 以obj开头,返回True
name.startswith("hello")
-
endswith() 以obj结尾,返回True
-
lower() 全部小写
-
upper() 全部大写
-
ljust() 返回原字符串左对齐,并用空格填充新字符
s.ljust(10)
-
rjsut() 右对齐,空格填充
-
center() 中心对齐,空格填充
-
lstrip() 删除字符串左边的空白字符
-
rstrip() 删除右边空白
-
strip() 删除两边空白
-
rfind() 从右往左找
-
rindex() 从右往左找
-
partition() 以str分割字符串 str前,str,str后
-
rpartition() 从右往左分割
-
splitlines() 按行分割,返回列表
-
isalpha() 判断是否全是字母
-
isdigit() 判断是否都为数字
-
isalnum() 判断是数字和字母
-
isspace() 判断只包含空格
-
join() 每个字符后插入一个str
name = " " li = ["my","name","is","John"] print(name.join(li))
-
-
列表 []
- 列表的循环遍历
- 列表的相关操作
- 添加元素
- append(): 添加到最后\
- insert(): 根据下标插入
l.insert(1," ")
- extend(): 列表添加列表
- 修改元素:通过下标方式
- 查找元素
- in
Jhon in names
在返回True - not in
Jhon not in names
- index()
names.index("Jhon")
- count()
names.count("Jhon")
- in
- 删除元素
- del
del names[0]
根据下标删除 - pop() 删除最后一个元素
- remove() 根据元素删除
- del
- 添加元素
- 列表的嵌套
0703
-
元组 () 元组不可以修改
- 查询 下标进行访问
- 修改 不可修改
- 内置函数:
- index() 返回下标
- count()
-
字典 {}
student={"name":"xujihong"}
-
修改 根据key值修改value
student["name"]="John"
-
添加 存在修改,不存在添加
-
常见操作
- len() 查找键值对数量
- keys() 返回所有key key是唯一的
- values() 所有values
- items() 返回所有key:values的元组列表 不可修改
-
字典的遍历
-
遍历字典的key
for key in dict.keys():
-
遍历字典的values
for value in dict.values():
-
遍历key-values
for item in dict.items():
-
遍历key和values
for key,value in dict.items()
-
枚举遍历形式 enumerate 下标索引遍历
for i,char in enumerate(chars):
-
-
-
公共方法
- 运算符
- +:合并 字符串,列表,元组
- *: 赋值 字符串,列表,元组
- in: 是否存在 字符串,列表,元组,字典
- not in 不存在 字符串,列表,元组,字典
- 内置函数
- len() 元素个数
- max() 最大值
- min() 最小值
- del() 删除变量
- 运算符
-
引用 字符串判断是否为同一引用
-
函数 提高代码块重复
- 有参函数
- 形式参数:函数后面的参数列表
- 实际参数:调用函数的参数列表
- 有返回值函数
- python中的的返回值可以拥有多个返回值
- 函数嵌套
- 有参函数
-
局部变量和全局变量
- 局部变量:函数内部变量
- 全局变量:定义在函数外部
- 局部改全局用global声明
- 可变类型全局变量 lsit dict
- 函数中不能修改全局变量的,加global声明修改数据指向
- 全局变量不可变类型修改需要加global
- 全局变量可变类型修改不需要加global
0706
-
函数的返回值
返回多个返回值时使用的元组,本质是元组、
-
函数的参数
-
缺省值参数
def info(name,age=18)
注:带默认值的放到形参列表最后 -
不定长参数
f(a,b,*args)
*是元组()f(a,b,**args)
**是以缺省值参数传递到形参 中,用dict字典保存{} -
引用参数
不可变类型参数传递 a=1
可变参数类型传递 alist = [1,2]
注:python函数传递是引用传递(不是值传递)
不可变类型:变量不能修改,所以运算不会影响自身
可变类型:函数内部的运算会更改传入的参数变量
-
-
递归函数
-
匿名函数
lambada x,y:x**y
lambada :小型匿名函数,省略了def声明函数
注意:匿名函数能接收任何数量的参数,但只能返回一个表达式的值
匿名函数不能直接调用print,因为需要一个表达式
sum = lambada
-
函数总结
-
自定义函数
参数 返回值
-
调用函数
- 方式 函数名([实参列表])
- 写不写实参在于形参
- 调用时,实参个数和先后顺序要和形参要求一致
- 如果函数有返回值,那么可以使用一个变量保存
-