Python的基本语法
“有人说,写python就像是坐在一个没有安全带的车上,
我认为这个说法很欠妥当,
应该是一辆没有外壳和座椅,
只有发动机和轮子的车,
并且车上摆满了轮子”
python既然是作为一个工具,那么就不需要去深入理解底层和原理了,用一下午学习并且了解了基本操作和结构。能实现一些简单的交互和文件读取。文章将会根据几个部分来快速上手py
1.python概述
python(后面简称py),是一种解释形语言(interpret language),和早期版本的javascriot很相似(现在js已经进化到jit了)。这类语言的特点就是在编译的时候,是按行编译,编译一行执行一行,不会产生目标文件,轻量化是py最主要的特点。与此同时,py也是一种动态语言,不需要我们手动的声明变量
08年以后,官方更新了python3版本,3版本几乎不兼容2的代码,目前使用的版本仍然是3.x。相关的包管理工具pip也随之更新到了3,如果不是显着没事干,建议直接上3
如果有其他语言哪怕只有一点点基础,py上手也会很快。相比于java,cpp这些语言来说,py有很多不同,包亏:不依靠{}来区分代码,而是使用:和缩进来区分,不需要声明变量等等,下面会按照几个维度简单说明py的上手
1.5,py的安装和运行
window安装请按照其他网站或者ai提供的方法,这里只有python的安装
sudo apt-get update
sudo apt-get install python3
检查版本
python3 --version
编译执行
python3 文件名称
1.6,关于数据以及一些补充知识
这里默认你已经了解编程语言的一些共同性质,仅做一点补充
python中的数字全是浮点数
科学计数可以表示为 1e2 1e-2等等
运算符: /为浮点除 ,//为蒸熟除 **为次方
逻辑运算符用单词表达:and or not 而不是|| && !
2.一些需要用到的基础操作
很多语言的第一步都是写helloworld,py也不例外
print('hello')
恩,就这样,不用导入任何东西,就怎么一个函数,打印操作只需要调用print函数即可
其次,在写代码之前要知道注释怎么写,//在py中是整数除的意思
# py的第一种注解:单行
"""
py的第二种注解,多行注解
"""
在然后,是输入语句,数据语句和输出一样简单
#input语句
print('输出',input('输入'))
最后,是变量生命,和js还有go一样,完全不需要声明变量是什么类型的,因为python是一种动态语言
#py同样不需要声明变量,并且不需要我们区分声明和赋值的关系
x=1
3.流程控制
if match while for-in 四个就是了,学完流程控制,基础也就结束一半了吧(悲)
if语句,注意py中不使用大括号进行区分模块,而是使用缩进,每个单位的缩进大小为4个空格
并且else if被简写为elif
if x==3:print('我中了')elif x==1:print('shudhdu')else:print('你中了神魔')
while语句:没什么难的就是把括号变成缩进了
while False:print('jia')
for语句
for语句似乎和其他注重索引的不一样,更类似js中的for of循环,不注重索引
arr=[1,2,3,4,5,6]for i in arr :print('内容为',i)
想见到索引,就要用range,range函数的功能是快速构建一个数字序列
for i in range(1,5):print('序列为',i)#range函数用法很特殊,(a(optional),b,c(optional))三个参数#a代表起点,b代表终点的下一位,c为遍历数目 其中a默认为0 c默认为b-a#例如最常用的用法就是 i in range(5) 这样子便利结果为 0,1,2,3,4
想要正经模仿一下for,就可以联合以上两种方法外加一个len函数
for index in range(len(arr)):print(index,'位置的数字为',arr[index])
match语句。类似switch
match x:case 1:print('这是1')case _: #这个就是类似default的东西print('其他默认数值')
eval函数,作用就是把字符串转化为py语句并且进行执行
#可以执行语句,也可以转化变量
eval("print('heee')")
4.关于函数和模块
函数 开头是def
def method1():print('这是个函数')return 1 #返回值写在这里method1()
还有一种很类似箭头函数的写法,lambda函数
arrow=lambda x,y:x+y
引入库使用的语句为 import
import pygame
安装库则要使用官方推荐的管理工具pip
pip3 install <packageName>
一个递归的实际应用
#递归举例,第n个非波拿起数字def febonaqi(x):if x==1 or x==2:return 1else:return febonaqi(x-1)+febonaqi(x-2)
5.组合数据类型
组合数据,其实就是常说的容器
按照使用方法的不同,分为tuple,list,set,map(dict)四种
其实str也是一种组合数据类型,底层是一个很近似byte[]的东西,为什么要说近似。。。
因为python本体没有名叫array的东西
其特点和使用方法如下:
tuple:生成后就是固定的不可改变,创建方法为()
tup=(1,2,3,4,5,6,7,8)print(tup[0]) #0
list,起到类似数组的作用,创建方法为 []
myList=[1,2,3,4,5,6,7]print(myList[1])myList.append(3)#末尾追加元素
set,集合就是集合啦,无序,不可重复 {}
mySet={1,2,3,4,5,6}#可以用add remove等等方法
map指的是映射,而具体的数据结构指的是dict
myDict={"key":122,}print(myDict['key'])
6.关于文件的操作
文件操作遵循一个原则“打开,操作,关闭”
文件的打开
file1=open('./mytxt',"r+")
第一个参数是文件的地址,第二个参数是操作类型,操作类型自行百度或者ai
文件的读入
文件读入的结果是字符串或者一个字节流,这取决与文件是文本还是二进制
读取全部内容
print('读取',file1.read())
读取固定长度
print(file1.read(5))
读取一行内容
print(file1.readline(1))
读取很多行,返回一个数组
lines=file1.readlines()for i in range(len(lines)):print(i,'',lines[i])
ps.文件的读写好像在任何语言里面都有一个游标的机制
文件的写入
file1.write('ihefwq')
参数是啥都行,末尾追加罢了
file1.writelines([11,22,33])
参数为list,但是如果想要换行要手动加上换行符号\n
文件的关闭
file1.close()
相关文章:
Python的基本语法
“有人说,写python就像是坐在一个没有安全带的车上, 我认为这个说法很欠妥当, 应该是一辆没有外壳和座椅, 只有发动机和轮子的车, 并且车上摆满了轮子” python既然是作为一个工具,那么就不需要去深入…...
Kubernetes那点事儿——存储之存储卷
Kubernetes那点事儿——存储之存储卷 前言一、K8s数据卷一、临时存储卷emptyDir二、节点存储卷hostPath三、网络存储NFS 前言 在K8s中用Volume为容器提供了外部的存储能力。 Pod需要设置卷来源(spec.volume)和挂载点(spec.containers.volumeM…...
Go语言中‘String’包中的‘Cut‘函数的实现
Go语言中‘String’包中的’Cut’函数的实现 Cut函数用于在字符串**‘s’中查找子串’sep’,并将字符串’s’在子串 ‘sep’ 第一次出现的位置分割成两部分:before和after** package main import("fmt" "strings" ) func main(…...
【JAVASE】顺序和选择结构
⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:浅谈Java 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 顺序和选择 1. 顺序结构2. 分支结构2.1 …...
Oracle恢复删除的数据
不下心删除了生产库的数据或者不小心删除了一部分数据,如何恢复找回。 Oracle恢复删除数据的方法 方案一 利用oracle提供的闪回方法进行数据恢复,适用于delete删除方式 首先获取删除数据的时间点: select * from v$sql where sql_text l…...
(无人机方向)ros小白之键盘控制无人机(终端方式)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一:配置pycharm的ros开发环境二:核心代码讲解三 效果演示XTDrone 四 完整代码 前言 ubuntu 18.04 pycharm ros melodic 做一个在终端中…...
【python学习笔记】argparse --- 命令行选项、参数和子命令解析器
argparse 是 Python 的标准库中的一个模块,用于解析命令行参数。它提供了一种简单而灵活的方式来处理命令行输入,并生成易于使用的帮助文档。 使用 argparse 模块可以轻松地定义命令行参数和选项,并自动生成用法帮助和错误消息。示例&#x…...
【Java框架】RPC远程调用
RPC架构 一、RPC概述 RPC(Remote Procedure Call)叫作远程过程调用,它是利用网络从远程计算机上请求服务,可以理解为把程序的一部分放在其他远程计算机上执行。通过网络通信将调用请求发送至远程计算机后,利用远程计…...
云原生全栈体系(一)
云平台核心 第一章 为什么用云平台 环境统一按需付费即开即用稳定性强 一、国内常见云平台 阿里云、百度云、腾讯云、华为云、青云… 二、国外常见云平台 亚马逊 AWS、微软 Azure … 三、公有云 购买云服务商提供的公共服务器 公有云是最常见的云计算部署类型。公有云资…...
【【51单片机直流电机调速】】
学会电机调速,掌握中国速度 PWM的生成方法 先用户设定一个比较值,然后计数器定时自增。 当计数器<比较值,输出0 当计数器>比较值,输出1 main.c #include <REGX52.H> #include"delay.h" #include"…...
【Spring Boot】
目录 🍪1 Spring Boot 的创建 🎂2 简单 Spring Boot 程序 🍰3 Spring Boot 配置文件 🍮3.1 properties 基本语法 🫖3.2 yml 配置文件说明 🍭3.2.1 yml 基本语法 🍩3.3 配置文件里的配置类…...
使用docker 部署自己的chatgpt
直接docker部署 docker run --name chatgpt-web -d -p 3002:3002 --env OPENAI_API_KEYyour_api_key chenzhaoyu94/chatgpt-web:latestDocker compose部署 version: 3services:app:image: chenzhaoyu94/chatgpt-web # 总是使用 latest ,更新时重新 pull 该 tag 镜像即可ports…...
Python适配器模式介绍、使用方法
一、Python适配器模式介绍 适配器模式(Adapter Pattern) 是一种结构型设计模式,用于将不兼容的接口转换为另一种接口,以便系统间的协同工作。 功能: 适配器模式主要功能是将一个类的接口转换成客户端所期望的另一种接口,以满足…...
【数据结构】复杂度
🔥博客主页:小王又困了 📚系列专栏:数据结构 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、什么是数据结构 二、什么是算法 三、算法的效率 四、时间复杂度 4.…...
【读点论文】PP-YOLOE: An evolved version of YOLO,面向友好部署的模型设计,为项目后续产业落地提供了更加有效的参考
PP-YOLOE: An evolved version of YOLO Abstract 在本报告中,我们介绍了PP-YOLOE,一种具有高性能和友好部署的工业最先进的目标探测器。我们在之前的PP-YOLOv2的基础上进行优化,采用无锚模式,更强大的骨干和颈部配备CSPRepResSt…...
微服务入门---SpringCloud(二)
微服务入门---SpringCloud(二) 1.Nacos配置管理1.1.统一配置管理1.1.1.在nacos中添加配置文件1.1.2.从微服务拉取配置 1.2.配置热更新1.2.1.方式一1.2.2.方式二 1.3.配置共享1)添加一个环境共享配置2)在user-service中读取共享配置…...
51单片机IO口控制
51单片机IO口控制 1.点亮LED灯 原理:根据电路图,指向IO口的引脚;拉低电平,灯亮、 如图: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zfco4IjK-1690308697530)(C:/Users/xie19/Pictur…...
ERROR 1064 - You have an error in your SQL syntax;
ERROR 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near (/, 少个逗号吧,以前开始写SQL,特别是修改SQL的时候容易出现这样错误。 而且自己也知道在附近…...
leetcode做题笔记46
给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 思路一:回溯 void swap(int *nums,int index1,int index2) {int temp nums[index1];nums[index1] nums[index2];nums[index2] temp; }void prem(int* nu…...
快问快答JS面向对象面试题
1、说说你对闭包的理解 使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。在js中,函数即闭包,只有函数才会产生作用…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...
高考志愿填报管理系统---开发介绍
高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发,采用现代化的Web技术,为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## 📋 系统概述 ### 🎯 系统定…...
软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...
