• Python基础


    目录

    一、Python是什么

    二、在centos7上的python

    1、怎么写第一个Python脚本

    2、执行方式

    三、centos7上安装Python

    1、去官网找包Python 源代码发布 |Python.org​编辑

    2、上传到centos解压 tar-xf Python-3.11.5.tar

    ​3、准备编译环境

    4、编译

    5、设置全局变量

    四、基本的打印规则

    1、换行打印 \n

    2、不换行打印 end=" "

    五、注释

    1、单行注释#

    2、多行注释""" """

    六、变量

    1、什么是变量

    2、创建变量

    3、交换变量

    4、变量的数据类型是由 值决定的。

    七、输出与输入

    1、输入input

    2、输出print

    八、运算符

    1、算数运算符

    2、赋值运算

    3、比较运算

    4、逻辑运算

    5、成员运算

    6、身份运算

    九、if判断语句

    1、python单分支判断语句:

    2、python双分支判断语句:

    3、python多分支判断语句:

    9x9乘法表

    查询成绩

    十、while 循环的基本格式

    1、只要满足while指定的条件,就循环

    十一、字符串-str

    1、字符串的下标

    ​2、字符串的切片,倒序

    3、字符串的常见操作

    十二、列表

    1、创建列表

    2、合并

    十三、元组-tuple

    十四、字典-dict

    十五、os模块



    一、Python是什么

    Python是一种高级、通用的编程语言,由Guido van Rossum于1991年开发。它被设计成易读、易理解、易于上手的语言,强调代码的可读性和简洁性。

    Python具有动态类型系统和自动内存管理,可以运行在多个操作系统上。它支持面向对象编程、函数式编程、模块化编程以及其他多种编程范式。Python拥有强大的标准库和第三方库,使其具备广泛的应用领域,包括Web开发、数据科学、人工智能、机器学习、物联网等。

    Python的语法简洁明了,使用空格缩进来表示代码块,而不是使用大括号。这种风格促使开发者编写更加可读性强的代码,并强迫他们遵循一致的代码风格。

    Guido van Rossum是Python的创始人和主要作者,他于1989年开始发起Python的开发,并一直负责引领和管理Python项目直到2018年。他的贡献使得Python成为了世界上最受欢迎的编程语言之一。

    除了Guido van Rossum,还有众多开源社区和贡献者为Python的发展作出了重要贡献。他们不断完善和开发Python的生态系统,为用户提供更多的库和工具,使Python成为一种强大而灵活的编程语言。

    二、centos7上的python

    centos7 上默认自带的 python 版本为 2.7.X
    python --version
    1、怎么写第一个Python脚本

    方式一      使用vi 或者vim

    1. vim first.py
    2. #!/usr/bin/python # 声明类型,指明解释器命令路径
    3. #-*- coding: utf-8 -*- # 指定字符格式为utf-8(可以打印中文),python3不用再指定了
    4. print "hellow world" # python2的写法,python3执行会报错
    5. print ("hello world") # python3的写法,python2也可以执行
    6. print ("哈哈") # python2指定了utf-8字符,那么这里就可以使用中文
    方式二      使用 python 命令(默认版本 ) 交互写
    2、执行方式

    方式一   python first.py

    方式二  ./first.py

    三、centos7上安装Python

    1、去官网找包Python 源代码发布 |Python.org
    2、上传到centos解压 tar-xf Python-3.11.5.tar
    3、准备编译环境
    yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
    4、编译
    1. cd Python-3.11.5
    2. ./configure --prefix=/usr/local/python3 --enable-optimizations
    3. ####################################################################
    4. 该消息是在配置Python时的一种建议,它表示如果您想进行一个稳定的优化版本构建(使用PGO等),则可以运行"./configure --enable-optimizations"命令。
    5. "PGO"代表"Profile Guided Optimization",是一种优化技术,通过使用运行时的性能统计信息来指导编译器优化,以获得更好的执行性能。
    6. 但是,请注意这只是一种建议,并非必须操作。如果您只是需要一个普通的Python构建,您可以忽略该建议,继续使用之前的配置命令来配置Python。
    7. ############################################################################
    8. make && make install

    5、设置全局变量
    1. ln -s /usr/local/python3/bin/python3.11 /usr/local/bin/python3
    2. ln -s /usr/local/python3/bin/pip3.11 /usr/local/bin/pip3

    1. vim /etc/profile
    2. ##文末插入
    3. export PYTHON_HOME=/usr/local/python3
    4. export PATH=$PYTHON_HOME/bin:$PATH
    5. ##保存退出
    6. source /etc/profile
    7. ###
    8. echo $PATH

    查看版本

    Python --version

    行了,完成

    四、基本的打印规则

    Python 程序由多个逻辑行构成,一个逻辑行不一定为一个物理行 ( 人眼看到的行 )
    显式行连接 : \
    在物理行后跟反斜杠,
    代表此行连接下一行代码
    隐式行连接 : () [] {} 在括号里换行会自动行连接
    字符串需要用引号引起来,单引双引都可以。
    1、换行打印 \n
    2、不换行打印 end=" "

    五、注释

    1、单行注释#

    2、多行注释""" """

    六、变量

    1、什么是变量
    生活中,我们去超市买较多的东西时,会用到购物车。购物车的作用就是存放购买的商品,并且购买的东西是可变的。购物车在这里就是类似变量的作用。
    变量:在内存中开辟一块空间,存储规定范围内的值,值可以改变。通俗的说 变量就是给数据起个名字 ,通过这个
    名字来访问和存储空间中的数据。
    变量的特点
    可以反复存储数据
    可以反复取出数据
    可以反复更改数据
    变量的命名规则
    变量名只能是字母、数字或下划线的任意组合
    变量名的第一个字符不能是数字
    变量名要有见名知义的效果 , UserName,user_name
    变量名区分大小写 以下关键字不能声明为变量名 ( 关键字是 python 内部使用或有特殊含义的字符 ) ['False', 'None', 'True', 'and',
    'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'fifinally', 'for', 'from', 'global', 'if',
    'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
    2、创建变量
    python 中,每一个变量在使用前都必须 赋值 ,变量赋值后,变量就创建成功了。
    变量名 =
    3、交换变量
    4、变量的数据类型是由 值决定的
    1. name="zhangsan" # str类型
    2. age=25 # 25没有加引号,则为int类型;加了引号,则为str类型;
    3. height=1.8 # float类型
    4. marry=True # bool类型(布尔值)
    5. print(type(name)) # 通过type()函数得知变量的类型
    6. print(type(age))
    7. print(type(height))
    8. print(type(marry))
    1. Python基本数据类型分类
    2. 1. 数字
    3. int 整型(1, 2, -1, -2)
    4. float 浮点型(34.678)
    5. bool 布尔型(True/False)
    6. complex 复数(4+3J, 不应用于常规编程,这种仅了解一下就好
    7. 2. 字符串
    8. str 单引号和双引号内表示的内容为字符串 “hello world" "12345"
    9. 3. 列表
    10. list 使用中括号表示 [1, 2, 3, 4]
    11. 4. 元组
    12. tuple 使用小括号表示 (1, 2, 3, 4)
    13. 5. 字典
    14. dict 使用大括号表示,存放key-value键值对 {"a":1, "b":2, "c":3}
    15. 6. 集合
    16. set 也使用大括号表示,但与字典有所不同 {1, 2, 3, 4}
    1. 转换函数 说明
    2. int(xxx) 将xxx转换为整数
    3. float(xxx) 将xxx转换为浮点型
    4. str(xxx) 将xxx转换为字符串
    5. list(xxx) 将xxx转换为列表
    6. tuple(xxx) 将xxx转换为元组
    7. dict(xxx) 将xxx转换为字典
    8. set(xxx) 将xxx转换为集合
    9. chr(xxx) 把整数[0-255]转成对应的ASCII码
    10. ord(xxx) 把ASCII码转成对应的整数[0-255]

    七、输出与输入

    1、输入input

    2、输出print

    1. print("="*10) # 表示连续打印10个=符号
    2. print("1-系统")
    3. print("2-数据库")
    4. print("3-quit")
    5. print("="*10)
    6. 或者
    7. print("="*10)
    8. print('''1-系统 # 使用''' '''符号来换行
    9. 2-数据库
    10. 3-quit''')
    11. print("="*10)

    八、运算符

    优先级 算术 > 比较 > 逻辑 > 赋值

    1、算数运算符
    1. 算术运算符 描述 实例
    2. + 加法 1+2=3
    3. - 减法 5-1=4
    4. * 乘法 3*5=15
    5. / 除法 10/2=5
    6. // 整除 10//3=3 不能整除的只保留整数部分
    7. ** 求幂 2**3=8
    8. % 取余(取模) 10%3=1 得到除法的余数
    2、赋值运算
    1. 赋值运算符 描述 实例
    2. = 简单的赋值运算符,下面的全部为复合运算符 c =a + b 将a + b的运算结果赋值给c
    3. += 加法赋值运算符 a += b 等同于 a = a + b
    4. -= 减法赋值运算符 a -= b 等同于 a = a - b
    5. *= 乘法赋值运算符 a *= b 等同于 a = a * b
    6. /= 除法赋值运算符 a /= b 等同于 a = a / b
    7. //= 整除赋值运算符 a //= b 等同于 a = a // b
    8. **= 求幂赋值运算符 a ** = b 等同于 a = a ** b
    9. %= 取余(取模)赋值运算符 a %= b 等同于 a = a % b
    3、比较运算
    1. 比较运算符 描述 实例
    2. == 等于(注意与=赋值运算符区分开) print(1==1) 返回True
    3. != 不等于 print(2!=1) 返回True
    4. <> 不等于(同 != ) print(2<>1) 返回True
    5. > 大于 print(2>1) 返回True
    6. < 小于 print(2<1) 返回False
    7. >= 大于等于 print(2>=1) 返回True
    8. <= 小于等于 print(2<=1) 返回False
    4、逻辑运算
    1. 逻辑运算符 逻辑表达式 描述
    2. and x and y x与y都为True,则返回True;x与y任一个或两个都为False,则返回False
    3. or x or y x与y任一个条件为True,则返回True
    4. not not x x为True,返回False; x为False,返回True
    5、成员运算
    1. 成员运算符 描述
    2. in x 在 y 序列中 , 如果 x 在 y 序列中返回 True; 反之,返回False
    3. not in x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True; 反之,返回False
    6、身份运算
    1. is
    2. is 是判断两个标识符是不是引用
    3. 自一个对象
    4. x is y, 类似 id(x) == id(y) , 如果是同一个对象则返回 True
    5. 否则返回 False
    6. is not
    7. is not 是判断两个标识符是不是
    8. 引用自不同对象
    9. x is not y ,类似 id(a) != id(b)。如果不是同一个对象则返回
    10. 结果 True,否则返回 False

    九、if判断语句

    1、python单分支判断语句:
    1. if 条件: # 条件结束要加:号(不是;号)
    2. 执行动作一 # 这里一定要缩进(tab键或四个空格),否则报错
    3. # 没有fi结束符了,就是看缩进
    2、python双分支判断语句:
    1. if 条件:
    2. 执行动作一
    3. else: # else后面也要加:执行动作二
    3、python多分支判断语句:
    1. if 条件一:
    2. 执行动作一
    3. elif 条件二: # elif 条件后面都要记得加:
    4. 执行动作二
    5. elif 条件三:
    6. 执行动作三
    7. else:
    8. 执行动作四

    比如判断该数字是不是字母        

    1. #!/usr/bin/python
    2. #-*- coding: utf-8 -*-
    3. a = raw_input("请输入任意字母:")
    4. if a >= 'a' and a <= 'z' or a >= 'A' and a <= 'Z':
    5. print("你输入的字母是: %s" % a)
    6. else:
    7. print("输入不是字母")

    9x9乘法表
    1. #!/usr/bin/python
    2. #-*- coding: utf-8 -*-
    3. for i in range(1, 10):
    4. for j in range(1, i + 1):
    5. print(f"{j}x{i}={j * i}", end="\t")
    6. print()

    查询成绩
    1. #!/usr/bin/python3
    2. #-*- coding: utf-8 -*-
    3. i=input("请输入你的成绩:")
    4. i=int(i)
    5. if i > 100:
    6. print("有效的成绩的应该在0~100")
    7. elif 90 <= i <=100:
    8. print("优秀")
    9. elif 80 <= i <90:
    10. print("良好")
    11. elif 60 <= i <80:
    12. print("及格")
    13. else:
    14. print("不及格")

    十、while 循环的基本格式

    1、只要满足while指定的条件,就循环
    1. while 循环的基本格式
    2. while 条件:
    3. 条件满足时候:执行动作一
    4. 条件满足时候:执行动作二
    5. 。。。。。。。。
    6. continue 跳出本次循环,直接执行下一次循环
    7. break 退出循环,执行循环外的代码
    8. exit() 退出python程序,可以指定返回值

    示列

    1. a=input("你想学习还是玩游戏?:")
    2. b=str(a)
    3. while True:
    4. if a=="玩游戏":
    5. print("玩个毛,快去学习")
    6. break
    7. if a=="学习":
    8. print("注意劳逸结合,该放松一下了")
    9. break
    10. else:
    11. print("请在学习和游戏中选择,请你遵守规定!你别无选择!")
    12. a=input("重新输入")

    猜大小

    1. import random
    2. num = random.randint(1, 100)
    3. count = 0
    4. while True:
    5. a = int(input("系统随机生成了1个1~100之间的整数,你觉得是几:"))
    6. count += 1
    7. if a > num:
    8. print("笨蛋,猜大了,好好想一下")
    9. elif a < num:
    10. print("服了你了,猜小了")
    11. else:
    12. print(f"恭喜,猜对了,正确的数字为: {num},你猜了 {count} 次")
    13. break

    十一、字符串-str

    python 数据类型 :
    1. 数字 int float bool
    2. 字符串 str
    3. 列表 list
    4. 元组 tuple
    5. 字典 dict
    6. 集合 set
    1、字符串的下标
    字符串,列表,元组都属于序列 ,所以都会有下标。
    2、字符串的切片,倒序
    字符串,列表,元组都属于序列 ,所以都可以切片
    1. >>> print(str1) ###字符串
    2. abcd
    3. >>> print(str1 [0:3]) ###从第0到3,但是不包含3
    4. abc
    5. >>> print(str1 [:]) ###全取
    6. abcd
    7. >>> print(str1 [0:]) ###第一个到最后一个
    8. abcd
    9. >>> print(str1 [::-1]) ###全取倒序
    10. dcba
    3、字符串的常见操作

    现有字符串str1=("hello word")

    统计字符串的长度print(len(str1))

    print(str1.startswith("hello"))判断字符串是否以hello开头

    print(str1.endswith("word"))判断字符串是否以word结尾

    删除空格   print("   hello  ".strip())

    1. >>> print(" hello ".strip()) ####删除hello两边的空格
    2. hello
    3. >>> print(" hello ".rstrip()) ####删除hello右边的空格
    4. hello
    5. >>> print(" hello ".lstrip()) ####删除hello左边的空格
    6. hello

    统计某个字符出现的次数 print(str1.count("l"))

    十二、列表

    1、创建列表
    1. >>> list1=["苹果","香蕉","草莓","橘子"] ###创建列表
    2. >>> print(list1)
    3. ['苹果', '香蕉', '草莓', '橘子']
    4. >>> list1.append("西瓜") ###添加内容
    5. >>> print(list1)
    6. ['苹果', '香蕉', '草莓', '橘子', '西瓜']
    7. >>> list1[3]="大橘子" ###修改
    8. >>> print(list1)
    9. ['苹果', '香蕉', '草莓', '大橘子', '西瓜']
    10. >>> list1.remove("大橘子") ###移除
    11. >>> print(list1)
    12. ['苹果', '香蕉', '草莓', '西瓜']
    13. >>> list1.clear() ###清空
    14. >>> print(list1)
    15. []
    2、合并

    十三、元组-tuple

    元组就相当于是 只读的列表 ; 因为只读 , 所以没有 append,remove, 修改等操作方法 .
    它只有两个操作方法 :count,index
    元组 , 字符串 , 列表都属于序列 . 所以元组也可以切片
    1. tuple1=(1,2,3,4,5,1,7)
    2. print(type(tuple1))
    3. print(tuple1.index(3)) # 打印3这个元素在元组里的下标
    4. print(tuple1.count(1)) # 统计1这个元素在元组里共出现几次
    5. print(tuple1[2:5]) # 切片
    6. tuple1[5]=6 # 修改元组会报错

    十四、字典-dict

    字典 : 是一种 key:value( 键值对 ) 类型的数据,它是无序的(没有像列表那样的索引 , 下标 ). 它是通过 key 来找 value 底层
    就是 hash , 查找速度快 ; 如果 key 相等 , 会自动去重 ( 去掉重复值 )
    字符串 , 列表 , 元组属于序列 , 所以有下标
    1. dict1 = {
    2. 'stu01':"zhangsan",
    3. 'stu02':"lisi",
    4. 'stu03':"wangwu",
    5. 'stu04':"maliu",
    6. }
    7. print(type(dict1))
    8. print(len(dict1))
    9. print(dict1)
    10. # 增
    11. dict1["stu05"]="tianqi" # 类似修改,如果key值不存在,则就增加
    12. print(dict1)
    13. # 改
    14. dict1["stu04"]="马六" # 类似增加,如果key值存在,则就修改
    15. print(dict1)
    16. # 字典的增加与修改的写法是一样的,区别就在于key是否已经存在
    17. # 查
    18. print(dict1["stu01"]) # 如果key值不存在,会返回keyerror错误
    19. print(dict1.get("stu01")) # 这种取值方法如果key值不存在,会返回none,不会返回错误
    20. # 删
    21. dict1.pop("stu05") # 删除这条;也可以del dict1["stu05"]来删除
    22. dict1.popitem() # 删除显示的最后一条
    23. dict1.clear() # 清空字典
    24. print(dict1)
    25. # del dict1 # 删除整个字典

    十五、os模块

    os模块是Python中的一个内置模块,用于与操作系统进行交互。它提供了许多方法,可以执行各种操作,如文件和目录的操作、进程管理、环境变量的获取等。

    os模块在centos中是自带的需要加载模块,使用该模块可以完成centos7的命令操作:创建删除文件、yum安装、查看IP....................

    1. >>> import os ###加载os模块
    2. >>>
    3. >>> os.system("uptime|awk '{print $10}'") ####查看系统过去15分钟的负载
    4. 0.05
    5. 0
    6. >>> os.system("ifconfig|awk 'NR==2{print $2}'") ###查看IP
    7. 192.168.115.153
    8. 0
    9. >>>

  • 相关阅读:
    简简单单理解数据结构
    【Vue3.0移动端项目--旅游网】-- 首页日期和热门推荐处理
    REST风格开发
    【Rust日报】用Rust从头实现一个C编译器
    ConcurrentHashMap
    day27IO(异常&File&综合案例)
    【C++】基础篇
    ruoyi-vue-pro 项目安装使用过程中的问题解决
    Kafka 多种跨 IDC 灾备方案调研对比
    ThingsBoard教程(二九):详细讲解在tb平台下 http协议下的客户端rpc,服务的rpc的使用
  • 原文地址:https://blog.csdn.net/2302_78534730/article/details/132888400