30天python从零到一---第三天:python基础语法

Posted 披星戴月的贾维斯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了30天python从零到一---第三天:python基础语法相关的知识,希望对你有一定的参考价值。

🍎 博客主页:🌙@披星戴月的贾维斯
🍎 欢迎关注:👍点赞🍃收藏🔥留言
🍇系列专栏:🌙 Python专栏
🌙请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信,世界上总有一些美好值得我们全力以赴,哪怕粉身碎骨!🌙
🍉一起加油,去追寻、去成为更好的自己!

文章目录

提示:以下是本篇文章正文内容,下面案例可供参考


🍎1、注释

🔥1.1、注释是什么?🔥

注释是一种特殊的代码, 它不会影响到程序的执行, 但是能够起到解释说明的作用, 能够帮助程序猿理解程序代码的执行逻辑。
写代码是一件比较烧脑的事情, 读代码同样也非常烧脑. 相比于一板一眼的代码, 一些口语化的描述能更好的帮助我们理解程序.

代码示例:

"""
文档注释
这是计算方差的代码
"""

# 这是计算方差的代码 注释的方式之一,行注释
avg = (67.5 + 89.0 + 12.9 + 32.2) / 4  # 变量赋值
total=(67.5 - avg) ** 2 + (89.8 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg)
#** 是代表乘方
results = total / 3
print(results)

#+空格是开头的注释,一般是写在要注释的代码的上方。
也是少数情况下是要注释代码的右侧的。
很少写在代码的下方,更不会写到代码左侧。

🔥1.2、 注释的语法?🔥
Python 中有两种风格的注释.
(1) 注释行
使用 # 开头的行都是注释.

# 这是一行注释.

(2) 文档字符串
使用三引号引起来的称为 “文档字符串”, 也可以视为是一种注释.
可以包含多行内容,
一般放在 文件/函数/类 的开头.
“”" 或者 ‘’’ 均可 (等价)

"""
这是文档字符串
这是文档字符串
"""

(3)批量注释 选中 + ctrl + /
🔥1.3、注释的规范

  1. 内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新.
  2. 篇幅合理: 注释既不应该太精简, 也不应该长篇大论.
  3. 使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论.
  4. 积极向上: 注释中不要包含负能量(例如 穷B 等).

🍎 2、输入输出

🔥2.1、和用户交互🔥
程序需要和用户进行交互.

  • 用户把信息传递给程序的过程, 称为 “输入”.
  • 程序把结果展示给用户的过程, 称为 “输出”.

输入输出的最基本的方法就是控制台. 用户通过控制台输入一些字符串, 程序再通过控制台打印出一些字符串.

PyCharm 运行程序, 下方弹出的窗口就可以视为是控制台

输入输出的最常见方法是图形化界面.如我们平时用到的 QQ, 浏览器, steam 等, 都不需要用户输入命令, 而只是通过鼠标点击窗口点击按钮的方式来操作.

🔥2.2、通过控制台输出🔥
Python 使用 print 函数输出到控制台.

print('hello')

不仅能输出一个字符串, 还可以输出一个其他类型的变量

a = 10
print(a)
b = True
print(b)


格式化输出字符串‘

a = 10

print(f"a = a + 10") # 格式化输出字符串

注意:

  • 使用 f 作为前缀的字符串, 称为 f-string
  • 里面可以使用 来内嵌一个其他的变量/表达式.

🔥2.3、通过控制台输入🔥
python 使用 input 函数, 从控制台读取用户的输入.

num = 0
num = input('请输入一个整数: ')
print(f'你输入的整数是 num')


注意:

  • input 的参数相当于一个 “提示信息”, 也可以没有.
  • input 的返回值就是用户输入的内容. 是字符串类型.
  • input执行的时候,就会等待用户输入。

    通过 int( ) 把变量转成了 int 类型.
    类似的, 使用 float( ), bool( ), str( ) 等可以完成对应的类型转换.

代码示例: 输入 4 个小数, 求 4 个小数的平均值.

a = input('请输入第一个数字: ')
b = input('请输入第二个数字: ')
c = input('请输入第三个数字: ')
d = input('请输入第四个数字: ')
a = float(a)
b = float(b)
c = float(c)
d = float(d)
avg = (a + b + c + d) / 4
print(f'平均值: avg')


🍎 3、 运算符

🔥3.1、算术运算符🔥

像 + - * / % ** // 这种进行算术运算的运算符, 称为 算术运算符

注意1: / 中不能用 0 作为除数. 否则会 抛出异常

print(10 / 0)

注意2: 整数 / 整数 结果可能是小数. 而不会截断

print(1 / 2)

注意3: % 不是 “百分数”, 而是求余数.

print(7 % 2)

关于求余数, 有些同学容易蒙. 其实这个是小学二年级数学就学过的.
7 除以 2 , 商是 3 , 余数是 1.

注意4: ** 是求乘方. 不光能算整数次方, 还能算小数次方.

print(4 ** 2)
print(4 ** 0.5)

注意5: // 是取整除法(也叫地板除). 整数除以整数, 结果还是整数(舍弃小数部分, 并向下取整. 不是四舍五入)

print(7 // 2)
print(-7 // 2)


🔥3.2、算术运算符🔥
像 < <= > >= == != 这一系列的运算符称为 关系运算符, 它们是在比较操作数之间的关系.
其中

  • <= 是 “小于等于”
  • -> = 是 “大于等于”
  • == 是 “等于”
  • != 是 “不等于”

(1) 如果关系符合, 则表达式返回 True. 如果关系不符合, 则表达式返回 False

a = 10
b = 20
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)

(2) 关系运算符不光针对整数/浮点数进行比较, 还能针对字符串进行比较.

a = 'hello'
b = 'world'
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)

**注意: **

  • 直接使用 == 或者 != 即可对字符串内容判定相等. (这一点和 C / Java 不同).
  • 字符串比较大小, 规则是 “字典序” 。针对中文进行字符串比较是没有意义的!

(3) 对于浮点数来说, 不要使用 == 判定相等

print(0.1 + 0.2 == 0.3)

注意: 浮点数在计算机中的表示并不是精确的! 在计算过程中, 就容易出现非常小的误差

print(0.1)
print(0.2 + 0.1)


可以看到, 0.1 + 0.2 的结果并非是 0.3 , 而是带了个小尾巴. 虽然这个尾巴非常小了, 但是 == 是锱铢必较的, 仍然会导致 == 的结果为 False.

正确的比较方式: 不再严格比较相等了, 而是判定差值小于允许的误差范围.


a = 0.1 + 0.2
b = 0.3
print(-0.000001 < (a - b) < 0.000001)

🔥3.3、逻辑运算符🔥
像 and or not 这一系列的运算符称为 逻辑运算符。这个和C/java有所不同,C/java里是&& || 。
代码示例

a = 10
b = 20
c = 30
print(a < b and b < c)
print(a < b and b > c)
print(a > b or b > c)
print(a < b or b > c)
print(not a < b)
print(not a > b)

a < b and b < c 这个操作等价于 a < b < c这个设定和大部分编程语言都不相同。

关于短路求值
和其他编程语言类似, Python 也存在短路求值的规则

  • 对于 and, 如果左侧表达式为 False, 则整体一定为 False, 右侧表达式不再执行.
  • 对于 or, 如果左侧表达式为 True, 则整体一定为 True, 右侧表达式不再执行.
print(10 > 20 and 10 / 0 == 1)
print(10 < 20 or 10 / 0 == 1)


上述代码没有抛出异常, 说明右侧的除以 0 操作没有真正执行.

🔥3.4、赋值运算符
(1) = 的使用
= 表示赋值. 这个我们已经用过很多次了. 注意和 == 区分.
= 除了基本的用法之外, 还可以同时针对多个变量进行赋值.

链式赋值

a = b = 10;

多元赋值

a, b = 10, 20

(2) 复合赋值运算符
Python 还有一些 复合赋值运算符. 例如 += -= *= /= %=
其中 a += 1 等价于 a = a + 1 . 其他复合赋值运算符也是同理


a = 10
a = a + 1
print(a)
b = 10
b += 1
print(b)

注意: 像 C++ / Java 中, 存在 ++ – 这样的自增/自减运算符. Python 中则不支持这种运算.

🍎 4、总结

    本文总共介绍了Python中注释,输入输出,以及运算符等三个知识点,希望大家读后也能有所收获!

30天python从零到一---第四天:python基础语法

🍎 博客主页:🌙@披星戴月的贾维斯
🍎 欢迎关注:👍点赞🍃收藏🔥留言
🍇系列专栏:🌙 Python专栏
🌙请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信,世界上总有一些美好值得我们全力以赴,哪怕粉身碎骨!🌙
🍉一起加油,去追寻、去成为更好的自己!


文章目录

提示:以下是本篇文章正文内容,下面案例可供参考


🍎1、顺序语句

🔥1.1、顺序语句的概念 ?🔥

默认情况下, Python 的代码执行顺序是按照从上到下的顺序, 依次执行的。
这个顺序是不会乱的

print("111")
print("2111")
print("3111")

执行结果一定为 “111 2111 3111”, 而不会出现 "3111 2111 111"等. 这种按照顺序执行的代码,我们称为顺序语句。
这个顺序是很关键的. 编程是一件明确无歧义的事情. 安排好任务的顺序, 计算机才能够正确的进行执行.


🍎2、条件语句

🔥2.1、什么是条件语句 ?🔥
条件语句能够表达 “如果 … 否则 …” 这样的语义. 这构成了计算机中基础的逻辑判定。
条件语句 也叫做 分支语句, 表示了接下来的逻辑可能有几种走向

举个例子:
如果我在学校里没有买电动车
1.那么我去教室得走路去,如果起得晚,很可能会迟到
2.那么我去教室或者去其他远点的地方得骑共享单车,或者坐别人的车。…

例子2:
如果我认真敲代码
我就很容易找到工作
否则
我就容易毕业就失业

其中 “我认真敲代码” 称为 条件. 如果条件成立(条件为真), 则会出现 “我就很容易找到工作” 这个情况. 如果条件不成立(条件为假), 则会出现 “我就容易毕业就失业”.

🔥2.2、语法格式 ?🔥
Python 中使用 if else 关键字表示条件语句
(1) if

if expression:
 do_something1
 do_something2
next_something

如果 expression 值为 True, 则执行 do_something1, do_something2, next_something
如果 expression 值为 False, 则只执行 next_something, 不执行 do_something1, do_something2

(2) if - else

if expression:
 do_something1
else:
 do_something2

如果 expression 值为 True, 则执行 do_something1
如果 expression 值为 False, 则执行 do_something2

(3) if - elif - else

if expression1:
 do_something1
elif expression2:
 do_something2
else:
 do_something3

如果 expression1 值为 True, 则执行 do_something1
如果 expression1 值为 False, 并且 expression2 为 True 则执行 do_something2
如果 expression1 值为 False, 并且 expression2 为 False 则执行 do_something3

注意: Python中的条件语句写法, 和很多编程语言不太一样.

  • if 后面的条件表达式, 没有 ( ), 使用 : 作为结尾.
  • if / else 命中条件后要执行的 “语句块”, 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是
  • 对于多条件分支, 不是写作 else if, 而是 elif (合体了).

代码示例:

choise = input("输入1 表示买了电动车  输入2 表示没买电动车:")

# 注意这里比较的是字符串 1,而不是整数1 ,整数需要int()强转

if choise == '1':
    print('你能更快去上课')
else:
    print('得去走路上课')


我们还可以对代码进行改进,因为用户可能输入既不是1,也不是2,我们要把这种判定为非法操作。

choise = input("输入1 表示买了电动车  输入2 表示没买电动车:")

# 注意这里比较的是字符串 1,而不是整数1 ,整数需要int()强转

if choise == '1':
    print('你能更快去上课')
elif choise == '2':
    print('得去走路上课')
else:
    print('用户输入非法!')

🔥2.2、缩进和代码块 ?🔥

代码块 指的是一组放在一起执行的代码.
在 Python 中使用缩进表示代码块. 不同级别的缩进, 程序的执行效果是不同的.

#     代码1 
a = input("请输入一个整数: ")
if a == "1":
    print("hello")
    print("world")
#    代码2
a = input("请输入一个整数: ")
if a == "1":
    print("hello")
print("world")

**注意上述代码的区别.
在代码1 中, print(“world”) 有一级缩进, 这个语句属于 if 内的代码块, 意味着条件成立, 才执行, 条件
不成立, 则不执行.
在代码2 中, print(“world”) 没有缩进, 这个语句是 if 外部的代码, 不属于 if 内部的代码块. 意味着条件
无论是否成立, 都会执行. **

Python 嵌套代码

a = input("请输入第一个整数: ")
b = input("请输入第二个整数: ")
if a == "1":
    if b == "2":
        print("hello")
    print("world")
print("python")

在这个代码中,

print(“hello”) 具有两级缩进, 属于 if b == “2” 条件成立的代码块.
print(“world”) 具有一级缩进, 属于 if a == “1” 条件成立的代码块.
print(“python”) 没有缩进, 无论上述两个条件是否成立, 该语句都会执行

基于缩进的方式表示代码块, 带来的好处就是强制要求程序猿要写明确的缩进, 来明确代码之间的相对关
系. 如果缩进书写的不对, 则直接报错.

像 C++ / Java 这些语言, 即使完全不写缩进, 语法也不会报错. 代码可读性就比较差.
同时, 带来的坏处就是, 如果缩进层次比较多, 就容易分不清楚某个语句属于哪个层级.

上点让人读起来难受的代码

if a == 1:
    if b == 2:
        if c == 3:
            if d == 4:
                if e == 5:
                    if f == 6:
                        if g == 7:
                   print("hello")
               print("1")
     print("2")

因此, 就有了 “写 Python 需要自备游标卡尺” 这个梗.

🍎3、空语句 pass

代码示例: 输入一个数字, 如果数字为 1, 则打印 hello

a = int(input("请输入一个整数:"))
if a == 1:
    print("hello")

这个代码也可以等价写成

a = int(input("请输入一个整数:"))
if a != 1:
 pass
else:
    print("hello")

其中 pass 表示 空语句, 并不会对程序的执行有任何影响, 只是占个位置, 保持 Python 语法格式符合要求

a = int(input("请输入一个整数:"))
if a != 1:
else:
print("hello")

程序是不符合 Python 语法的, 会直接报错.

🍎4、总结

    本文总共介绍了顺序语句,条件语句,空语句 pass等三个知识点,希望大家读后也能有所收获!

以上是关于30天python从零到一---第三天:python基础语法的主要内容,如果未能解决你的问题,请参考以下文章

30天python从零到一---第二天:python基础语法

30天python从零到一---第五天:人生重开模拟器 ,循环语句

插件Cinemachine之从零到一

开源项目ZXX-CAS系统从零到一|第三篇:集成数据库服务

从零到一实现神经网络(python):二

JavaWeb从零到一会话技术Cookie&Session&JSP