当前位置: 首页 > news >正文

【0基础学Python】基础语法Part1

第一个python程序

print(1+2-3)
print('hello world!')
print(1+2/3)

熟悉 C / Java 的同学可能认为, 2 / 3 结果为 0 (小数部分被截断). 但是在 Python 中得到的结果则是 一个小数. 更符合日常使用的直觉。

变量和类型

python无需声明变量类型,会自动确定你所写的变量的类型。

变量的语法

(1)定义变量

a = 10

创建变量的语句非常简单, 其中 a 为变量名.

  • 当我们创建很多个变量的时候, 就可以用名字来进行区分.
  • = 为赋值运算符, 表示把 = 右侧的数据放到 = 左侧的空间中.

遵守硬性规则(务必遵守)

  • 变量名由数字字母下划线构成.
  • 数字不能开头.
  • 变量名不能和 “关键字” 重复.
  • 变量名大小写敏感.
  • num 和 Num 是两个不同的变量名.

除了以上规则,应尽量变量名有意义化,规范化,使用学习命名方法。

使用变量

  • 读取变量
a = 10
print(a)
  • 修改变量
a = 20
print(a)

在 Python 中, 修改变量也是使用 = 运算, 看起来和定义变量没有明显区别.

变量的类型

在python中有必要介绍一下变量类型有哪些。

  • 整数

    a = 10
    print(type(a)) # type 和 print 类似, 也是 python 内置的函数. 可以使用 type 来查看一个变量的类型.
    

注意: 和 C++ / Java 等语言不同, Python 的 int 类型变量, 表示的数据范围是没有上限的. 只要内存足够大, 理论上就可以表示无限大小的数据.

  • 浮点型(小数)
a = 0.5

注意: 和 C++ / Java 等语言不同, Python 的小数只有 float 一种类型, 没有 double 类型. 但是实际上 Python 的 float 就相当于 C++ / Java 的 double, 表示双精度浮点数.

  • 字符串
a = 'hello'
print(type(a))

使用 ’ ’ 或者 " " 引起来的, 称为 字符串. 可以用来表示文本.

注意: 在 Python 中, 单引号构成的字符串和双引号构成的字符串, 没有区别. ‘hello’ 和 “hello” 是 完全等价的.

可以使用len函数来获取字符串长度。

a = 'hello'
print(len(a))

可以使用+针对两个字符串进行拼接。

a = 'hello'
b = 'world'
print(a+b)
  • 布尔类型

布尔类型是一个特殊的类型, 取值只有两种, True (真) 和 False (假)。

布尔类型也是数学上的一个概念. 我们初中就学过一个概念叫做 “命题” , 进一步的就可以判定命题的真假.

a = True
print(type(a))
b = False
print(type(b))

除了上述基本数据类型以外,还有其他较为复杂的数据类型以及自定义类型,后续将会介绍。

为什么要有这么多类型

  • 类型决定在内存中占据的空间
  • 类型决定其对变量能做什么样的操作
  • 对变量进行归类

动态类型

在 Python 中, 一个变量是什么类型, 是可以在 “程序运行” 过程中发生变化的. 这个特性称为 “动态类型” .

a = 10
print(type(a))
a = 'hello'
print(type(a))
# 在程序执行过程中, a 的类型刚开始是 int, 后面变成了str

动态类型特性是一把双刃剑。

  • 对于中小型程序, 可以大大节约代码量(比如写一段代码就可以同时支持多种类型).
  • 对于大型程序, 则提高了模块之间的交互成本.

输入输出

输入:print(hello)

输出:

num=0
num=input('请输入一个整数:')
  • input的参数可有可无,当作提示信息

  • input的返回值就是用户输入的内容,类型是字符串

  • 根据第二点,如果两个输入内容相加,则是字符串拼接而不是算术运算。如果需要算术运算,则应该转换类型

    a = input('请输入第一个整数: ')
    b = input('请输入第二个整数: ')
    a = int(a)
    b = int(b)
    print(f'a + b = {a + b}')
    
  • 使用 f 作为前缀的字符串, 称为 f-string, 里面可以使用 { } 来内嵌一个其他的变量/表达式(用于混合字符串和变量)

运算符

算术运算符

  • **:求平方
  • //:取整除法,整数除以整数,结果还是整数(舍弃小数部分,向下取整)

关系运算符

  • 关系符合返回True,不符合返回False
  • 关系运算符除了整数/浮点数的比较,还可以对字符串进行比较,按照字典序

关于字典序: 想象一个英文词典, 上面的单词都是按照字母顺序排列. 如果首个字母相同, 就比较第二个字母. (就 比如著名单词 abandon). 我们认为一个单词在词典上越靠前, 就越小. 越靠后, 就越大.

  • 浮点数不能使用和==判定相等,因为不精准

逻辑运算符

  • and:并且。 两侧操作数均为 True, 最终结果为 True. 否则为 False. (一假则假)
  • or:或者。 两侧操作数均为 False, 最终结果为 False. 否则为 True. (一真则真)
  • not:逻辑取反。操作数本身为 True, 则返回 False. 本身为 False, 则返回 True.

注意:

  • a<b and b<c等价于a<b<c
  • 短路求值:对于 and, 如果左侧表达式为 False, 则整体一定为 False, 右侧表达式不再执行.;对于 or, 如果左侧表达式为 True, 则整体一定为 True, 右侧表达式不再执行.

赋值运算符

  • =

  • 复合赋值运算符:+= -= *= /= %=

    a+=1 等价于 a=a+1,其他同理。

    但是不支持自增自减

数据结构

[] {2,3,2}

定义函数

文件

如果左侧表达式为 False, 则整体一定为 False, 右侧表达式不再执行.;对于 or, 如果左侧表达式为 True, 则整体一定为 True, 右侧表达式不再执行.

赋值运算符

  • =

  • 复合赋值运算符:+= -= *= /= %=

    a+=1 等价于 a=a+1,其他同理。

    但是不支持自增自减

相关文章:

  • Next.js Server Action 提交 vs 前端 Fetch 提交:核心区别与优劣分析
  • 降级选型啊
  • 【向量模型】 开源通用向量模型BGE (BAAI General Embedding)
  • 英文字体:现代复古美学精致细节浓缩式衬线排版logo标题艺术字体 La Luxes Serif
  • 网络安全高级软件编程技术 网络安全 软件开发
  • 蓝桥杯备赛日记【day1】(c++赛道)
  • 解决VScode 连接不上问题
  • OpenWrt 源码目录分析与最终文件系统分析
  • CSS Web安全字体
  • Jump( 2015-2016 ACM-ICPC Northeastern European Regional Contest (NEERC 15). )
  • Autosar技术栈总目录
  • 系统安全阶段练习真题(高软44)
  • 基于DeepSeek与搜索引擎构建智能搜索摘要工具
  • c++:迭代器的失效
  • 星舰(Starship)近地轨道运力极限分析
  • 电路常用常用的定理/定律/计算方法
  • 【开源免费】基于SpringBoot+Vue.JS青年公寓服务平台(JAVA毕业设计)
  • 安装树莓派3B+环境(嵌入式开发)
  • FPGA学习篇——Verilog学习特别篇1(实现功能篇)
  • 神经网络为什么要用 ReLU 增加非线性?
  • 上海企业网站建设哪家好/八爪鱼磁力搜索引擎
  • wordpress 插件 css/宁波seo在线优化方案公司
  • 深圳有做公司网站/建站优化
  • 有什么做旅游攻略的网站/产品推广软件有哪些
  • 网站组网图/推广引流渠道有哪些
  • 杭州知名网站建设公司/杭州关键词优化服务