python总结大纲:适合初学者与有经验的人快速查找遗忘的知识点

预科day01

安装typroa

安装typroa传送门

markdown的使用

markdown的使用传送门

python简介

python简介传送门

python安装

python安装与版本共存

pycharm安装

编译型语言与解释型语言的区别

编译型语言与解释型语言

预科day02

git与码云

git

思维导图

个人博客

day01

python入门

输出:print(要输出的内容)

print在python2中和Python3中的区别:

python2中print 和print()是等价的

python3中只能使用print()

变量

其值能够改变的量,通常指向常量的内存空间

在这里插入图片描述

比如上图:name = “帅帅”

"帅帅"是一个值,也可以叫淇淇,然后在我们现实生活中,我们都会给自己起名字来对应你这个人。那么,name就是那个名字。

当别人问你,你的名字是什么,那么我就会回答我是“帅帅”

当别人让你叫一下你们班里面一个叫琪琪的同学来办公室,那么“淇淇”就是她的名字。

这个时候我们发现叫某个人的名字,就会出现他的姓名。那么就跟我们的变量一一对应了。

name:就是变量名。

python中可以不指定他的数据类型,自动根据上下文判断。

“帅帅”就是变量值。可以给这个变量值起不同的名字。

比如“帅帅”在班级里面就叫同学,在家里面就叫大儿子,在社会上就叫小鲜肉,他们统一都指向了“帅帅这个人”

在这里插入图片描述

变量的定义规则

  1. 以字母,数字,下划线组成
  2. 不能以字母开头
  3. 不能是Python中的关键字
  4. 不能使用拼音或汉字
  5. 变量名称要有意义
  6. 变量名区分大小写
  7. 官方建议用驼峰体或者下划线

变量的赋值

直接使用:变量名 = 变量值

变量的小高级

age1 = 18
age2 = age1
age1 = 12
age3 = age2
print(age1,age2,age3)

代码是从上往下执行的,并且在内存中只能用一个名字相同的变量名

常量

python中没有常量

常量是程序猿约定俗称的:全部大写

常量可以修改但是不建议修改

常量一般用在配置文件中

注释

单行注释:#

多行注释:六个双引号或者单引号

基础数据类型初识

整型(int)

整数可以用于进行计算

python中除法获取的是小数,python2中除法获取的是向下取整数

赋值是使用一个=

比较是用的两个==判断其值是否相等

字符串(str)

用双引号括起来的就是字符串

  1. 字符串拼接
    1. 字符串 + 字符串
  2. 字符串倍增
    1. 字符串 * 数字

布尔值(bool)

True

False

程序交互

input(提示的内容)

在python3中Input获取到的都是字符串

强制数据类型转换就是在要转换的数据前面加药转换的类型:

num = 666

str(num):将整型666转为了字符串"666"

流程控制

固定解构:

if 条件:

缩进 成功要执行的代码

  1. 单if

    if 条件:
        结果
    
  2. 二选一

    if 条件:
        结果
    else:
        结果
    
  3. 多选一或零

    if 条件:
        结果
    elif 条件:
        结果
    elif 条件:
        结果
    
  4. 多选一

    if 条件:
        结果
    elif 条件:
        结果
    elif 条件:
        结果
    else:
        结果
    
  5. if嵌套

    if 条件:
        结果
    	if 条件:
            if 条件:
                结果
    

作业

  1. 通过代码来验证name变量是什么数据类型?

    name = input(">>>")
    print(type(name))
    
  2. if条件语句的基本结构?

    1. 单if

      if 条件:
          结果
      
    2. 二选一

      if 条件:
          结果
      else:
          结果
      
    3. 多选一或零

      if 条件:
          结果
      elif 条件:
          结果
      elif 条件:
          结果
      
    4. 多选一

      if 条件:
          结果
      elif 条件:
          结果
      elif 条件:
          结果
      else:
          结果
      
    5. if嵌套

      if 条件:
          结果
      	if 条件:
              if 条件:
                  结果
      
  3. 用print打印出下面内容:

    方法一
    print("文能提笔安天下")
    print("武能上马定乾坤")
    print("心存谋略何人胜")
    print("古今英雄唯世君")
    #方法二
    print("""
    文能提笔安天下,
    武能上马定乾坤.
    心存谋略何人胜,
    古今英雄唯世君.
    """)
    
  4. 利用if语句写出猜大小的游戏:

设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确。

#方法一
user_num = input(">>>")
if user_num.isdecimal():
    if int(user_num) > 66:
        print("is large")
    elif int(user_num) < 66:
        print("is little")
    else:
        print("is 66")
#方法二
user_num = input(">>>")
def num_judge(num):
    if user_num.isdecimal():
        if int(num) > 66:
            print("is large")
        elif int(num) < 66:
            print("is little")
        else:
            print("is 66")
num_judge(user_num)
#方法三
user_num = input(">>>")
flag = True if int(user_num) >= 66 else False
if flag:
    print("is large")
else:
    print("is little")
  1. 单行注释以及多行注释?

    1. 单行注释:#
    2. 多行注释:六个单引号或者双引号
  2. 简述你所知道的Python3x和Python2x的区别?

    print在python2中可以使用print和print()

    print在Python3中只能使用Print()

    input()在python3中接收到的是字符串

    python2:源码不统一,功能重复,代码重复

    python3:源码统一,功能不重复,代码不重复

  3. 提示用户输入的麻花藤. 判断用户输入的是否正确. 如果对, 提示真聪明, 如果不对, 提示用户输入错误

    #方法一
    user_input = input("请输入麻花藤:")
    if user_input == "麻花藤":
        print("真聪明")
    else:
        print("输入错误")
    #方法二
    def user_judge(user):
        if user_input == "麻花藤":
            return True
        else:
            return False
    if user_judge(user_input):
        print("真聪明")
    else:
        print("输入错误")
    
  4. 模拟智能移动客服,首先给用户展示一下功能选项

1.查询剩余主动呼叫分钟
2.查询本地流量余额
3.查询全国流量余额
4.查询短信剩余条数
5.查询当前套餐
6.变更套餐
7.查询话费余额
8.查看缴费记录

用户输入序号给用户输出对应的功能!

#方法一
dict = {
    1:"查询剩余主动呼叫分钟",
    2:"查询本地流量余额",
    3:"查询全国流量余额",
    4:"查询短信剩余条数",
    5:"查询当前套餐",
    6:"变更套餐",
    7:"查询话费余额",
    8:"查看缴费记录"
}
print(msg)
user_input = input(">>>")
for i in dict:
    if int(user_input) == i:
        print(dict[i])
        break
else:
    print("输入错误或者没有这个选项")
#方法二
dict = {
    1:"查询剩余主动呼叫分钟",
    2:"查询本地流量余额",
    3:"查询全国流量余额",
    4:"查询短信剩余条数",
    5:"查询当前套餐",
    6:"变更套餐",
    7:"查询话费余额",
    8:"查看缴费记录"
}
print(msg)
user_input = input(">>>")
def user_judge(user):
    for i in dict:
        if int(user_input) == i:
            print(dict[i])
            return True
    else:
        return False
if not user_judge(user_input):
    print("输入错误或者没有这个选项")

12.模拟QQ登录,让用户输入账号密码.将获取到的账号和密码与

账号: alex
密码: alex3714

进行校验.账号和密码都正确后提示登录成功,否则提示账号密码错误!

#方法一:错误
user = input(">>>")
password = input(">>>")
dict = {
    "user":"alex",
    "password":"alex3714"
}
def users(user,password):
    for i in dict.values():
        if (user in i) and (password in i):  #当输入数字的时候,会判断结果为真,这是为什么?这是因为只要i里面存在的东西,就算是对的
            print("111")
            break
    else:
        print("222")
users(user,password)
#方法二:
user = input(">>>")
password = input(">>>")
dict = {
    "user":"alex",
    "password":"alex3714"
}
def user_judge(user,password):
    if user == dict["user"] and password == dict["password"]:
        return True
    else:
        return False
if user_judge(user,password):
    print("登陆成功")
else:
    print("登陆失败")

感悟

使用in的时候,只要存在就会返回真

day02

while

while的固定结构:

while 条件 冒号

缩进 循环体

while True:
    print("淇淇是我女儿") 
分析:
因为这个while循环的条件一直为真,也没有去刻意的终止他,也就是我们所说的死循环,所以这个结果会一直执行

while 条件 冒号

缩进 循环体

else:

​ 结果

today = 1
while today < 2:
    print("今天当淇淇的爸爸真开心")
    print("明天相当淇淇的爷爷")
    today = today + 1  #today += 1
 else:
    print("今天是第二天,也是淇淇的爷爷的一天")
    

淇淇的while挑战

  1. 求出1+2+3+…+100的和
  2. 求出1-2+3-4 + …-100的和
  3. 求出100以内的偶数

break

终止本次循环

while True:
    print("帅帅今天只想帅一次就好")
    break  
分析:
因为只想帅一次,所以也就是只显示一次,那么直接显示完停止即可

continue

跳出当前循环,接着下一次循环

帅帅最近很苦恼,只想在周一,周三,周五的时候收拾打扮一下,周二跟周四不想收拾,实在是懒得不行。
day = 0
while day < 6:
    if day % 2 != 0print("今天也是帅帅的一天")
    else:
        continue
 	day += 1
分析:
因为通过分析发现,1,3,5是奇数,奇数的特点就是对2取余不等0,所以我们通过这个可以判断出来帅帅的真实想法

将一个死循环变为有限循环:①加条件控制②加break语句

格式化

格式化故名思意就是将输出的内容按照固定的格式输出

name = "shuaishuai"
age = 18
#没有格式化前
print(name,"今年",age,"岁")
#格式化后
print("%s今年%d岁"%(name,age))
结论:
可以看出当使用格式化的时候,更容易清晰的知道输出了那些内容
切记要在被格式化输出的内容前面加%

python3.6有一个比较好玩的就是f-string

name = "shuaishuai"
age = 18
print(f"{name}今年{age}岁")
分析:
使用f之后会更加的简单直接明了,个人推荐使用f
而且使用f可以不需要在乎要格式化数据的位置

%s------str 占一个字符的位置

%i或者%d ----- int 占一个数字的位置

%()-----再给占的位置进行内容填充,这种填充是按照位置顺序填充的

运算符

算数运算符

+,-,*,/,//,**,%

/:结果为浮点数

//:结果为整除

赋值运算符

+=,-=,*=,/=,//=,**,%

比较运算符

大于,<,>=,<=,==,!=

成员运算符

in:只要某个字符存在与要判断的字符里面,就会返回真

not in

逻辑运算符

not,and,or

优先级:()>not>and>or

and:两个条件都为真时才为真

or:两个条件都为假时才为假

数字中只有0是False

面试小窍门:

and都为真的时候选择后边的内容
and都为假的时候选择前边的内容
and只要为假,其内容就是假的内容
or都为真的适合选择前边的内容
or都为假的时候选择后边的内容

编码初识

编码的故事

作业

1.判断下列逻辑语句的结果,一定要自己先分析 (5分钟)
1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6(此题有坑,看我图是做不出来的)

#分析:做这类题的时候,直接根据运算符的优先级和面试小窍门来进行做,可以尝试给每次做的那块加个括号,更容易发现怎么做

在这里插入图片描述

2)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

先执行比较运算,在进行判断
最后的结果是:False

2.求出下列逻辑语句的值,一定要自己分析(10分钟)
1)8 or 3 and 4 or 2 and 0 or 9 and 7 结果:8
2)0 or 2 and 3 and 4 or 6 and 0 or 3 结果:4
3)1 and 0 or 8 and 9 and 5 or 2 结果:5
4)4 or 8 and not False and 8 or 9 结果:4

3.下列结果是什么? (10分钟)

  1. 6 or 2 > 1 #6
  2. 3 or 2 > 1 #3
  3. 0 or 5 < 4 # False
  4. 5 < 4 or 3 # 3
  5. 2 > 1 or 6 #True
  6. 3 and 2 > 1 #True
  7. 0 and 3 > 1 #0
  8. 2 > 1 and 3 #3
  9. 3 > 1 and 0 #0
  10. 3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2 #2

4.简述ASCII、Unicode、utf-8编码英文,中文个占用多少字节(5分钟)

ASCII:英文占一个字节,没有中文

Unicode:英文中文各占四个字节

utf-8:英文一个字节,欧洲两个字节,亚洲三个字节

5.简述位和字节的关系?(3分钟)

一个字节等于八位

6.while循环语句基本结构?(3分钟)

#结构一
while 条件 冒号
缩进 循环体
#结构二
while 条件 冒号
缩进 循环体
else 冒号
    结果

7.利用while语句写出猜大小的游戏:(15分钟)
设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确,然后退出循环。

dic = {
    -1:"结果大了",
    0:"结果小了",
    1:"结果正确"
}

def isRight(num):
    if int(num) > 66:
        return -1
    elif int(num) < 66:
        return 0
    else:
        return 1

while True:
    user_input = input(">>>")
    if isRight(user_input) != 1:
        print(dic[isRight(user_input)])
    else:
        print(dic[isRight(user_input)])
        break
结论:
虽然使用函数看起来比较臃肿,但是本着什么都练习一下的缘故,还是要分不同的思路试试

8.在7题的基础上进行升级:(20分钟)
给用户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,如果三次之内没有猜测正确,则自动退出循环,并显示‘太笨了你…’。

dic = {
    -1:"结果大了",
    0:"结果小了",
    1:"结果正确"
}

def isRight(num):
    if int(num) > 66:
        return -1
    elif int(num) < 66:
        return 0
    else:
        return 1
count = 0
while count < 3:
    user_input = input(">>>")
    if isRight(user_input) != 1:
        print(dic[isRight(user_input)])
    else:
        print(dic[isRight(user_input)])
        break
    count += 1
 else:
    print("太笨了你")

9.使用while循环输出 1 2 3 4 5 6 8 9 10 (20分钟)

def while_num(num):
    count = 1
    while count <= int(num):
        print(count)
        count += 1
user_input = input(">>>")
while_num(user_input)

10.求1-100的所有数的和

user_input = input(">>>")
def while_sum(num):
    count = 1
    sum = 0
    while count <= int(num):
        sum += count
        count += 1
    return sum
print(while_sum(user_input))

11.输出 1-100 内的所有奇数

user_input = input(">>>")
def while_sum(num):
    count = 1
    sum = 0
    while count <= int(num):
        if count % 2 == 1:
            sum += count
        count += 1
    return sum
print(while_sum(user_input))

12.输出 1-100 内的所有偶数

user_input = input(">>>")
def while_sum(num):
    count = 1
    sum = 0
    while count <= int(num):
        if count % 2 == 0:
            sum += count
        count += 1
    return sum
print(while_sum(user_input))

13.求1-2+3-4+5 … 99的所有数的和

user_input = input(">>>")
def while_sum(num):
    count = 1
    sum = 0
    while count <= int(num):
        if count % 2 == 1:
            sum += count
        else:
            sum -= count
        count += 1
    return sum
print(while_sum(user_input))

14.⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)

def login(user,password):
    if user == "admin" and password == "admin":
        return True
    else:
        return False
for i in range(3):
    user = input("user:")
    password = input("password:")
    if login(user,password):
        print(f"欢迎{user}登陆")
        break
    else:
        print(f"你还有{2-i}次机会")
else:
    print("小子,想盗谁号?")

感悟

仔细查看9到13题,你会发现一个新大陆。

如果没有发现,就打淇淇一顿。

如果发现了,就奖励淇淇学习第三课。

day03

整型

python3:int

python2:int,long(长整型)

bin:将十进制转换为二进制

age = 18  #帅帅每年都十八岁
print(bin(age))
结果:0b10010
如果我们想把0b去掉,可以有很多种方法,常用的有三种:
print(format(age,"b"))  #0b10010
print(format(age,"08b")) #00010010     这样可以补足二进制的位数
print(bin(age)[2:]) #10010
print(re.findall("1.+",bin(age))) #['10010']

int:将二进制转换为十进制

int(bin(age),2)

布尔值

固定结构:数据类型(转换的类型)

数字中只有0是False,其余的都为True

字符串中只要有内容就是True,没有内容就是False

False:"",0,[],{},None

字符串详解

字符串详解

for循环

固定格式:

for 循环值 in 可迭代对象 冒号

缩进 循环体

name = "帅帅淇淇帅帅" #挨个输出
for i in name:
    print(i)

for 循环值 in 可迭代对象 冒号

缩进 循环体

else 冒号

​ 结果

name = "帅帅淇淇帅帅" #挨个输出
for i in name:
    print(i)
else:
    print("他们人呢?")

可迭代对象:基本数据类型除去(int,bool)都可以迭代

淇淇的进阶课堂

  1. name = “帅帅淇淇帅帅”

    1. 输出字符串的索引
    2. 输出索引是奇数的值
    3. 输出索引是偶数的值
  2. 计算1+2+3+…100的和

  3. 判断i的值

    for i in range(5):
        pass
    print(i)
    
  4. 一行代码输出1-10

感悟

只要是处理数据,第一时间应该以想到格式化为主

进制之间的转换,处理浮点数什么的,都应该第一时间想想格式化

day04

day05

day06

day07

day08

day09

day10

day11

day12

day13

day14

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值