当前位置: 首页 > news >正文

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的基本语法

“有人说&#xff0c;写python就像是坐在一个没有安全带的车上&#xff0c; 我认为这个说法很欠妥当&#xff0c; 应该是一辆没有外壳和座椅&#xff0c; 只有发动机和轮子的车&#xff0c; 并且车上摆满了轮子” python既然是作为一个工具&#xff0c;那么就不需要去深入…...

Kubernetes那点事儿——存储之存储卷

Kubernetes那点事儿——存储之存储卷 前言一、K8s数据卷一、临时存储卷emptyDir二、节点存储卷hostPath三、网络存储NFS 前言 在K8s中用Volume为容器提供了外部的存储能力。 Pod需要设置卷来源&#xff08;spec.volume&#xff09;和挂载点&#xff08;spec.containers.volumeM…...

Go语言中‘String’包中的‘Cut‘函数的实现

Go语言中‘String’包中的’Cut’函数的实现 ​ Cut函数用于在字符串**‘s’中查找子串’sep’&#xff0c;并将字符串’s’在子串 ‘sep’ 第一次出现的位置分割成两部分&#xff1a;before和after** package main import("fmt" "strings" ) func main(…...

【JAVASE】顺序和选择结构

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;浅谈Java &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; 顺序和选择 1. 顺序结构2. 分支结构2.1 …...

Oracle恢复删除的数据

不下心删除了生产库的数据或者不小心删除了一部分数据&#xff0c;如何恢复找回。 Oracle恢复删除数据的方法 方案一 利用oracle提供的闪回方法进行数据恢复&#xff0c;适用于delete删除方式 首先获取删除数据的时间点&#xff1a; select * from v$sql where sql_text l…...

(无人机方向)ros小白之键盘控制无人机(终端方式)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一&#xff1a;配置pycharm的ros开发环境二&#xff1a;核心代码讲解三 效果演示XTDrone 四 完整代码 前言 ubuntu 18.04 pycharm ros melodic 做一个在终端中…...

【python学习笔记】argparse --- 命令行选项、参数和子命令解析器

argparse 是 Python 的标准库中的一个模块&#xff0c;用于解析命令行参数。它提供了一种简单而灵活的方式来处理命令行输入&#xff0c;并生成易于使用的帮助文档。 使用 argparse 模块可以轻松地定义命令行参数和选项&#xff0c;并自动生成用法帮助和错误消息。示例&#x…...

【Java框架】RPC远程调用

RPC架构 一、RPC概述 RPC&#xff08;Remote Procedure Call&#xff09;叫作远程过程调用&#xff0c;它是利用网络从远程计算机上请求服务&#xff0c;可以理解为把程序的一部分放在其他远程计算机上执行。通过网络通信将调用请求发送至远程计算机后&#xff0c;利用远程计…...

云原生全栈体系(一)

云平台核心 第一章 为什么用云平台 环境统一按需付费即开即用稳定性强 一、国内常见云平台 阿里云、百度云、腾讯云、华为云、青云… 二、国外常见云平台 亚马逊 AWS、微软 Azure … 三、公有云 购买云服务商提供的公共服务器 公有云是最常见的云计算部署类型。公有云资…...

【【51单片机直流电机调速】】

学会电机调速&#xff0c;掌握中国速度 PWM的生成方法 先用户设定一个比较值&#xff0c;然后计数器定时自增。 当计数器<比较值&#xff0c;输出0 当计数器>比较值&#xff0c;输出1 main.c #include <REGX52.H> #include"delay.h" #include"…...

【Spring Boot】

目录 &#x1f36a;1 Spring Boot 的创建 &#x1f382;2 简单 Spring Boot 程序 &#x1f370;3 Spring Boot 配置文件 &#x1f36e;3.1 properties 基本语法 &#x1fad6;3.2 yml 配置文件说明 &#x1f36d;3.2.1 yml 基本语法 &#x1f369;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) 是一种结构型设计模式&#xff0c;用于将不兼容的接口转换为另一种接口&#xff0c;以便系统间的协同工作。 功能&#xff1a; 适配器模式主要功能是将一个类的接口转换成客户端所期望的另一种接口&#xff0c;以满足…...

【数据结构】复杂度

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;数据结构 &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、什么是数据结构 二、什么是算法 三、算法的效率 四、时间复杂度 4.…...

【读点论文】PP-YOLOE: An evolved version of YOLO,面向友好部署的模型设计,为项目后续产业落地提供了更加有效的参考

PP-YOLOE: An evolved version of YOLO Abstract 在本报告中&#xff0c;我们介绍了PP-YOLOE&#xff0c;一种具有高性能和友好部署的工业最先进的目标探测器。我们在之前的PP-YOLOv2的基础上进行优化&#xff0c;采用无锚模式&#xff0c;更强大的骨干和颈部配备CSPRepResSt…...

微服务入门---SpringCloud(二)

微服务入门---SpringCloud&#xff08;二&#xff09; 1.Nacos配置管理1.1.统一配置管理1.1.1.在nacos中添加配置文件1.1.2.从微服务拉取配置 1.2.配置热更新1.2.1.方式一1.2.2.方式二 1.3.配置共享1&#xff09;添加一个环境共享配置2&#xff09;在user-service中读取共享配置…...

51单片机IO口控制

51单片机IO口控制 1.点亮LED灯 原理&#xff1a;根据电路图&#xff0c;指向IO口的引脚&#xff1b;拉低电平&#xff0c;灯亮、 如图&#xff1a; [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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 (/, 少个逗号吧&#xff0c;以前开始写SQL&#xff0c;特别是修改SQL的时候容易出现这样错误。 而且自己也知道在附近…...

leetcode做题笔记46

给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 思路一&#xff1a;回溯 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、说说你对闭包的理解 使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染&#xff0c;缺点是闭包会常驻内存&#xff0c;会增大内存使用量&#xff0c;使用不当很容易造成内存泄露。在js中&#xff0c;函数即闭包&#xff0c;只有函数才会产生作用…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...

绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化

iOS 应用的发布流程一直是开发链路中最“苹果味”的环节&#xff1a;强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说&#xff0c;这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发&#xff08;例如 Flutter、React Na…...

【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)

旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据&#xff01;该数据集源自2025年4月发表于《地理学报》的论文成果…...

解析“道作为序位生成器”的核心原理

解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制&#xff0c;重点解析"道作为序位生成器"的核心原理与实现框架&#xff1a; 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...

node.js的初步学习

那什么是node.js呢&#xff1f; 和JavaScript又是什么关系呢&#xff1f; node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说&#xff0c; 需要在node.js的环境上进行当JavaScript作为前端开发语言来说&#xff0c;需要在浏览器的环境上进行 Node.js 可…...

UE5 音效系统

一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类&#xff0c;将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix&#xff0c;将上述三个类翻入其中&#xff0c;通过它管理每个音乐…...

CSS 工具对比:UnoCSS vs Tailwind CSS,谁是你的菜?

在现代前端开发中&#xff0c;Utility-First (功能优先) CSS 框架已经成为主流。其中&#xff0c;Tailwind CSS 无疑是市场的领导者和标杆。然而&#xff0c;一个名为 UnoCSS 的新星正以其惊人的性能和极致的灵活性迅速崛起。 这篇文章将深入探讨这两款工具的核心理念、技术差…...

__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ is not explicitly defined.

这个警告表明您在使用Vue的esm-bundler构建版本时&#xff0c;未明确定义编译时特性标志。以下是详细解释和解决方案&#xff1a; ‌问题原因‌&#xff1a; 该标志是Vue 3.4引入的编译时特性标志&#xff0c;用于控制生产环境下SSR水合不匹配错误的详细报告1使用esm-bundler…...