数据类型 交互 和流程控制

思维导图

image

python的基本语法

  • python 有三种注释方法
  1. 单行注释 :#
  2. 多行注释 : ''''''
  3. 多行注释 : """"""
  • 变量与常量
    1.含义
    用于记录事物变化的状态为变量,记录事物不变的状态为常量。

2.本质
当遇到赋值符号时,应先看符号右侧,再看符号左侧。(把右侧的赋值给左侧)
(1)在内存空间中申请一块内存空间 存储数据值
(2)给该内存空间绑定一个名字
(3)通过所给绑定的名字就可以访问到内存空间中存储的数据值

数据类型

常见的数据类型:

  • 常见的数据类型有八种,分别是:
  1. 整型 2. 浮点型 3. 字符型 4. 列表型
  2. 字典型 6. 布尔值 7. 元组 8. 集合
  • 整型int
    整型就是整数,

  • 浮点型float
    浮点型就是小数,

  • 字符型str
    字符型就是文本信息

  • 列表型list

  1. 列表型能够储存多个数据,能够便捷的获取整体或者个体
    eg: l1=[1, 2, 3, 4]

  2. 索引取值:
    (1)索引取值的位置为从0开始,而现实中为从1开始
    当索引超出范围时,系统会做报错处理

(2)当索引取值时遇到复杂结构时可以先明确整体在进一步拆分。

  • 字典型dict
  1. 字典型能够存储多个数据,能够快速的获取整体和局部,使数据更利于解释
  2. 字典型是用大括号括起来,内部可存储多个数据,数据类型为K:V键值对;
    K是对V的描述性的信息,通常为字符串
    V是数据值,可为任意数据类型

由于字典符是无序的则不可用索引取值,但可按K取值

  • 布尔值bool
  1. 布尔值就是用来表示事物的可行性。在程序中很常见,其名字一般都以is开头

  2. 程序中的所有数据都能转换为布尔值
    布尔值为Flase的数据只有 None Null 0

  • 元组
  1. 元组能够存储多个数据,能够更方便的获取整个或者局部

  2. 使用
    一般只能存储不可变数据

  • 集合type
  1. 集合只用于数值的关系运算和去重(关系运算:判断两个集合之间的数据关系)

与用户交互

输入/输出

  • 输入/输出的意义
    输入是向计算机传递信息 用input()获取
    input获取到的用户输入都会转成字符串类型

输出是计算机向外界输处信息,用print()输出

格式化输出

  • 使用%s替换
    在程序中先设置好一个文本,把需要替换的字符用%s代替,在输出时给予%s赋值。

  • 使用字符串的格式化输出

  1. 使用{}来替换%s的用法
  2. 使用{0, 1 ,......}
    就是对文本进行索引取值,可重复替代文本中相同数据
  3. 使用关键字取值(按K取值)
    当文本中存在字典型数据时,可以将文本中字典型的{K}用fromat方法用V替换
  4. 可使用fromat方法
    在输出文本前加f 用于替换文本所需替换的信息

基本运算符

  • 算数运算符
    | ------------ | ------------ |
    | 加 | + |
    | 减 | - |
    | 乘 | * |
    | 除 | / |
    | 整除 | // |
    | 取模 | % |
    | 幂指数 | ** |
    (x=x+10>>>x+=10)

  • 比较运算符
    == 等于
    != 不等于

  • 逻辑运算符

  1. 什么是逻辑运算符
    and 与
    or 或
    not 非
  2. 三个运算符都是用来配合条件一起使用
    and链接的多个条件必须都成立结果才成立(True)
    or链接的多个条件有一个成立结果就成立(True)
    not将条件取反(原本是对的就变成错的 如果是错的就变成对的
  • 成员运算符
    in 在......之内
    not in 不在......之内
  1. 列表在做成员运算的时候最小单位是数据值整体 不能再拆分也不能合并
  2. 字符串在做成员运算的时候最小单位是单个字符 也可以增加字符个数
  3. 字典在做成员运算的时候只有K会参与运算 V默认不暴露给外界
  • 身份运算符
    is 判断数据值的内存地址是否一致
    == 判断数据值是否一致

id() 使用该方法会返回一串数字, 相当于内存地址

多种赋值符号

  1. 链式赋值
    x=y=z=1
  2. 交叉赋值
    m=n
    n=m
  3. 解压赋值
    当赋值符号右边至少有两个即以上的数据时,将其分别赋值给不同变量名。

流程控制

  • 什么是流程控制
    流程控制就是事物的执行流程,总共有三种结构分别为:
    1.顺序结构
    2.分支结构
    3.循环结构
  • 流程控制的常识
  1. python中使用首行缩进来表示代码的从属关系
  2. 缩进量尽量为四个空格
  3. 并不是所有代码都能拥有子代码
  4. 相同缩进量没有主次之分,按照顺序进行

分支结构

  • 单if分支
    条件成立后立即执行正在执行的代码
    此条件可以是布尔值,表达式。
    判断的条件可以是一个也可以是多个

  • if...else分支

if 条件:
        条件成立之后执行的子代码
	else:
        条件不成立执行的子代码
 name = input('name>>>:')
    pwd = input('pwd>>>:')
  if name == 'sun' and pwd == '123':  # python中不同数据类型之间无法直接做比较
        print('1.8W薪资')
    else:
        print('进厂去吧')  

判断的条件可以说一个,也可以是由逻辑链接符链接的多个

  • if...elif...else分支
if 条件1:
        条件1成立执行的子代码
	elif 条件2:
        条件1不成立 条件2成立执行的子代码
	else:
        上述所有的条件都不成立执行的子代码

if elif else三者连用 永远只会走一个分支
elif 和 else都不能单独使用 必须结合if

循环结构

while循环

  • while循环的条件:
    while 条件:
    条件成立之后循环执行的子代码
    1.先判断while后面的条件是否成立 如果成立则执行子代码
    2.子代码运行完毕之后 再次回到while后面的条件判断处 判断条件是否成立
    3.如果成立则继续运行子代码 完毕后再次判断while后面的条件是否成立
    4.依次往复 直到条件不成立才会结束

  • while +break
    结束循环体的方式:
    自行写结束条件,利用while后的条件判断结束程序
    也可以在代码中加入break,强制结束

  • while + continue
    结束本次循环 直接开始下一次循环(也只影响所在的那一层循环而已)

  • while + else
    当循环体按照提前定义好的条件正常结束 则else后的输出语句会执行,否则不执行

  • 全局标志位

flag = True
while flag:
    print(11)
	while flag:
	    print(22)
	    while flag:
	        print(33)
	        flag = False

当使用全局标识位时,达到所想要的条件时,直接结束循环。

for循环

  • for循环与while循环的区别:
    for循环比while循环更方便,循环操作更简单

  • for循环的语法结构:
    for 变量命 in 可迭代对象:
    for 循环的循环体代码
    变量名的命名最好能见名知意,有明确指向
    若没有明显指向 , 可以用常见的字母表示

  • range方法
    range 可以看做是一个能够帮助我们快速产生一个包含多个的数据值的列表
    range( )
    若括号内只有一个数字,那么就是从0开始到该数字-1结束
    若括号内有两个数字,那么第一个数字是起始位置,第二个是终止位置
    若括号中有三个数字,那么第一个是起始位置,第二个是终止位置,第三个是间隔数

  • range方法在不同版本的作用
    1.在python2中,range() 直接产生一个列表,当数据量很大的时候可能会造成内存溢出
    xrange() 类似于一个工厂 , 什么时候需要,什么时候创建
    2.在python 3 中,range() , 同xrange () 方法一样

  • range方法操作网络爬虫

base_url = 'https://www.cnblogs.com/#p%s'
for i in range (1, 101)
    print (base_url %i)

  • for + break
    结束所在的那一层for循环
  • for + contiune
    结束所在的那一次for循环 直接开始下一次
  • for + else
    当for循环没有被强制结束的情况下 循环体结束之后运行else子代码
posted @   Nirvana*  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示