【Python爬虫与数据分析】初阶语法

目录

一、数据类型

二、输入输出

三、算术运算

四、逻辑与条件判断

五、循环控制

六、函数


一、数据类型

  • Python的数据类型分为常量数值变量字符串变量布尔变量(True、False)
  • 常量可以直接参与运算与赋值,变量无需声明可直接定义
  • 整型与浮点型数值可以直接相互运算,整型与浮点型数据的运算结果为浮点型
  • int型数据无数值上限,会根据数值大小而改变所占内存
  • 不同类型变量之间可以通过赋值进行隐式类型转换
  • 字符串支持用“+”运算符进行字符串拼接
  • 字符串可以用 ' ' 或 " " 来进行引用,通常情况下,' ' 和 "" 都可以对字符串数据进行正常引用,但是如果是用单引号对 ' ' 来引用的字符串中包含单引号字符 ' 的话,字符串就会被分割,这可能会引起报错,这时候就应该用双引号对 " "来引用包含单引号 ' 的字符串,同理用 ' ' 来引用包含 " 字符的字符串
  • 布尔(bool)变量True、False要注意大小写,首字母必须大小写,其他字母小写
  • 可以用type()函数查看数据的类型,用len()函数查看数据所占字节数
# 常量
print(10)  # 10
print(10 + 1.1)  # 11.1

# 变量
a = 10
print(a)        # 10
print(type(a))  # int

a = 10.1
print(a)        # 10.1
print(type(a))  # float

a = "hello 'world'"
print(a)        # hello 'world'
print(type(a))  # str
print(len(a))   # 13
print(a + " world!")  # hello 'world' world!

b = True
print(b)        # True
print(type(b))  # bool

二、输入输出

  • 键盘输入关键字是 input,input函数内的字符串参数可作为输入提示
  • 显示器输出的关键字是 print,print函数内可用 f'{value}' 打印value变量的原值
  • input 输入的默认数据类型是字符串(str)类型,可用 int(input('请输入数字: ')) 做类型转换
  • print 输出的数据之间可用逗号隔开而打印多个变量
  • print 输出数据的时候,会在输出结束时默认输出 \n 换行符,可以通过在print函数中对end形参进行赋值(定制)从而改变末尾输出符
num1 = input('请输入一个数据:')
print(num1, end=' ')
print(type(num1))           # 10 <class 'str'>
print(f'num1 = {num1}')     # num1 = 10

num2 = int(input('请输入一个数据:'))
print(num2, end=' ')        # 20 <class 'int'>
print(type(num2))           # num2 = 20
print(f'num2 = {num2}')     # 10 20

三、算术运算

# 四则运算
print(1 + 2 * 3 / 4 - 3)    # -0.5
print(7 / 3)    # 2.3333...
print(7 % 3)    # 1
 
# 乘方
print(2 ** 3)    # 8
print(9 ** 0.5)  # 3.0
print(pow(3, 2)) # 9
 
# //是地板除法,向下取整
print(7 // 2)   # 3
print(-7 // 2)  # -4
 
# divmod取整与取余
print(divmod(7, 2)) # (3, 1)
 
# 互换
a = 1
b = 2
a, b = b, a
print(a, b) # 2 1

四、逻辑与条件判断

  • 逻辑关键字:and or not
  • 条件关键字:if elif else
  • 取地址:id
  • 比较数值:==
  • 比较地址:is
a = True
b = False
 
if a and b:
    print("a is True and b is True")
elif a and not b:
    print("a is True and b is False")
elif not a and b:
    print("a is False and b is True")
else:
    print('a is False and b is False')
 
if a or b:
    print('a or b is True')
else:
    print('a and b are False')
 
a = 1
b = 1
print(id(a))
print(id(b))
print(a == b)   # True
print(a is b)   # True
 
a = [1, 2, 3]
b = [1, 2, 3]
print(id(a))
print(id(b))
print(a == b)   # True
print(a is b)   # False

五、循环控制

  • 关键字:forwhile
  • range(a, b):从a累加到b - 1
  • range(i):从0累加到 i - 1
  • continue:跳过一次循环
  • break:退出循环
sum = 0
for i in range(1, 101):
    sum += i
print(f'sum = {sum}')   # 5050
 
sum = 0
i = 0
while i <= 100:
    sum += i
    i += 1
print(f'sum = {sum}')   # 5050
 
# 假设有5个包子,第3个有虫不吃,吃第四个饱了
for i in range(1, 6):
    if i == 3:
        print(f'第{i}个包子有虫,不吃')
        continue
    if i == 4:
        print('吃饱了')
        break
    print(f'吃第{i}个包子')
    i += 1
 
"""
吃第1个包子
吃第2个包子
第3个包子有虫,不吃
吃饱了
"""

六、函数

自定义函数调用

x = 10
 
def test1():
    x = 20
    print(f'函数内部test1:{x}')
 
def test2():
    print(f'函数内部test2:{x}')
 
def test3():
    global x
    x = 20
    print(f'函数内部test3:{x}')
 
test1()
test2()
print(f'函数外部:{x}')
test3()
print(f'函数外部:{x}')

变量的作用域

x = 10
 
def test1():
    x = 20
    print(f'函数内部test1:{x}')
 
def test2():
    print(f'函数内部test2:{x}')
 
def test3():
    global x
    x = 20
    print(f'函数内部test3:{x}')
 
test1()
test2()
print(f'函数外部:{x}')
test3()
print(f'函数外部:{x}')

递归

# 求最大公约数
def Gcd(a, b):
    if b == 0:
        return a
    return Gcd(b, a % b)
 
print(Gcd(21, 3))   # 3

参数

  • 带默认值的参数必须排在参数列表的后面
  • 关键字传参,直接定制形参,可以改变传参顺序
def Point(x, y, z = 3):
    return x, y, z
 
print(Point(1, 2))  # (1, 2, 3)
print(Point(y = 1, x = 2))  # (2, 1, 3)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/32287.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于卷积神经网络的高光谱图像分类

文章目录 引言1. 基于光谱特征2. 基于空间特征3. 基于空谱特征3.1 空间特征和光谱特征的融合3.2 基于3D-CNN分类 4. 总结 引言 近年来深度学习的技术在计算机视觉领域中大放异彩&#xff0c;使得对多光谱数据分类的研究迅速发展&#xff0c;结合2D-CNN&#xff0c;3D-CNN&…

让性能腾飞!亚马逊云科技的 Java 云端之旅

在上篇文章中&#xff0c;我们为大家介绍了亚马逊的 Java 生态及丰富的开发工具、框架。本文将分享亚马逊的 Java 架构、迁移途径&#xff0c;并分享一个具体实例&#xff0c;介绍如何使用机器学习来构建 Java 应用和提升 Java 性能。 亚马逊云科技开发者社区为开发者们提供全…

怎么高效的通过爬虫获取数据

导语&#xff1a;在当今数字化时代中&#xff0c;获取数据已成为许多企业和个人的重要需求。在快速获取数据时&#xff0c;通过爬虫技术迅速获取网络数据已成为一项重要的技能和技术。然而&#xff0c;在应用爬虫技术前&#xff0c;需要注意一些重要的问题。本文总结了从数据来…

leetcode1.两数之和

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【LeetCode】 &#x1f353;希望我们一起努力、成长&#xff0c;共同进步。 题目链接 给定一个整数数组 nums 和一个整数目标值 target&am…

读写锁原理解读

目录 回顾什么是读写锁 t1 w.lock&#xff0c;t2 r.lock t3 r.lock&#xff0c;t4 w.lock t1 w.unlock t2 r.unlock&#xff0c;t3 r.unlock 写锁上锁流程 写锁释放流程 读锁上锁流程 读锁释放流程 回顾什么是读写锁 读写锁是一对互斥锁&#xff0c;分为读锁和写锁。…

《kafka 核心技术与实战》课程学习笔记(八)

无消息丢失配置怎么实现&#xff1f; Kafka 只对“已提交”的消息&#xff08;committed message&#xff09;做有限度的持久化保证。 第一个核心要素是“已提交的消息”。 当 Kafka 的若干个 Broker 成功地接收到一条消息并写入到日志文件后&#xff0c;它们会告诉生产者程序…

知识图谱项目——红色文化之张学良人物知识图谱(Neo4j+vue+flask+mysql实现)

张学良人物简史知识图谱_说明文档 本项目为人工智能专业大三知识图谱课程期末作业。意在完成一个以张学良为背景的红色文化类知识图谱。文末放上本项目的代码地址。 文章目录 张学良人物简史知识图谱_说明文档:rocket:前端:rocket:后端:rocket:中间件:rocket:数据库:rocket:服…

Linux常用命令——free命令

在线Linux命令查询工具 free 显示内存的使用情况 补充说明 free命令可以显示当前系统未使用的和已使用的内存数目&#xff0c;还可以显示被内核使用的内存缓冲区。 语法 free(选项)选项 -b # 以Byte为单位显示内存使用情况&#xff1b; -k # 以KB为单位显示内存使用情况…

【云原生】二进制部署k8s集群(中)搭建node节点

连接上文 在上文已经成功部署了etcd分布式数据库、master01节点&#xff0c; 本文将承接上文的内容&#xff0c;继续部署Kubernetes集群中的 worker node 节点和 CNI 网络插件 1. 部署 Worker Node 组件 1.1 work node 组件部署前需了解的节点注册机制 kubelet 采用 TLS Bo…

设计模式-05.01-行为型-观察者模板

观察者模式【常用】 我们常把 23 种经典的设计模式分为三类&#xff1a;创建型、结构型、行为型。前面我们已经学习了创建型和结构型&#xff0c;从今天起&#xff0c;我们开始学习行为型设计模式。我们知道&#xff0c;创建型设计模式主要解决“对象的创建”问题&#xff0c;…

JavaWeb之tomcarHTTP

1 DOM4j Xml解析 1.1 JAXP  JDK内置&#xff0c;不需要导入第三方jar包&#xff0c;简单工具优先选择。  支持两种解析方式&#xff1a;DOM、SAX 1.1.1 JAXP—DOM 加载xml 生成一个DOM树。获得整个文档的描述对象Document 解析 api 获得工厂 DocumentBuilderFactory –》 …

Android adb shell命令捕获systemtrace

Android adb shell命令捕获systemtrace (1)抓取trace文件&#xff1a; adb shell perfetto -o /data/misc/perfetto-traces/trace_file.perfetto-trace -t 20s sched freq idle am wm gfx view binder_driver hal dalvik camera input res memory -t 时长&#xff0c;20s&a…

通过使用Mybatis插件来实现数据的分页功能

目录 背景一、SpringBoot的后端1、手动拼接SQL来实现2、使用Mybatis插件来实现 二、Vue-cli的前端:请求响应跟踪 三、在使用Mybatis插件进行多表查询(表数大于2)出现的问题1. SQL解决2.后端查询方式改变成嵌套查询 四、 分页总结 背景 分页: 如果一次性的查询全部数据, 响应时…

高级数据结构——平衡二叉树(AVL树)

目录 1. 底层结构 2. AVL数的概念 3. AVL树节点的定义 4. 基本框架 5. AVL树的插入 6. AVL树的旋转 6.1 左单旋 6.2 右单旋 6.3 左右双旋 6.4 右左双旋 7. AVL树的验证 8. AVL树的查找 9. AVL树的删除 10. AVL树的性能 11. 总代码 11.1 AVLTree 11.2 Test.c…

SuperMap GIS基础产品移动GIS FAQ集锦(3)

SuperMap GIS基础产品移动GIS FAQ集锦&#xff08;3&#xff09; 【iMobile】网络分析中设置权值字段&#xff0c;如何添加多个权值字段&#xff1f; 【解决办法】通过权值字段集合类&#xff08;WeightFieldInfos&#xff09;设置&#xff0c;该类是权值字段信息对象&#x…

【AI】Stable-Diffusion-WebUI使用指南

注&#xff1a;csdn对图片有审核&#xff0c;审核还很奇葩&#xff0c;线稿都能违规&#xff0c;为保证完整的阅读体验建议移步至个人博客阅读 最近AI绘画实现了真人照片级绘画水准&#xff0c;导致AI绘画大火&#xff0c;公司也让我研究研究&#xff0c;借此机会正好了解一下…

django旅游推荐系统-计算机毕设 附源码82884

django旅游推荐系统 摘 要 随着社会的快速发展和人们生活水平的不断提高&#xff0c;旅游已逐渐成为人们生活的重要组成部分&#xff0c;用户能够获取旅游信息的渠道也随信息技术的广泛应用而增加。大量未经过滤的信息在展示给用户的同时&#xff0c;也淹没了用户真正感兴趣的信…

配置NIS服务器及客户端

在服务端安装所需软件包 设置主机名和NIS域名 编辑 NIS服务器主配置文件 最下面编辑访问控制 建立测试用户 配置NFS&#xff0c;否则客户端切换用户时&#xff0c;用户没有家目录 安装NFS所需软件包 Nfs-utils 给两个共享目录权限&#xff0c;编辑NFS配制文件 共享两个目录 重…

【从零开始学习C++ | 第二十一篇】C++新增特性 (上)

目录 前言&#xff1a; 委托构造函数&#xff1a; 类内初始化&#xff1a; 空指针&#xff1a; 枚举类&#xff1a; 总结&#xff1a; 前言&#xff1a; C的学习难度大&#xff0c;内容繁多。因此我们要及时掌握C的各种特性&#xff0c;因此我们更新本篇文章&#xff0c;向…

【数据管理架构】什么是 OLTP?

OLTP&#xff08;在线事务处理&#xff09;支持在 ATM 和在线银行、收银机和电子商务以及我们每天与之交互的许多其他服务背后进行快速、准确的数据处理。 什么是 OLTP&#xff1f; OLTP 或在线事务处理允许大量人员&#xff08;通常通过 Internet&#xff09;实时执行大量数据…
最新文章