Python学习笔记

Python学习笔记

一、 环境配置
Python解释器的安装:
运行代码,翻译代码
● 安装:
双击可执行文件-----【勾选添加环境变量】----【install】,按提示操作即可

  1. install Now 默认安装在C盘————不建议选择此安装选项
  2. Customize insttallation————自己选择安装位置,需要记住
  3. 勾选Add Python 3.6 to PATH的作用相当于配置环境变量,可在系统中查看

“下一步”后————勾选Install for all users
选择安装位置————选择安装位置,不建议默认C盘

● 验证解释器安装成功:
○ windows系统:cmd命令后回车进入命令提示符页面,输入:python——>回车

如果安装在C盘,直接进入命令提示符的界面,是以普通身份运行,如下图:

如果右键选择以管理员身份运行,权限更大一些,如下图:

备注:一般情况下普通身份运行即可,如提示需要管理员身份再以管理员身份运行
○ mac系统:在终端输入python3,如下图:

● 解释器安装失败的解决办法:
○ 提示:python不是内部或者外部命令
出现原因:环境变量没有配置成功,即安装python解释器时未勾选Add python to path

解决办法:1、卸载,重新安装勾选Add python to path
2、手动添加到path中,如下图:

Pytharm:编辑工具
● 安装方法:
均选择“下一步”即可
● 分类:
专业版(收费,开发使用有框架)、教育版、社区版(免费,需要手写框架)
● 使用:

● 创建新的项目:

● 选择解释器:

● 创建python文件:

● 设置:

● 无解释器的报错:
如下图:
是因为:
解决办法: 添加python解释器即可
● 查找python文件路径
如下图:
方法一:

方法二:
二、第一个程序:Hello,wold!
● 代码:

快捷键shift+3 可以打印出#,注释单行,不会被解释器解释

代码从上往下运行

print(‘Hello,world!’)
● 运行结果:

  备注:code 0 --运行成功
             code 1 --运行出错

三、变量

● 多行注释:
格式:
英文3对单引号,或者3对双引号
作用:
在注释里面写很多对内容
● 变量:
定义:
存储程序中数据的容器,方便数据在程序的多个地方复用
语法:
变量名=程序中的数据
=赋值运算符
代码:
text=‘hello,world’
#定义变量名
text=‘hello,world’
#定义变量名
print(text)
print(text)
print(text)
#打印三遍命名为text的字符串

运行结果:
扩展—print:
定义:
把内容打印到控制台,用于代码的调试,且具有自动换行的功效
格式:
print() 括号内的标点符号必须是英文格式
● 标识符
定义:
包括变量、函数名字、类名、方法名
组成:
字母、数字、下划线,且不可以数字开头
特点:
1、 区分大小写:A、a是两个变量
2、 不能使用关键字命名
keyword.kwlist() 通过这个命令查看系统的关键字;
通过不断积累;
关键字:python解释器底层已经定义好的一些标识符名字
代码-列举系统关键字:
import keyword
#导包
print(keyword.kwlist)
#打印系统的关键字
运行结果:

命名规则:

  1. 见名知意 引申:写代码要写注释 如:name=‘小党’
  2. 大驼峰:每个单词首字母大写 如:MyName
  3. 小驼峰:除了第一个单词的首字母小些,其他都大写 如:myName
  4. 下划线命名 如:my_name
    备注:不强制,非必须
    ● 数据类型
    数据类型:字符串(str)、整数(int)、浮点数(float)、列表(list)、元祖(tuple)、字典(dict)
    字符串(str):
    用引号包裹的叫做字符串,引号包括:单引号、双引号、三引号(""" “”",可以保留原来数据的格式)
    单引号里面可以嵌套双引号、三引号,双引号里面可以嵌套单引号、三引号,三引号里面可以嵌套单引号和双引号,不可以单引号嵌套单引号,双引号里面嵌套双引号,三引号里面嵌套三引号,需要间隔着使用
    name=‘xiaodang’
    name=’‘xiaodang’’
    代码:
    “”"
    思考:今天是周日
    天气很好
    “”"
    name = “今天是周日”
    weather = “天气很好”
    print(name)
    print(weather)
    运行结果:

备注:print默认带换行符(\n),\n换行的意思,用法:end=’\n’——换行;end=’ '——不换行
代码:

运行结果:

代码:

运行结果:

快捷键:windows:control+/,注释选中内容;mac:command+/
代码—三引号使用:

运行结果:

三引号就是把里面的内容按照原格式打印出来
如何判断数据类型?
返回值:调用别人写好的方法的时候,可以用变量接受返回值

  1. 语法:type(变量)返回值:数据类型
    代码—方法一:

代码—方法二:

运行结果:

  1. isinstance(返回值,数据类型) 返回值:True(返回值是括号里面写的数据类型),False(返回值不是括号里面写的数据类型)
    代码:
    num = “5”
    num1 = isinstance(num,int)
    print(num1)
    运行结果:

整数:int
1,2,3…
代码:

运行结果:

浮点数:float
小数
布尔类型:
True(真)、False(假)
代码:

运行结果:

备注:搜索顺序,关键字、变量、是不是程序的数据,bool的值必须首字母大小
方法——eval():
可以返回字符串内包裹的内容,及其原本的数据类型
代码:
a =“1+1”
b =“1.8”
c =“True”
d =“5”
#此时以上变量均为字符串
a_eval=eval(a)
b_eval=eval(b)
c_eval=eval©
d_eval=eval(d)
#以上均还原了引号内的数据
print(“a_eval是:”,a_eval,“a_eval的数据类型:”,type(a_eval))
print(“b_eval是:”,b_eval,“b_eval的数据类型:”,type(b_eval))
print(“c_eval是:”,c_eval,“c_eval的数据类型:”,type(c_eval))
print(“d_eval是:”,d_eval,“d_eval的数据类型:”,type(d_eval))
运行结果:

字符串格式化:
将变量和字符串拼接在一起
语法:

  1. 用英文逗号,拼接
  2. 占位符:%s 字符串占位 %d整数占位 %f浮点占位
  3. “名字:{},身高:{},年龄:{}”.format(name,height,age)
    前面需要先定义变量name,height,age
  4. f"名字:{name},身高:{height},年龄:{age}"
    备注:第四种是第三种的升级版,第四种方式是python3.6之后才有的用法
    代码—方法一:

运行结果:

代码—方法二、三、四:
name=‘小党’
height=170
age=30
print(‘名字:%s,身高:%d,年龄:%d’%(name,height,age))

方法二:占位符:%s 字符串占位 %d整数占位 %f浮点占位

print(“名字:{},身高:{},体重:{}”.format(name,height,age))

方法三:“名字:{},身高:{},年龄:{}”.format(name,height,age)

print(f’名字:{name},身高:{height},体重:{age}’)

方法四:f"名字:{name},身高:{height},年龄:{age}"

运行结果:

类型转换
为什么转换成类型?
方便后面调用:数据类型一致的时候,才可以做运算,做比较;知道数据类型,才能针对此类型的数据做处理;知道 列表、字符串、字典 的类型,才可以选择对应的api方法去处理数据

  1. str()
    把其他类型转化成字符串
    代码:
    s1=‘1’
    s2=‘1.5’
    s3=5
    #定义变量
    ts1=str(s1)
    ts2=str(s2)
    ts3=str(s3)
    #将其他类型转换成字符串类型
    print(type(ts1))
    print(type(ts2))
    print(type(ts3))
    运行结果:

  2. int()
    将引号包裹的整数转化成整数型,浮点数不能转化成整数
    代码-整数型:
    s1=‘1’
    s3=5
    #定义变量
    is1=int(s1)
    is3=int(s3)
    #转化成整数型
    print(f’值是:{is1},类型是{type(is1)}’)
    print(f’值是:{is3},类型是{type(is3)}’)
    运行结果:

代码-浮点型不能转化成整数型:
s2=‘1.5’
is2=int(s2)
#浮点型不能转化成整数型
print(f’值是:{is2},类型是{type(is2)}’)
运行结果:

代码—eval()
s2=‘1.5’
is2=eval(s2)
#浮点型不能转化成整数型
print(f’值是:{is2},类型是{type(is2)}’)
运行结果:

  1. float()
    只能化转化包裹的是浮点数、整数的字符串
    代码:
    s1=‘1’
    s2=‘1.5’
    is1=float(s1)
    is2=float(s2)
    print(f’值是:{is1},类型是{type(is1)}’)
    print(f’值是:{is2},类型是{type(is2)}’)
    运行结果:

四、常用方法

  1. input()
    定义:捕获到用户从键盘上输入的信息
    代码:
    c = input(“请输入剪刀石头布”)
    #获取到用户输入的信息
    print©
    print(‘从input获取到的类型是:’,type©)
    #只有数据类型一致的才可以做比较
    运行结果:

  2. random
    a:random.choice()
    定义:从一个集合重随机选择一个字符串
    方法:
    需要先导包,再定义方法
    代码:
    import random
    #d导包
    computer = random.choice([‘石头’,‘剪刀’,‘布’])
    #从集合里面随机选择一个字符串
    print(computer)
    运行结果:

备注:Ctrl+p 查看函数
b:random.randint()
定义:随机生成整数
代码:
import random
data=random.randint(0,2)
#从0,1,2随机产生一个整数
print(data)
运行结果:

  1. string.isdigit()
    定义:判断字符串里包裹的是否全是数字
    代码:
    score = input(‘请输入你的分数’)

if score.isdigit():
#判断字符串score里面是否是整数
score =float (score)
if 80<=score <=100:
print(‘优秀’)
elif 60<=score<80:
print(‘及格’)
elif score<60:
print(‘不及格’)
else:
print(‘输入分数有误’)
else:
print(‘输入的不是整数’)运行结果:

  1. 小标题2
  2. 小标题3
  3. 小标题4
  4. 小标题5
    五、分支语句
  5. if
    a:单条件
    语法:
    if 条件:
    四个空格/一个tab键
    备注:一个tab键代表4个空格
    代码:
    score = 0
    if score == 0:
    print(“完蛋了!!!”)
    运行结果:

b:多条件
语法:
if 条件:
elif 条件:
elif 条件:

else:
代码:
while True:
try:
score = input(‘请输入你本次的分数: ‘)
num_score = int(score)
if isinstance(num_score, int):
if 100 >= num_score >= 80:
print(‘优秀’)
elif 60 >= num_score >= 79:
print(“及格”)
elif num_score < 60:
print(‘不及格’)
else:
print(‘输入的分数有误’)
break
else:
print(‘输入的不是整数’)
except ValueError as e:
print(’----请重新输入----’)
运行结果:

  1. 循环-while
    语法:
    while 条件:
    代码:
    方法一:
    “”"
    计算1~100的和
    “”"
    a=1
    #定义初始值
    sum=0
    #定义变量
    while a<=100:
    sum+=a
    a+=1
    print(‘循环结束!’)
    print(f’1~100的和为{sum}’)
    方法二:
    n=1
    sum=0
    while n<=100:
    if n%2==0:
    sum += n
    n+=1
    print(f’1~100之间的数字之和为{sum}’)
    运行结果:

while循环和else的结合
语法:else的代码,当while循环正常退出,else代码才会执行
正常退出指的是的while循环里面有break就叫做不正常退出,其它的都叫正常退出
代码:
#一共5个苹果,吃到第4个饱了,第5个就不吃了

n=1
while n<=5:
print(f’开始吃第{n}个苹果’)
if n == 4:
print(‘吃饱了’)
break
n+=1
else:
print(‘吃饱了,不吃了’)
运行结果:

代码:
n = 1
while n<=5:
print(f’吃第{n}个苹果’)
n+=1
else:
print(‘注意身体健康’)
运行结果:

代码:
n=1
while n<=5:
print(f’开始吃第{n}个苹果’)
if n == 4:
print(‘吃出了一条虫子’)
n += 1
continue
#提前退出单次循环,本次循环体代码不会继续往下走
n+=1
else:
print(‘注意身体健康’)
运行结果:

  1. break
    定义:退出整个循环体,代码继续往下走
    代码:
    #一共5个苹果,吃到第4个饱了,第5个就不吃了

n=1
while n<=5:
print(f’开始吃第{n}个苹果’)
if n == 4:
print(‘吃饱了’)
break
n+=1
运行结果:

  1. continue
    定义:退出单次循环体,而不是整个循环体
    代码:
    n=1
    while n<=5:
    print(f’开始吃第{n}个苹果’)
    if n == 4:
    print(‘吃出了一条虫子’)
    n += 1
    continue
    #提前退出单次循环,本次循环体代码不会继续往下走
    n+=1
    运行结果:

  2. 循环-for
    a:for …in…
    (1) for 临时对象 in 可迭代对象(字符串、列表、字典、元组)
    1.1使用场景: 获取到容器中的某个元素,进行响应判断
    代码:
    s =‘dang’
    for e in s:
    print(e)
    运行结果:

(2) for 临时变量 in range(start,end,step)
step 步长 后一个数-前一个数=step步长
如果range()括号里面只有一个数字,则是end的数字,默认从0开始,start可以不写
end:数值取不到,只能取到end前面的一个数
如果range()括号里面可以有一个值,2个值,3个值
一个值默认为(end)
2个值为(start,end)
3个值为(start,end,step)
代码:
for i in range(2):
print(i)
运行结果:

代码:
for i in range(3,5):
print(i)
运行结果:

代码:
for i in range(3,20,5):
print(i)
运行结果:

step是正数,start end是不符合从小到大的顺序,就取不到
step是负数,start end是倒叙,从大到小,可以正常取
代码:
for i in range(10,2,-3):
print(i)
运行结果:

2.1 应用场景:构造循环
6. 小标题5
六、特殊字符

  1. 列表
    定义:可以放任何数据类型的元素
    方法:列表【】
  2. 标题3
  3. 标题3
  4. 标题3
  5. 标题3
  6. 标题3
  7. 标题3
  8. 标题3
  9. 标题3
  10. 标题3
    七、API_Str
    定义:用引号包裹的就叫字符串
  11. 标题3
  12. 标题3
  13. 标题3
  14. 标题3
  15. 标题3
  16. 标题3
  17. 标题3
    八、
  18. 标题3
  19. 标题3
  20. 标题3
  21. 标题3
  22. 标题3
  23. 标题3
  24. 标题3
    二十、实战
  25. 猜拳小游戏
    代码:
    “”"
    需求:猜拳游戏 石头剪刀布

策略:
1.client 用户赢:c 石头 p 剪刀 ;c 剪刀 p 布; c 布 p 石头
2.computer 电脑赢:p 石头 c 剪刀 ;p 剪刀 c 布; p 布 c 石头
3.平局:c 石头 p 石头 ;c 剪刀 p 剪刀; c 布 p 布
“”"
name = input('请输入你的名字: ')
client = input(f"请{name}输入剪刀石头布:")
#获取到用户输入的信息
print(client)

import random
#d导包
computer = random.choice([‘石头’,‘剪刀’,‘布’])
#从集合里面随机选择一个字符串
print(computer)

if client ==computer:
print(‘平局’)
elif (client == ‘石头’ and computer == ‘剪刀’) or (client == ‘剪刀’ and computer == ‘布’) or (client == ‘布’ and computer == ‘石头’):
print(‘恭喜你赢了!!!’)
elif (client == ‘石头’ and computer == ‘布’) or (client == ‘剪刀’ and computer == ‘石头’) or (client == ‘布’ and computer == ‘剪刀’):
print(‘很遗憾,你输了!!!’)
else:
print(‘你输入的字符串有误!’)
运行结果:

  1. 九九乘法表
    代码:

运行结果:

  1. 标题3
  2. 标题3
  3. 标题3
  4. 标题3
  5. 标题3
  6. 标题3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值