Python 基本语法整理

Python 基础语法整理

我们每学一门编程语言总是以一个简单的Hello World!程序开始学起,以此来初步了解的该编程语言的书写格式。所以学习Python这门被称为未来的编程语言,我们还是以Hello World!来开始python的从从入门到放弃之旅,当然在正式学习python这门编程语言之前我们需要了解python的历史、特点以及编译环境。

在linux操作系统下我们可以在终端窗口直接输入ipython3即可进行我们的python编程之路。如果没有安装ipython3的可以在终端中输入以下命令安装ipython3.

sudo apt-get install ipython3

因为都是从零开始学习,边学边忘是肯定不可避免的,所以在终端中练习python的语法,可能对初学者不太友好,所以在这里我们就直接使用python的编译器PyCharm来开始学习。在Linux安装Python就不详细介绍了,大家自行百度。

还有就是Ubuntu20.04的系统好像有Bug,PyCharm下载安装后,使用的时候不能输入中文。如果你也遇到这种情况的话,可以参考下面这篇博客解决。
Ubuntu20.04下安装的PyCharm无法输入中文的解决方法

1.Hello World!
print("Hello World!")

单看语法是不是贼简单,不用像写C、C++、Java代码那样头文件,main函数一大堆东西。一样的问题,用不同的语言解决,代码量差距还是很多的,一般情况下 PythonJava1/5,所以说 人生苦短,我用 Python

在补充一下print()函数的使用

"""
正常情况下print()语句执行后会自动换行,我们可以在print(“输出内容“,end = "指定的内容结尾")
"""
# 执行完之后自动换行
print("Hello World!")

# 输出Hello World之后,以“print函数执行完了”替换换行
print("Hello World!",end="print函数执行完了")

2.注释

注释的作用:

​ 使用自己熟悉的语言,在程序中对某些代码进行标注说明,以此来增加代码的可读性。

单行注释

  • # 开头,# 右边的所有东西都被当做说明文字,而不是真正要执行的程序,只起到辅助说明作用
  • 示例代码如下:
# 这是第一个单行注释
print("hello python")

为了保证代码的可读性,# 后面建议先添加一个空格,然后再编写相应的说明文字

多行注释

  • 如果希望编写的 注释信息很多,一行无法显示,就可以使用多行注释
  • 要在 Python 程序中使用多行注释,可以用 一对 连续的 三个 引号(单引号和双引号都可以)
  • 示例代码如下:
"""
这是一个多行注释

在多行注释之间,可以写很多很多的内容……
""" 
print("hello python")
  1. 注释不是越多越好,对于一目了然的代码,不需要添加注释
  2. 对于 复杂的操作,应该在操作开始前写上若干行注释
  3. 对于 不是一目了然的代码,应在其行尾添加注释(为了提高可读性,注释应该至少离开代码 2 个空格)
  4. 绝不要描述代码,假设阅读代码的人比你更懂 Python,他只是不知道你的代码要做什么
3.算术运算符

算术运算符

  • 算数运算符是 运算符的一种
  • 是完成基本的算术运算使用的符号,用来处理四则运算
运算符描述实例
+10 + 20 = 30
-10 - 20 = -10
*10 * 20 = 200
/10 / 20 = 0.5
//取整除返回除法的整数部分(商) 9 // 2 输出结果 4
%取余数返回除法的余数 9 % 2 = 1
**又称次方、乘方,2 ** 3 = 8
  • 在 Python 中 * 运算符还可以用于字符串,计算结果就是字符串重复指定次数的结果

算术运算符的优先级

  • 和数学中的运算符的优先级一致,在 Python 中进行数学计算时,同样也是:
    • 先乘除后加减
    • 同级运算符是 从左至右 计算
    • 可以使用 () 调整计算的优先级
  • 以下表格的算数优先级由高到最低顺序排列
运算符描述
**幂 (最高优先级)
* / % //乘、除、取余数、取整除
+ -加法、减法
  • 例如:
    • 2 + 3 * 5 = 17
    • (2 + 3) * 5 = 25
    • 2 * 3 + 5 = 11
    • 2 * (3 + 5) = 16
4.变量

语法格式:

变量名称 = 变量的值

# 定义 qq 号码变量
qq_number = "1234567"

# 定义 qq 密码变量
qq_password = "123"

# 在程序中,如果要输出变量的内容,需要使用 print 函数
print(qq_number)
print(qq_password)

使用解释器执行,如果要输出变量的内容,必须要要使用 print 函数

"""
在python中如何查看自己定义的变量是什么类型
使用type(变量的名称)函数来查看
"""
prince = 15
print(type(prince))

变量中的类型

  • Python 中定义变量是 不需要指定类型(在其他很多高级语言中都需要)
  • 数据类型可以分为 数字型非数字型
  • 数字型
    • 整型 (int)
    • 浮点型(float
    • 布尔型(bool
      • True 非 0 数 —— 非零即真
      • False 0
    • 复数型 (complex)
      • 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题
  • 非数字型
    • 字符串
    • 列表
    • 元组
    • 字典

变量的输入

语法:字符串变量 = input(“提示信息:”)

input = input("请输入您的电话号:")

注意:这里的input函数默认输入端输入的是一个字符串类型

类型转换函数

函数说明
int(x)将 x 转换为一个整数
float(x)将 x 转换到一个浮点数

变量的格式化输出

格式化字符含义
%s字符串
%d有符号十进制整数,%06d 表示输出的整数显示位数,不足的地方使用 0 补全
%f浮点数,%.2f 表示小数点后只显示两位
%%输出 %
  • 语法格式如下:
print("格式化字符串" % 变量1)

print("格式化字符串" % (变量1, 变量2...))

最后一个买苹果的小练习来总结以上的语法

# 小明买苹果
name = "小明"
"""
定义并输入苹果的价格
这里强制转换的函数可以分开两行写  如:
price = input("请输入苹果的价格:")
然后将其转化成小数
prince = float(prince)
我这里就和在一起写了
"""
price = float(input("请输入苹果的价格:"))

# 输入想要买的数量
weight = float(input("请问您要买多少:"))

# 小明总共有多少钱
sumMoney = 100

# 计算小明买苹果花了多少钱
sumPrice = weight * price

# 计算买苹果花的钱占总数的百分之多少
percent = sumPrice / sumMoney

# 最后格式化输出
print("一千克苹果单价%.2f,%s买了%.f千克苹果,花了%0.2f元,是小明总钱数的%.f%%" %
(price,name,weight,sumPrice,percent * 100))
5.判断(if)语句

5.1 if判断语句的基本语法

Python 中,if 语句 就是用来进行判断的,格式如下:

if 要判断的条件:
    条件成立时,要做的事情
    ……

注意:代码的缩进为一个 tab 键,或者 4 个空格 —— 建议使用空格

  • 在 Python 开发中,Tab 和空格不要混用!

5.2 else处理条件不满足

else,格式如下:

if 要判断的条件:
    条件成立时,要做的事情
    ……
else:
    条件不成立时,要做的事情
    ……

注意

  • ifelse 语句以及各自的缩进部分共同是一个 完整的代码块

5.3 逻辑运算符

and

条件1 and 条件2
  • 并且
  • 两个条件同时满足,返回 True
  • 只要有一个不满足,就返回 False

or

条件1 or 条件2
  • 或者
  • 两个条件只要有一个满足,返回 True
  • 两个条件都不满足,返回 False

not

not 条件
  • 不是

5.4 elif

  • 在开发中,使用 if 可以 判断条件
  • 使用 else 可以处理 条件不成立 的情况
  • 但是,如果希望 再增加一些条件条件不同,需要执行的代码也不同 时,就可以使用 elif
  • 语法格式如下:
if 条件1:
    条件1满足执行的代码
    ……
elif 条件2:
    条件2满足时,执行的代码
    ……
elif 条件3:
    条件3满足时,执行的代码
    ……
else:
    以上条件都不满足时,执行的代码
    ……
  • 对比逻辑运算符的代码
if 条件1 and 条件2:
    条件1满足 并且 条件2满足 执行的代码
    ……

5.5 if语句的嵌套

elif 的应用场景是:同时 判断 多个条件,所有的条件是 平级

  • 在开发中,使用 if 进行条件判断,如果希望 在条件成立的执行语句中增加条件判断,就可以使用 if 的嵌套
  • if 的嵌套 的应用场景就是:在之前条件满足的前提下,再增加额外的判断
  • if 的嵌套 的语法格式,除了缩进之外 和之前的没有区别
  • 语法格式如下:
if 条件 1:
    条件 1 满足执行的代码
    ……
    
    if 条件 1 基础上的条件 2:
        条件 2 满足时,执行的代码
        ……    
        
    # 条件 2 不满足的处理
    else:
        条件 2 不满足时,执行的代码
        
# 条件 1 不满足的处理
else:
    条件1 不满足时,执行的代码
    ……

5.6 随机数的处理

  • Python 中,要使用随机数,首先需要导入 随机数模块 —— “工具包”
import random
  • 导入模块后,可以直接在 模块名称 后面敲一个 . 然后按 Tab 键,会提示该模块中包含的所有函数
  • random.randint(a, b) ,返回 [a, b] 之间的整数,包含 ab
  • 例如:
random.randint(12, 20)  # 生成的随机数n: 12 <= n <= 20   
random.randint(20, 20)  # 结果永远是 20   
random.randint(20, 10)  # 该语句是错误的,下限必须小于上限

还是和之前介绍变量一样,用一个小练习来巩固一下if条件判断语句

"""
练习目标
自己和电脑来一局石头剪刀布的小游戏
定义 石头(1) 剪刀(2) 布(3)
电脑随即出拳,用户输入自己要出的拳
"""
# 导包
import random
userDelect = int(input("请输入您要出的拳(石头(1) 剪刀(2) 布(3):"))

comDelect = random.randint(1,3);

if ((userDelect == 1 and comDelect == 2) or
  (userDelect == 2 and comDelect == 3) or
  (userDelect == 3 and comDelect == 1)):
print("恭喜您获得本次比赛的胜利!")
elif userDelect == comDelect :
print("平局!")
else :
print("很遗憾,您输了比赛!")
6.while循环

循环这里就写while 循环的语法介绍

初始条件设置 —— 通常是重复执行的 计数器

while 条件(判断 计数器 是否达到 目标次数):
    条件满足时,做的事情1
    条件满足时,做的事情2
    条件满足时,做的事情3
    ...(省略)...
    
    处理条件(计数器 + 1)

还是和之前一样通过两个小例子来学习和巩固while循环的语法

循环类加奇数和偶数

"""
通过while循环来完成一个0~100之间所有的偶数和奇数的加和运算
"""
# 定义计数器
i = 0

# 定义偶数的加和结果
evenSum = 0

# 定义奇数的加和结果
oddSum = 0

while i <= 100 :
    if (i % 2 == 0) :
        evenSum += i
    else :
        oddSum += i
    i += 1

print("偶数的加和结果是:%d" % evenSum)
print("奇数的加和结果是:%d" % oddSum)

改善我们之前写的和电脑玩的猜拳小游戏

"""
练习目标
自己和电脑来一局石头剪刀布的小游戏
定义 石头(1) 剪刀(2) 布(3)
电脑随即出拳,用户输入自己要出的拳
输入exit结束游戏
"""
# 导包
import random
comDelect = random.randint(1,3);

i = 1

# 设置死循环根据玩家的输入判断是否继续游戏
while i > 0 :
    # 外层循环只执行一次
    userDelect = int(input("请输入您要出的拳石头(1) 剪刀(2) 布(3):"))
    if ((userDelect == 1 and comDelect == 2) or
            (userDelect == 2 and comDelect == 3) or
            (userDelect == 3 and comDelect == 1)) :
        print("恭喜您赢得本局游戏!")
    elif userDelect == comDelect :
        print("本次比赛平局,继续努力!")
    else :
        print("很遗憾,您输掉了本局游戏!")
    # 内部嵌套while死循环,让玩家自己选择继续还是结束游戏
    while 1:
        userInput = input("请您选择是否继续游戏 是(yes) 否(exit):")
        if userInput == "yes":
            userDelect = int(input("请输入您要出的拳石头(1) 剪刀(2) 布(3):"))
            if ((userDelect == 1 and comDelect == 2) or
                    (userDelect == 2 and comDelect == 3) or
                    (userDelect == 3 and comDelect == 1)):
                print("恭喜您赢得本局游戏!")
            elif userDelect == comDelect:
                print("本次比赛平局,继续努力!")
            else:
                print("很遗憾,您输掉了本局游戏!")
        else:
            break

    i -= 1
7. 函数

7.1 函数的定义

1.使用这种语法定义的是一个没有参数没有返回值的函数

def 函数名():

    函数封装的代码
    ……

2.定义有参数的函数

def sum_2_num():

    num1 = 10
    num2 = 20
    result = num1 + num2

    print("%d + %d = %d" % (num1, num2, result))

3.定义有参数以及返回值的函数

def sum_2_num(num1, num2):
    """对两个数字的求和"""

    return num1 + num2

实例如下代码

# 定义一个没有参数的函数
def printChar() :
    # 打印50次*号
    print("*" * 50)

# 定义一个有参数的函数,求两个数的和
def sum1(number1,number2) :
    sum = number1 + number2
    print(sum)

# 定义一个有参有返回值的函数
def sum2(number1,number2) :

    return number1 + number2

# 调用无参函数
printChar()
# 调用有参函数
sum1(10,12)
# 调用有参有返回值的函数
sum = sum2(100,10)
print(sum)
8.字符串的常用操作

8.1 判断类型

方法说明
string.isspace()如果 string 中只包含空格,则返回 True
string.isalnum()如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True
string.isalpha()如果 string 至少有一个字符并且所有字符都是字母则返回 True
string.isdecimal()如果 string 只包含数字则返回 True,全角数字
string.isdigit()如果 string 只包含数字则返回 True,全角数字\u00b2
string.isnumeric()如果 string 只包含数字则返回 True,全角数字汉字数字
string.istitle()如果 string 是标题化的(每个单词的首字母大写)则返回 True
string.islower()如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True
string.isupper()如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True

8.2 查找和替换

方法说明
string.startswith(str)检查字符串是否是以 str 开头,是则返回 True
string.endswith(str)检查字符串是否是以 str 结束,是则返回 True
string.find(str, start=0, end=len(string))检测 str 是否包含在 string 中,如果 start 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回 -1
string.rfind(str, start=0, end=len(string))类似于 find(),不过是从右边开始查找
string.index(str, start=0, end=len(string))跟 find() 方法类似,不过如果 str 不在 string 会报错
string.rindex(str, start=0, end=len(string))类似于 index(),不过是从右边开始
string.replace(old_str, new_str, num=string.count(old))把 string 中的 old_str 替换成 new_str,如果 num 指定,则替换不超过 num 次

8.3 大小写转换

方法说明
string.capitalize()把字符串的第一个字符大写
string.title()把字符串的每个单词首字母大写
string.lower()转换 string 中所有大写字符为小写
string.upper()转换 string 中的小写字母为大写
string.swapcase()翻转 string 中的大小写

8.4 文本对齐

方法说明
string.ljust(width)返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
string.rjust(width)返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
string.center(width)返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

8.5 去除空白空格

方法说明
string.lstrip()截掉 string 左边(开始)的空白字符
string.rstrip()截掉 string 右边(末尾)的空白字符
string.strip()截掉 string 左右两边的空白字符

8.6 拆分和连接

方法说明
string.partition(str)把字符串 string 分成一个 3 元素的元组 (str前面, str, str后面)
string.rpartition(str)类似于 partition() 方法,不过是从右边开始查找
string.split(str="", num)以 str 为分隔符拆分 string,如果 num 有指定值,则仅分隔 num + 1 个子字符串,str 默认包含 ‘\r’, ‘\t’, ‘\n’ 和空格
string.splitlines()按照行(’\r’, ‘\n’, ‘\r\n’)分隔,返回一个包含各行作为元素的列表
string.join(seq)以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

无需强行记忆,只是在用的时候,查阅相关文档或者博客即可

9.时间日期的操作

时间和日期的操作这里就不向上面一样介绍了,我觉得像这种类似工具般的语法,只是在自己需要的时候,找出来用就可以了,不需要刻意的去背。所以这里是引用了一下别人总结的博客。
python中时间和日期函数使用指南

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值