目录
1、去官网找包Python 源代码发布 |Python.org编辑
2、上传到centos解压 tar-xf Python-3.11.5.tar
Python是一种高级、通用的编程语言,由Guido van Rossum于1991年开发。它被设计成易读、易理解、易于上手的语言,强调代码的可读性和简洁性。
Python具有动态类型系统和自动内存管理,可以运行在多个操作系统上。它支持面向对象编程、函数式编程、模块化编程以及其他多种编程范式。Python拥有强大的标准库和第三方库,使其具备广泛的应用领域,包括Web开发、数据科学、人工智能、机器学习、物联网等。
Python的语法简洁明了,使用空格缩进来表示代码块,而不是使用大括号。这种风格促使开发者编写更加可读性强的代码,并强迫他们遵循一致的代码风格。
Guido van Rossum是Python的创始人和主要作者,他于1989年开始发起Python的开发,并一直负责引领和管理Python项目直到2018年。他的贡献使得Python成为了世界上最受欢迎的编程语言之一。
除了Guido van Rossum,还有众多开源社区和贡献者为Python的发展作出了重要贡献。他们不断完善和开发Python的生态系统,为用户提供更多的库和工具,使Python成为一种强大而灵活的编程语言。
方式一 使用vi 或者vim
- vim first.py
-
- #!/usr/bin/python # 声明类型,指明解释器命令路径
- #-*- coding: utf-8 -*- # 指定字符格式为utf-8(可以打印中文),python3不用再指定了
- print "hellow world" # python2的写法,python3执行会报错
- print ("hello world") # python3的写法,python2也可以执行
- print ("哈哈") # python2指定了utf-8字符,那么这里就可以使用中文
方式一 python first.py
方式二 ./first.py
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
- cd Python-3.11.5
- ./configure --prefix=/usr/local/python3 --enable-optimizations
- ####################################################################
- 该消息是在配置Python时的一种建议,它表示如果您想进行一个稳定的优化版本构建(使用PGO等),则可以运行"./configure --enable-optimizations"命令。
-
- "PGO"代表"Profile Guided Optimization",是一种优化技术,通过使用运行时的性能统计信息来指导编译器优化,以获得更好的执行性能。
-
- 但是,请注意这只是一种建议,并非必须操作。如果您只是需要一个普通的Python构建,您可以忽略该建议,继续使用之前的配置命令来配置Python。
- ############################################################################
- make && make install
- ln -s /usr/local/python3/bin/python3.11 /usr/local/bin/python3
- ln -s /usr/local/python3/bin/pip3.11 /usr/local/bin/pip3
- vim /etc/profile
- ##文末插入
- export PYTHON_HOME=/usr/local/python3
- export PATH=$PYTHON_HOME/bin:$PATH
- ##保存退出
- source /etc/profile
- ###
- echo $PATH
查看版本
Python --version
行了,完成
- name="zhangsan" # str类型
- age=25 # 25没有加引号,则为int类型;加了引号,则为str类型;
- height=1.8 # float类型
- marry=True # bool类型(布尔值)
- print(type(name)) # 通过type()函数得知变量的类型
- print(type(age))
- print(type(height))
- print(type(marry))
- Python基本数据类型分类
- 1. 数字
- int 整型(1, 2, -1, -2)
- float 浮点型(34.678)
- bool 布尔型(True/False)
- complex 复数(4+3J, 不应用于常规编程,这种仅了解一下就好
- 2. 字符串
- str 单引号和双引号内表示的内容为字符串 “hello world" "12345"
- 3. 列表
- list 使用中括号表示 [1, 2, 3, 4]
- 4. 元组
- tuple 使用小括号表示 (1, 2, 3, 4)
- 5. 字典
- dict 使用大括号表示,存放key-value键值对 {"a":1, "b":2, "c":3}
- 6. 集合
- set 也使用大括号表示,但与字典有所不同 {1, 2, 3, 4}
- 转换函数 说明
- int(xxx) 将xxx转换为整数
- float(xxx) 将xxx转换为浮点型
- str(xxx) 将xxx转换为字符串
- list(xxx) 将xxx转换为列表
- tuple(xxx) 将xxx转换为元组
- dict(xxx) 将xxx转换为字典
- set(xxx) 将xxx转换为集合
- chr(xxx) 把整数[0-255]转成对应的ASCII码
- ord(xxx) 把ASCII码转成对应的整数[0-255]
- print("="*10) # 表示连续打印10个=符号
- print("1-系统")
- print("2-数据库")
- print("3-quit")
- print("="*10)
- 或者
- print("="*10)
- print('''1-系统 # 使用''' '''符号来换行
- 2-数据库
- 3-quit''')
- print("="*10)
优先级 算术 > 比较 > 逻辑 > 赋值
- 算术运算符 描述 实例
- + 加法 1+2=3
- - 减法 5-1=4
- * 乘法 3*5=15
- / 除法 10/2=5
- // 整除 10//3=3 不能整除的只保留整数部分
- ** 求幂 2**3=8
- % 取余(取模) 10%3=1 得到除法的余数
- 赋值运算符 描述 实例
- = 简单的赋值运算符,下面的全部为复合运算符 c =a + b 将a + b的运算结果赋值给c
- += 加法赋值运算符 a += b 等同于 a = a + b
- -= 减法赋值运算符 a -= b 等同于 a = a - b
- *= 乘法赋值运算符 a *= b 等同于 a = a * b
- /= 除法赋值运算符 a /= b 等同于 a = a / b
- //= 整除赋值运算符 a //= b 等同于 a = a // b
- **= 求幂赋值运算符 a ** = b 等同于 a = a ** b
- %= 取余(取模)赋值运算符 a %= b 等同于 a = a % b
- 比较运算符 描述 实例
- == 等于(注意与=赋值运算符区分开) print(1==1) 返回True
- != 不等于 print(2!=1) 返回True
- <> 不等于(同 != ) print(2<>1) 返回True
- > 大于 print(2>1) 返回True
- < 小于 print(2<1) 返回False
- >= 大于等于 print(2>=1) 返回True
- <= 小于等于 print(2<=1) 返回False
- 逻辑运算符 逻辑表达式 描述
- and x and y x与y都为True,则返回True;x与y任一个或两个都为False,则返回False
- or x or y x与y任一个条件为True,则返回True
- not not x x为True,返回False; x为False,返回True
- 成员运算符 描述
- in x 在 y 序列中 , 如果 x 在 y 序列中返回 True; 反之,返回False
- not in x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True; 反之,返回False
-
- is
- is 是判断两个标识符是不是引用
- 自一个对象
- x is y, 类似 id(x) == id(y) , 如果是同一个对象则返回 True,
- 否则返回 False
- is not
- is not 是判断两个标识符是不是
- 引用自不同对象
- x is not y ,类似 id(a) != id(b)。如果不是同一个对象则返回
- 结果 True,否则返回 False。
- if 条件: # 条件结束要加:号(不是;号)
- 执行动作一 # 这里一定要缩进(tab键或四个空格),否则报错
- # 没有fi结束符了,就是看缩进
- if 条件:
- 执行动作一
- else: # else后面也要加:执行动作二
- if 条件一:
- 执行动作一
- elif 条件二: # elif 条件后面都要记得加:
- 执行动作二
- elif 条件三:
- 执行动作三
- else:
- 执行动作四
比如判断该数字是不是字母
- #!/usr/bin/python
- #-*- coding: utf-8 -*-
- a = raw_input("请输入任意字母:")
- if a >= 'a' and a <= 'z' or a >= 'A' and a <= 'Z':
- print("你输入的字母是: %s" % a)
- else:
- print("输入不是字母")
- #!/usr/bin/python
- #-*- coding: utf-8 -*-
- for i in range(1, 10):
- for j in range(1, i + 1):
- print(f"{j}x{i}={j * i}", end="\t")
- print()
- #!/usr/bin/python3
- #-*- coding: utf-8 -*-
- i=input("请输入你的成绩:")
- i=int(i)
- if i > 100:
- print("有效的成绩的应该在0~100")
- elif 90 <= i <=100:
- print("优秀")
- elif 80 <= i <90:
- print("良好")
- elif 60 <= i <80:
- print("及格")
- else:
- print("不及格")
- while 循环的基本格式
- while 条件:
- 条件满足时候:执行动作一
- 条件满足时候:执行动作二
- 。。。。。。。。
- continue 跳出本次循环,直接执行下一次循环
- break 退出循环,执行循环外的代码
- exit() 退出python程序,可以指定返回值
示列
- a=input("你想学习还是玩游戏?:")
- b=str(a)
- while True:
- if a=="玩游戏":
- print("玩个毛,快去学习")
- break
- if a=="学习":
- print("注意劳逸结合,该放松一下了")
- break
- else:
- print("请在学习和游戏中选择,请你遵守规定!你别无选择!")
- a=input("重新输入")
猜大小
- import random
-
- num = random.randint(1, 100)
- count = 0
-
- while True:
- a = int(input("系统随机生成了1个1~100之间的整数,你觉得是几:"))
- count += 1
-
- if a > num:
- print("笨蛋,猜大了,好好想一下")
- elif a < num:
- print("服了你了,猜小了")
- else:
- print(f"恭喜,猜对了,正确的数字为: {num},你猜了 {count} 次")
- break
- >>> print(str1) ###字符串
- abcd
- >>> print(str1 [0:3]) ###从第0到3,但是不包含3
- abc
- >>> print(str1 [:]) ###全取
- abcd
- >>> print(str1 [0:]) ###第一个到最后一个
- abcd
- >>> print(str1 [::-1]) ###全取倒序
- dcba
现有字符串str1=("hello word")
统计字符串的长度print(len(str1))
print(str1.startswith("hello"))判断字符串是否以hello开头
print(str1.endswith("word"))判断字符串是否以word结尾
删除空格 print(" hello ".strip())
-
- >>> print(" hello ".strip()) ####删除hello两边的空格
- hello
- >>> print(" hello ".rstrip()) ####删除hello右边的空格
- hello
- >>> print(" hello ".lstrip()) ####删除hello左边的空格
- hello
统计某个字符出现的次数 print(str1.count("l"))
- >>> list1=["苹果","香蕉","草莓","橘子"] ###创建列表
- >>> print(list1)
- ['苹果', '香蕉', '草莓', '橘子']
-
-
-
- >>> list1.append("西瓜") ###添加内容
- >>> print(list1)
- ['苹果', '香蕉', '草莓', '橘子', '西瓜']
-
-
- >>> list1[3]="大橘子" ###修改
- >>> print(list1)
- ['苹果', '香蕉', '草莓', '大橘子', '西瓜']
-
-
- >>> list1.remove("大橘子") ###移除
- >>> print(list1)
- ['苹果', '香蕉', '草莓', '西瓜']
-
-
-
- >>> list1.clear() ###清空
- >>> print(list1)
- []
- tuple1=(1,2,3,4,5,1,7)
- print(type(tuple1))
- print(tuple1.index(3)) # 打印3这个元素在元组里的下标
- print(tuple1.count(1)) # 统计1这个元素在元组里共出现几次
- print(tuple1[2:5]) # 切片
- tuple1[5]=6 # 修改元组会报错
- dict1 = {
- 'stu01':"zhangsan",
- 'stu02':"lisi",
- 'stu03':"wangwu",
- 'stu04':"maliu",
- }
- print(type(dict1))
- print(len(dict1))
- print(dict1)
- # 增
- dict1["stu05"]="tianqi" # 类似修改,如果key值不存在,则就增加
- print(dict1)
- # 改
- dict1["stu04"]="马六" # 类似增加,如果key值存在,则就修改
- print(dict1)
- # 字典的增加与修改的写法是一样的,区别就在于key是否已经存在
- # 查
- print(dict1["stu01"]) # 如果key值不存在,会返回keyerror错误
- print(dict1.get("stu01")) # 这种取值方法如果key值不存在,会返回none,不会返回错误
- # 删
- dict1.pop("stu05") # 删除这条;也可以del dict1["stu05"]来删除
- dict1.popitem() # 删除显示的最后一条
- dict1.clear() # 清空字典
- print(dict1)
- # del dict1 # 删除整个字典
os模块是Python中的一个内置模块,用于与操作系统进行交互。它提供了许多方法,可以执行各种操作,如文件和目录的操作、进程管理、环境变量的获取等。
os模块在centos中是自带的需要加载模块,使用该模块可以完成centos7的命令操作:创建删除文件、yum安装、查看IP....................
-
- >>> import os ###加载os模块
- >>>
-
-
-
-
- >>> os.system("uptime|awk '{print $10}'") ####查看系统过去15分钟的负载
- 0.05
- 0
-
-
-
-
-
-
- >>> os.system("ifconfig|awk 'NR==2{print $2}'") ###查看IP
- 192.168.115.153
- 0
- >>>