从0开始入门python一个半月的三万字学习笔记汇总!!!
Posted 宴师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从0开始入门python一个半月的三万字学习笔记汇总!!!相关的知识,希望对你有一定的参考价值。
-
python学习
- DAY01-DAY04基础操作
- DAY05-DAY09基本模块
常用pip源
(1)阿里云
http://mirrors.aliyun.com/pypi/simple/
(2)豆瓣
http://pypi.douban.com/simple/
(3)清华大学
https://pypi.tuna.tsinghua.edu.cn/simple/
(4)中国科学技术大学
http://pypi.mirrors.ustc.edu.cn/simple/
(5)华中科技大学
http://pypi.hustunique.com/
第一讲
基础知识
# ctrl+/ 添加注释
# ctrl+alt+l 三键实现格式规范
# 或者在pycharm编译器中点击“code->Reformat Code
# 英文输入符号
# \\+特定字符 产生一个新的含义,就是转义字符(# \\\\ \\t)
print(666)
print('我爱编程')
# sep=','指定,为分隔变量的符号
print('唐三', '小舞', '张三', sep=',')
print('唐三', '小舞', sep='\\n')
# end='\\n'指定换行结尾
print('唐三', '小舞', end='*')
print('唐三', '小舞', end='\\n')
# 变量
# 1.有一定意义
# 2.由数字,字母,下划线组成,数字不能开头
name = '张三'#等号是赋值
print(name)
# input()表示输入,在括号里面加入''可加入提示
input('请输入您的密码')
第二讲
数据类型
# 整型 int
# 浮点型 float
# 字符型 str
# '''中间可以放几段话'''
name = '''
啦啦啦
啦啦啦
啦啦啦
'''
print(name)
# type函数
name = '漩涡鸣人'
print(type(name))
# 运算注意优先级以及从左向右计算
# 字符不能和整数类型相加,但可以变换
name = '张三'
age = 48
print(name + str(age))
# 同理整型和浮点类型也可以相互转换,但有非数字的字符不能转换为整数,也不能是浮点类型结构
第三讲
运算符
# + - * / % 加减乘除求余
number = input('请输入数字')
number = int(number) # 输入的是字符类型,用int转换为整数类型进行运算
result = number % 2
print(result)
# //表示整除运算
bounty = 5000
print(bounty/280) # 结果是17.86
print(bounty//280) # 结果是17
# += *= /= -= 运算符
# 关系运算符返回值类型是布尔类型
# ord()函数可以查看字符对应的整数数值
print(ord('a'))
# 逻辑运算符 and or not
# and 有假就为假 or 有真就为真 not 真就假假就真
第四讲
条件语句
- if语句的使用
- if…else语句的使用
- 多重if语句的使用
- if嵌套
# if 要判断的条件: (标准结构)
# 条件成立时要做的事情
# else:
# 条件成立时要做的事情
money = input('请输入您的钱数')
money = int(money) # 注意转换
things1 = '盲盒'
if money>35:
print('拿下{}'.format(things1))
# 用{}进行占位,用.format()函数填充占位
else:
print('买不起')
# elif语句
# if 条件1:
# 事情1
# elif 条件2:
# 事情2
# else:
# 事情3
choice1 = input('请输入你要选的品牌')
choice2 = input('请输入你要选的衣服类型')
money = input('请输入你手中有多少钱')
money = int(money)
if choice1 == '安踏' and choice2 == '短袖' and money > 60 :
print('您购买了{}品牌的{}'.format(choice1,choice2), '您还有{}元钱'.format(money-60) , sep = '\\n')
elif choice1 == '李宁' and choice2 == '短袖' and money > 60 :
print('您购买了{}品牌的{}'.format(choice1,choice2), '您还有{}元钱'.format(money-60) , sep = '\\n')
elif choice1 == '耐克' and choice2 == '短袖' and money > 60:
print('您购买了{}品牌的{}'.format(choice1, choice2), '您还有{}元钱'.format(money - 60), sep='\\n')
else:
print('您要的我们没有或者您的钱不足以支付请重试')
# if下语句可继续嵌套if
第五讲
循环语句
- while的使用
- for的使用
- break和continue的使用
- while或者for与else结合使用
循环的核心在于减少重复代码,条件要尽量通用化
# while 循环条件:(当循环条件不成立时结束)
# 循环执行的代码
i = input('请输入数字')
i = int(i)
while i <= 5:
i += 1
print(i)
# 需求:限制登陆次数
i = 3
while i >= 1:
username = input('请输入用户名')
password = input('请输入密码')
if username == 'admin' and password == '123456' :
print('登录成功')
break # 作用在于登录成功后退出循环
else:
print('登录失败')
i -= 1
print('还有{}次机会' .format(i))
continue # 继续循环
# for 变量 in 序列:
# 循环体
# 变量:自定义变量名,要求和单独定义时候一样
# 序列:容器型数据类型的数据,比如字符串,布尔,列表,元组,集合
# 循环体:需要重复执行的代码
for x in range(1,11):
print('今天你直播下单{}次'.format(x))
# range()函数作用是产生一个序列,从0开始
# range(1,11)则表示从1开始11结束但是不包括11
# range(1,6,2)表示135的序列,即2为步长(可以是负数)
# 需求:限制登陆次数
for i in range(3):
username = input('请输入用户名')
password = input('请输入密码')
if username == 'admin' and password == '123456' :
print('登录成功')
break # 作用在于登录成功后退出循环
else:
print('登录失败')
print('还有{}次机会' .format(2-i))
continue # 继续循环
# continue 跳过本次循环,后面语句不执行,继续执行下一次循环
# 需求:打印1-12数字,除了8不打印
# 方法一
for i in range(1,13):
if i == 8:
continue
else:
print(i)
# 方法二
i = 1
while i <12:
i += 1
if i == 8 :
continue
print(i)
# else可以和while,for进行配合
# 案例一
i = 13
while i <12:
print('验证失败')
else:
print('验证成功')
# 案例二
for i in range(8):
print(i , end=' ')
else:
print('\\n')
print('结束')
第六讲
数据类型列表(列表类似数组,字典类似结构体)
- 列表的使用
- 字典的使用
- 字符串的使用
# 以前介绍的int bool str float都只能存放一个值,需要列表存放一堆值
# 变量名字 = [元素,元素,元素]
heros = ['张三', '张四', '张五', '张六', '张七', '张八']
print(type(heros))
输出结果是<class ‘list’>,即构成了一种新的数据类型列表
# 那怎么找到列表中的某一个元素呢?这就要用到列表索引
# 计算机编号从0开始,相关方式类比数组
heros = ['张三', '张四', '张五', '张六', '张七', '张八']
print(heros[1])
即可获取张四,同理可以获取其他元素,若要同时获取多个元素,则要使用列表切片的办法
# 1:3表示索引的一个左闭右开区间,只包含左边不包含右边
heros = ['张三', '张四', '张五', '张六', '张七', '张八']
print(heros[0:6])
# [3:]若省去终止位置,则表示从标明的初始位置一直索引到终止位置
heros = ['张三', '张四', '张五', '张六', '张七', '张八']
print(heros[0:])
这样就可以把上述元素全部输出出来了(俩个方法结果一样)
输出结果为 [‘张三’, ‘张四’, ‘张五’, ‘张六’, ‘张七’, ‘张八’]
但是显然不可能所有的取法步长都为一也不可能都是顺序取元素
# 完整格式 print(列表名(初始位置:终止位置:步长)) 默认步长为+1
heros = ['张三', '张四', '张五', '张六', '张七', '张八']
print(heros[0::2])
这样就可以输出从第一个元素开始的所有奇数项元素
我们在长数据超大数据时,往往不方便一次看出到底有多少个元素
# len()函数可以获取列表的长度
print(len(heros))
我们往往需要增加删除修改查找列表元素,实现列表元素动态管理
(增删改查)
增
# append可以实现列表元素增加
heros.append('张九')
# insert函数可以定向添加元素
# insert方法只是插入元素,原来在此位置以及之后的元素全体后移
heros.insert(3, '张六plus')
删
# pop或者remove可以实现列表元素删除
# 列表.pop[索引]表示删除特定位置索引位置的元素
heros.pop() # 若索引为空表示删除最后一个元素
heros.remove('张三') # 移除张三这个元素
改
heros[0] = '张三plus' # 实现修改定向位置的元素
查
# index函数可以实现查找某一元素具体位置,并通过变量存储,在案例实现的时候有奇效
number1 = heros.index('张三')
print(number1)
# 可以利用 in 来判断元素在不在列表内
# 格式 查找的元素 in 列表名 返回值是布尔类型,可以用int转换后用变量储存下来
heros = ['张三', '张四', '张五', '张六', '张七', '张八']
number3 = int('张2' in heros)
print(number3)
# index 和 in 可以相互补充相互协调,index返回具体位置,in判断在不在,还可以配合后面的count来判断在不在
有些时候一个列表会有很多重复的元素,我们需要函数来帮我们进行计数
# 列表名.count(要查询的元素) 返回值为元素个数
heros = ['张三', '张四', '张五', '张六', '张七', '张八']
heros.append('张三')
heros.append('张三')
heros.append('张三')
heros.append('张三')
number2 = heros.count('张三')
print(number2)
字典
# 基础格式 变量名字 = {key1:value1,key2:value2}
hero = {'姓名': '孙悟空','性别': '男', '定位':'战士' }
print(hero)
print(type(hero))
得到的结果是<class ‘dict’>即构成了一种新的数据类型列表
字典还可以和列表搭配使用
hero = {'姓名': '孙悟空', '性别': '男', '定位': '战士', '最佳搭档': ['八戒', '沙僧', '唐僧']}
print(hero)
print(type(hero))
# 那如何获取里面中的东西呢
print(hero['性别'])
# 如何判断字典里面是否有我们查找的键呢
# print(字典名.get(查找的键,如果找不到返回的东西))
hero = {'姓名': '孙悟空', '性别': '男', '定位': '战士', '最佳搭档': ['八戒', '沙僧', '唐僧']}
print(hero.get('定位', '未知'))
# 我们用get的时候,如果键存在则返回键的值,如果键不存在则返回设定的返回值,如果我们没有设定返回值,则返回NONE
字典同样支持增删改查操作,实现动态管理
hero = {'姓名': '孙悟空', '性别': '男', '定位': '战士', '最佳搭档': ['八戒', '沙僧', '唐僧']}
hero['血量'] = 4399 # 对于一个原来没有的键进行操作会添加
hero['性别'] = '未知' # 对于一个原来有的键进行操作会修改
print(hero)
# 字典名.pop[键名]表示删除特定键
heros.pop('定位')
# 可以利用 in 来判断元素在不在字典内
# 格式 查找的键 in 字典 返回值是布尔类型,可以用int转换后用变量储存下来
hero = {'姓名': '孙悟空', '性别': '男', '定位': '战士', '最佳搭档': ['八戒', '沙僧', '唐僧']}
number4 = int('姓名' in hero)
print(number4)
# value函数可以输出字典的所有值
hero = {'姓名': '孙悟空', '性别': '男', '定位': '战士', '最佳搭档': ['八戒', '沙僧', '唐僧']}
print(hero.values())
# 结果为: dict_values(['孙悟空', '男', '战士', ['八戒', '沙僧', '唐僧']])
# value的作用不光只是显示,还可以配合in进行逻辑判断
hero = {'姓名': '孙悟空', '性别': '男', '定位': '战士', '最佳搭档': ['八戒', '沙僧', '唐僧']}
print(int('孙尚香' in hero.values())) # 返回值为布尔类型
字符串的使用
# 单引号,双引号,三引号三种声明方式,三引号的优点在于可以原样输出,空格空行都会被保留
hero1 = 'hello'
hero2 = "hi"
hero3 = '''
hello
hi
'''
print(hero1, hero2, hero3)
字符串和列表一样,也有切片和索引的访问形式
把字符串当成字符的列表
message = '王者荣耀'
print(message[0])
print(message[:2]) # 从初始位置到2这个位置
# 案例 在任意一个输入字符串中,查找是否有英雄这个子串
string = input('请输入一个字符串')
lenstr = int(len(string))
for x in range(0, lenstr):
if string.find('英雄') >= 0:
# find函数可以查找,如果找到显示第一个字符的位置,如果没找到会返回-1
print('有英雄这个子串')
break
else:
if x == lenstr - 1 :
print('没有英雄这个子串')
else:
continue
print(string.startswith('王者'))
print(string.endswith('王者'))
# startswitch函数可以判断是否以某某字符或字符串开头,返回值为布尔类型
# endswitch函数可以判断是否以某某字符或字符串结尾,返回值为布尔类型
简化字符串技巧
字符串中有很多空格或者转义字符我们可以用一个函数全部去除
# strip函数
s = ' hello\\\\\\\\\\mm\\n\\n\\n\\n'
print(s.strip())
输出结果是 hello\\\\mm
第七讲
函数
- 函数的作用与定义
- 函数的参数
- 函数的返回值
# 函数格式(定义)
def sum(num):
# def关键字表示定义一个函数 sum是函数名 num是形参可以有多个
result = 0
for x in range(1, num+1):
result += x
print(result)
# 要注意缩进,以及分号的使用
# 函数调用
# 调用格式: 函数名(参数)这里参数是实参
def sum(num):
result = 0
for x in range(1, num+1):
result += x
print(result)
number = 1
sum(number)
案例
定义一个函数来实现用户的登录
def login():
username = input('输入用户名')
password = input('输入密码')
if username == 'admin' and password == '123456':
print('登录成功')
else:
print('登录失败')
login()
函数的参数
# 有参传参,无参空着,顺序一致
def milk_tea(n,kind='波霸奶茶'): # n表示奶茶数量,kind表示奶茶种类
# 默认参数一定要在普通参数后,默认参数可以不传参使用默认值
# 可以有很多默认参数但一定要在所有普通参数结束后再写默认参数
for i in range(n):
print('正在制作第{}杯奶茶'.format(i+1))
print('放入{}的原材料'.format(kind))
print('调制奶茶')
print('倒入奶茶')
print('封口')
milk_tea(5)
milk_tea(1, '珍珠奶茶')
milk_tea(4, '椰果奶茶')
milk_tea(5, '黑糖珍珠奶绿')
关键字参数
def milk_tea(n, kind以上是关于从0开始入门python一个半月的三万字学习笔记汇总!!!的主要内容,如果未能解决你的问题,请参考以下文章
Python可视化应用实战-三万字长文(建议收藏)matplotlib可视化实例,实操有效