python_day2
Python 2
0、输入
name = input("tell me who you are")
input(函数),获取键盘的输入
input语句不管写入什么都会变成字符串类型
1、布尔类型的定义
布尔类型的字面量
- True 表示真(是、肯定)
- False 表示假(否、否定)
布尔类型的数据,不仅可以通过定义得到,也可以通过比较运算符进行内容比较得到。
result = 10 > 5
print(f"10>5的结果为:{result}),类型是:{type{result}}")
print(f"yoxi{name == happy}")
print语句里面的{}内也能进行运算
2、if 语句
if 要判断的条件:
条件成立时,要做的事情
空格是必须的,python通过空格来判断归宿
3、 if else语句
if 条件:
满足条件时要做的事情1
满足条件时要做的事情2
else:
不满足条件时要做的事情1
不满足条件时要做的事情2
4、 if elif else 语句的混合使用
if 条件:
条件1满足应做的事情
elif 条件2:
条件2满足应做的事情
elif 条件3:
条件3满足应做的事情
if else 语句还能嵌套使用
5、循环语句的使用
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
使用随机数
import random
num = random.randint(1,100)
flag = True
while flag:
guess_num = int(input("请输入你猜猜的数字:"))
if guess_num ==num:
print("猜中了")
flag = False
while 循环的嵌套使用:
一般外层循环一次,内层要全部循环结束一次,注意控制内层和外层的循环条件
while 条件1:
条件1满足时,做的事情1
条件2满足时。做的事情2
.。。。
while 条件2:
条件2满足时,做的事情1
条件2满足时,做的事情2
条件3满足时,做的事情3
6、for循环
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
name = "strsde"
for x in name:
print(x)
for 循环无法定义循环条件,只能从被处理的数据集中,依次取出内容进行处理
待处理数据集:序列类型
序列类型指,其内容可以一个个依次取出的一种类型,包括:
- 字符串
- 列表
- 元组
- 等
range语句获得数据序列
range(num)
语法:
range(num1,num2)
获得一个从num1开始,到num2结束的数字序列(不含num2本身),如,range(5,10)取得的数据是:[5,6,7,8,9]
range(num1,num2,step)
从num1开始,到num2结束的数字序列,不含num2本身
数字之间的步长,以step默认为1
for i in range(10): #数字从0开始,到9结束
print(i)
for i in range(1,10): #数字从1开始,到9结束
print(i)
for i in range(1,10,2): #数字从1开始,步长为2 到9结束
print(i)
for 循环的嵌套使用
for 临时变量 in 待处理数据集(序列):
循环满足条件应做的事情1
循环满足的条件应做的事情2
循环满足的事情N
...
for 循环变量 in 待处理数据集(序列):
循环满足条件应作的事情1
循环满足条件应作的事情2
循环满足条件应作的事情N
7、continue和break
continue关键字:中断本次循环,直接进入下一步循环
continue可以用于:for循环和while循环,效果一致
for i in range(1,100):
语句1
continue
语句2 #不执行,直接进入下一轮循环
break关键字用于:直接结束循环
break可以用于:for循环和while循环,效果一致
for i in range(1,100);
语句1
break
语句2
语句3
遇到break:直接接受所在的循环
8、函数定义
def 函数名(传入参数):
函数体
return 返回值
函数调用
函数名(参数)
#参数如不需要可以省略
#返回值如不需要,可以省略
#函数必须先定义后使用
def add_m(x,y):
result = x+y
print(f"{x}+{y}的结果是{result}")
add_m(1,2)
传入参数之间使用逗号进行分隔
传入的时候,按照顺序传入数据,使用逗号分割
可以不适用参数、也可以使用任意N个参数
return:将结果返回给函数调用者
def 函数(参数...):
函数体
return 返回值
变量 = 函数(参数)
函数一执行完 return 语句后立马结束
return 后面的代码将不会执行
None类型:
函数没有使用 return语句返回数据,函数有返回值:
None:空的、无实际意义的意思
def say(nihao):
print("nihao")
a = 5
hi = say(a)
print(hi)
if not hi:
print("nima")
#none 在if语句中表示false,not none,则表示true
None 还可以用于声明无初始内容的变量
name = None
None 是类型'NoneType'的字面量,用于表示:空的、无意义的
9、函数说明文档
函数说明文档可以用于理解函数的作用
语句如下:
def func(x,y):
"""
函数说明
:param x: 形参x的说明
:param y: 形参y的说明
:return: 返回值的说明
"""
函数体
return 返回值
函数的嵌套调用
在一个函数里面又调用了另外一个函数
def func_b():
print("--2-")
def func_a():
print("--1-")
func_b()
print("--2-")
10、变量的作用域
定义在函数体内部的变量,即只在函数体内部生效
在函数体内部,临时存储数据,一旦运行完函数就立马销毁了局部变量
函数体外部的变量:全局变量,
全局变量和局部变量可以重名且互不影响,在函数体内部,以局部变量为主
num = 100
def testB():
#global 关键字声明a是全局变量
global num#这样的话就能修改外面的全局变量
num = 200
print(num)
testB()
11、 list 列表
#定义变量
变量名称 = [元素1,元素2,元素3,...]
#定义空列表
变量名 = []
变量名称 = list()
nihao = ["nihao",666,123]
print(nihao)
print(type(nihao))
列表还能嵌套
name = [[1,2,3],[2,3,4]]
列表可以通过下表索引找到对应的元素(从0算起)
#语法:列表[下表索引]
name_list = ["linda","jieke",123]
print(name_list[1])
嵌套结构的列表:
nihao = [[1,2,3],[4,5,6]]
print(nihao)
print(type(nihao))
print(nihao[0])#得到结果[1,2,3]
print(nihao[0][0]) # 得到结果1
下表还能倒序得出:
print(nihao[-1])
11.1list的常用方法
函数:封装的代码单元,可以提供特定功能
方法:将函数定义为class (类)成员,
例如:
class Student:
def add(self,x,y):
return x+y
11.1.1 列表的查询功能(方法)
查找某元素的下标
功能:查找指定元素的列表的下标,如果找不到,报错
列表.index(元素)
mylist = ["insert","ithe","beati"]
index = mylist.index("ithe")
11.1.2 列表的修改功能(方法)
修改特定位置(索引)的元素值
语法:列表[下标]=值
my_list = [1,2,3,4]
my_list[0] = 5
11.1.3 列表中插入元素
语法:列表.insert(下标,元素),在指定的下标位置,插入指定的元素
my_list = [1,2,3]
my_list.insert(1,"nihao")
print(my_list)
11.1.4 列表后面追加元素
语法:列表.append(元素),将指定元素,追加到列表的尾部
my_list= [1,2,3]
my_list.append(4)
追加元素方式2:
语法:列表.extend(其他数据容器),将其他数据容器的内容取出,依次追加到列表尾部
my_list = [1 ,2,3]
my_list.extend([4,5,6])
print(my_list)#3结果:[1,2,3,4,5,6]
11.1.5 元素的删除
语法1:del 列表[下标]
语法2:列表.pop(下标)
删除元素的内容进行删除:
列表.remove(元素)
11.1.6 元素的清空
mylist.clear()
11.1.7统计某元素在列表内的数量
列表.count(元素)
11.1.8 列表的查询功能(方法)
统计列表内,有多少元素
语法:len(列表)
my_list = [1,2,3,4,5]
print(len(my_list))