基础知识汇总(python)

2023-11-13

1.注释:

#单行注释
'''多行注释'''

2.换行: \

total = applePrice + \
          orangePrice +\
          milkPrice

3.变量:

#111  赋值给了 a
a=111
  • 变量名规则:字母、数字、下划线组成【数字不可以开头、不能关键字重用】
  • 变量名必须以字母或下划线开头,但以下划线开头的变量在Python中有特殊含义
  • 变量名中不能有空格以及标点符号(括号、引号、逗号、斜线、反斜线、冒号、句号、问号等等)
  • 不能使用关键字作变量名,可以导入keyword模块后使用print(keyword.kwlist)查看所有Python关键字
  • 变量名对英文字母的大小写敏感,例如student和Student是不同的变量
  • 不建议使用系统内置的模块名、类型名或函数名以及已导入的模块名及其成员名作变量名,这将会改变其类型和含义,可以通过dir(builtin)查看所有内置模块、类型和函数
    Python中可以使用 id 命令查看变量的地址
a=123
print(a)
print(id(a))

可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据

a=123
print(a)
print(id(a))
b=a
print(b)
print(id(b))

关键字:

import keyword
len(keyword.kwlist)# 33
print(keyword.kwlist)#查看

dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。

dir()

4.常量
常量就是不能变的变量

PI = 3.14159265359

5.运算符

  • 数学运算符
    运算符
a=21;b=4
c=a+b
if c>5:
    print(c)
d=a-b
if d<2:
    print(d)
else:
    print(100)
e=a*b
print(e)
f=a/b #除法是数学上的除法
print(f)
g=a%b
print(g)
h=a//b #整除
print(h)
#温度转换
f=float(input('请输入温度:'))
c=(f-32)/18
print(c)
  • 关系运算符:==, !=, >, <, >=, <=
  • 逻辑运算符:and,or,not
  • 位运算符:与&,或|,异或^,取反~,左移<<, 右移>>
  • [~取反就是如果是00111,则变为11000 (按位取反)]
  • 身份运算符用于比较两个对象的内存地址。常用的有两个身份运算符:is 和 is not
m=2;n=3
#m=010  n=011
print(m&n) #2  [相同位的两个数字都为1,则为1;若有一个不为1,则为0。]
print(m|n) #3  [相同位只要一个为1即为1。]
print(m^n) #1   [相同位不同则为1,相同则为0。]
print(m<<2) #8  [若左移一位,则其数值变为 a*2]
print(m>>1) #1  [右移1位即除以2;,并且取整。]
a=20
b=20
print(id(a))
print(id(b))
print(a is b)    #True
  • 成员运算符用于测试给定值是否为序列中的成员,例如字符串,列表或元组,两个:in 和 not in
'y' in 'python'   #True
  • 成员函数
    count():出现次数
    clear():清除列表元素
    extend():添加多个元素
    append():添加一个元素
    index():参数值第一次出现的下标
    remove():搜索列表并删除第一个与参数相同的值

6.数据类型

  • 整型
print(123)
2**3  #幂次方  8
  • 字符串
print('fgb')
  • 浮点
print(1,56)
0.4-0.1 == 0.3             #应尽量避免直接比较两个实数是否相等
abs(0.4-0.1 - 0.3) < 1e-6    #这里1e-6表示10的-6次方
  • 布尔类型
print(1>2)

a=True
print(not(a))
  • +
print(12 + 23)  #35
print('why '+'not')  #拼接字符串 why not
  • x
print(3*4+7)  #19
a='lucky '
b='day'
print(a*3+b)  #重复 lucky lucky lucky day

7.字符串切片
索引方式是包括开头,不包括结尾
使用in操作符判断某个子字符是否在字符串中
使用max()和min()方法获取字符串中编码极值对应的字符

data = '乌云追着人走'
print(data[0]) #乌
print(data[-1])#走
data[0:3]#乌云追
data[::-1]  #'走人着追云乌'
len(data)  #6
'走' in data  #True
'dd' in data  #False
max(data) #追
min(data) #乌

使用*操作符对字符串进行重复

(data+' ')*3  #乌云追着人走 乌云追着人走 乌云追着人走

8.数据处理

  • 使用str()方法将其他数据类型转化为字符串
a=str(1234.54) #'1234.54'
type(a) #str
b=eval(a) #1234.54
type(b)#float
  • 使用split()方法将字符串按照指定的字符串分隔,返回数组
"I am a good man".split(',')
#['I', 'am', 'a', 'good', 'man']
  • 使用join()方法连接字符串数组为一个完整的字符串
a="I am a good man".split(' ')
'.'.join(a)
#'I.am.a.good.man'
  • 使用count()方法获取某个字符在字符串中出现的次数
'vdvsddsfddddfd'.count('d')
  • 使用index()方法获取某个字符在字符串中首次出现的位置的索引
data='qwertyuiop'
data.index('y')#5
  • 使用strip()方法去除字符串头尾的特定字符,默认去除空格和换行
l='  python \n'
l.strip()  #'python'

9.内置函数

  • abs() :绝对值
  • len()
  • max()
  • min()
  • id() :查看变量的地址
  • type() :查看变量的类型
  • eval() :执行字符串语句
  • replace() :实现字符串替换
  • strip() :去除字符串首尾指定信息。
  • lstrip():去除字符串左边指定信息。
  • rstrip():去除字符串右边指定信息。
  • isalnum(): 是否为字母或数字
  • isalpha(): 检测字符串是否只由字母组成(含汉字)。
  • isdigit() :检测字符串是否只由数字组成。
  • isspace() :检测是否为空白符
  • isupper() :是否为大写字母
  • islower() :是否为小写字母
  • swapcase():大小写互换
  • title():首字母大写
  • replace(‘old’,‘new’):字符串替换相关替换old为new
  • replace(‘old’,‘new’,Times):替换指定次数的old为new
"*s*x*t*".strip("*") #'s*x*t'
"*s*x*t*".lstrip("*")#'s*x*t*'
"*s*x*t*".rstrip("*")#'*s*x*t'
" sxt ".strip() #'sxt'
a="why"
a.center(10,"*")#'***why****'
a.center(10)#' why '
a.ljust(10,"*")#'why*******'
a.rjust(10,"*")#'*******why'

10.random

  • random.uniform(a,b) 【生成指定范围的随机浮点数,a<=n<=b】
  • random.randint(a,b) 【生成指定范围的随机整数,a<=n<=b】
  • random.seed() 【利用随机数种子,使得每次生成的随机数相同】
    细致描述
import random
random.seed(10)  #每次产生种子,使随机数不变
print(random.random())

11.占位符

print("{} {}".format("hello", "world"))    # 不指定位置,按默认顺序
print("{0} {1}".format("hello", "world"))  # 指定位置
print("{1} {0} {1}".format("hello", "world")) # 指定位置,可以重用
print('{name},{sex},{age}'.format(age=32,sex='男',name='张三')) # 使用关键字参数指定名字

hello world
hello world
world hello world
张三,男,32``
12.填充与对齐

填充常跟对齐一起使用
< (默认)左对齐
> 右对齐
^ 中间对齐
后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
print("12345678")
print('{:>8}'.format('abc'))
print('{:<8}'.format('abc'))
print('{:^8}'.format('abc'))
print('{:-^8}'.format('abc'))

13.类型与精度

f表示浮点
.2f 小数点后2位
.0f 取整
e表示科学计数
%表示百分制
,表示金融数字格式
b表示二进制
d表示十进制(默认)
o表示八进制
x表示十六进制
print('{:.2f}'.format(3.14159))
print('{:.0f}'.format(3.9))
print('{:e}'.format(3.14159))
print('{:%}'.format(0.75))
print('{:,}'.format(100000000))
print('{:b}'.format(56))

x='Pi',3.1415926
print('{0}的值是:{1:-^18.7f}'.format(*x))  # 因为x是一个地址,*x = 'Pi',3.1415926
print('{0}的值是:{1:^18.7f}'.format('Pi',3.1415926))

3.14
4
3.141590e+00
75.000000%
100,000,000
111000

Pi的值是:----3.1415926-----
Pi的值是: 3.1415926
sep参数,用于指定分隔符,默认是空格分割 end参数,用于指定行末的字符,默认是换行符,可以改为空格或者空字符,在循环中就可以在同一行里继续输出了

print(1,2,3,4)
print(1,2,3,4,sep='\t')
for i in range(5):
    print(i,end='  ')
print("Learn python in %s"%('mooc'))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基础知识汇总(python) 的相关文章

  • 从数据框中按索引删除行

    我有一个数组wrong indexes train其中包含我想从数据框中删除的索引列表 0 63 151 469 1008 要删除这些索引 我正在尝试这样做 df train drop wrong indexes train 但是 代码失败
  • python future 和元组解包

    实现像使用 future 进行元组解包这样的事情的优雅 惯用的方法是什么 我有这样的代码 a b c f x y g a b z h y c 我想将其转换为使用期货 理想情况下我想写一些类似的东西 a b c ex submit f x y
  • 如何正确地将 MIDI 刻度转换为毫秒?

    我正在尝试将 MIDI 刻度 增量时间转换为毫秒 并且已经找到了一些有用的资源 MIDI Delta 时间刻度到秒 http www lastrayofhope co uk 2009 12 23 midi delta time ticks
  • 如何迭代按值排序的 Python 字典?

    我有一本字典 比如 a 6 b 1 c 2 我想迭代一下by value 不是通过键 换句话说 b 1 c 2 a 6 最直接的方法是什么 sorted dictionary items key lambda x x 1 对于那些讨厌 la
  • Python逻辑运算符优先级[重复]

    这个问题在这里已经有答案了 哪个运算符优先4 gt 5 or 3 lt 4 and 9 gt 8 这会被评估为真还是假 我知道该声明3 gt 4 or 2 lt 3 and 9 gt 10 显然应该评估为 false 但我不太确定 pyth
  • 从 ffmpeg 获取实时输出以在进度条中使用(PyQt4,stdout)

    我已经查看了很多问题 但仍然无法完全弄清楚 我正在使用 PyQt 并且希望能够运行ffmpeg i file mp4 file avi并获取流式输出 以便我可以创建进度条 我看过这些问题 ffmpeg可以显示进度条吗 https stack
  • 如何使用 imaplib 获取“消息 ID”

    我尝试获取一个在操作期间不会更改的唯一 ID 我觉得UID不好 所以我认为 Message ID 是正确的 但我不知道如何获取它 我只知道 imap fetch uid XXXX 有人有解决方案吗 来自 IMAP 文档本身 IMAP4消息号
  • 在 Python distutils 中从 setup.py 查找脚本目录的正确方法?

    我正在分发一个具有以下结构的包 mymodule mymodule init py mymodule code py scripts script1 py scripts script2 py The mymodule的子目录mymodul
  • 切片 Dataframe 时出现 KeyError

    我的代码如下所示 d pd read csv Collector Output csv df pd DataFrame data d dfa df copy dfa dfa rename columns OBJECTID Object ID
  • 对图像块进行多重处理

    我有一个函数必须循环遍历图像的各个像素并计算一些几何形状 此函数需要很长时间才能运行 在 24 兆像素图像上大约需要 5 小时 但似乎应该很容易在多个内核上并行运行 然而 我一生都找不到一个有据可查 解释充分的例子来使用 Multiproc
  • 从 python 发起 SSH 隧道时出现问题

    目标是在卫星服务器和集中式注册数据库之间建立 n 个 ssh 隧道 我已经在我的服务器之间设置了公钥身份验证 因此它们只需直接登录而无需密码提示 怎么办 我试过帕拉米科 它看起来不错 但仅仅建立一个基本的隧道就变得相当复杂 尽管代码示例将受
  • Numpy 过滤器平滑零区域

    我有一个 0 及更大整数的 2D numpy 数组 其中值代表区域标签 例如 array 9 9 9 0 0 0 0 1 1 1 9 9 9 9 0 7 1 1 1 1 9 9 9 9 0 2 2 1 1 1 9 9 9 8 0 2 2 1
  • 按元组分隔符拆分列表

    我有清单 print L I WW am XX newbie YY ZZ You WW are XX cool YY ZZ 我想用分隔符将列表拆分为子列表 ZZ print new L I WW am XX newbie YY ZZ You
  • 无法在 osx-arm64 上安装 Python 3.7

    我正在尝试使用 Conda 创建一个带有 Python 3 7 的新环境 例如 conda create n qnn python 3 7 我收到以下错误 Collecting package metadata current repoda
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • Ubuntu 上的 Python 2.7

    我是 Python 新手 正在 Linux 机器 Ubuntu 10 10 上工作 它正在运行 python 2 6 但我想运行 2 7 因为它有我想使用的功能 有人敦促我不要安装 2 7 并将其设置为我的默认 python 我的问题是 如
  • 无法在前端使用 JavaScript Fetch API 将文件上传到 FastAPI 后端

    我正在尝试弄清楚如何将图像发送到我的 API 并验证生成的token那是在header的请求 到目前为止 这就是我所处的位置 app post endreProfilbilde async def endreProfilbilde requ
  • 字典和数组作为类变量与实例变量

    这是赚取积分的简单方法 请解释以下内容 class C a b 0 c def init self self x def d self k v self x k v self a k v self b v self c append v d
  • Elastic Beanstalk 中的 enum34 问题

    我正在尝试在 Elastic Beanstalk 中设置 django 环境 当我尝试通过requirements txt 文件安装时 我遇到了python3 6 问题 File opt python run venv bin pip li
  • 列表值的意外更改

    这是我的课 class variable object def init self name name alias parents values table name of the variable self name 这是有问题的函数 f

随机推荐

  • Halcon深度学习常见问题及解决方法

    一 常见问题及解决办法 1 set dl model param DLModelHandle gpu GpuId GpuId 0 选中第一块显卡做深度学习训练 GpuId 1 选中第二块显卡做深度学习训练 类推 查询可用多显卡信息 quer
  • 使用EasyExce实现Excel文件解析

    hello 你好呀 我是灰小猿 一个超会写bug的程序猿 在上一篇文章中我和大家简单的介绍了使用easyexcel技术在有对象和无对象情况下实现Excel文件的写入操作 那么今天这一篇文章 我就继续来和大家讲一下 使用easyexcel技术
  • 入门力扣自学笔记211 C++ (题目编号:1781)

    1781 所有子字符串美丽值之和 题目 一个字符串的 美丽值 定义为 出现频率最高字符与出现频率最低字符的出现次数之差 比方说 abaacc 的美丽值为 3 1 2 给你一个字符串 s 请你返回它所有子字符串的 美丽值 之和 示例 1 输入
  • Football数据集可视化处理——gephi可视化处理数据

    1 football数据集的文件格式 根据如图所示football数据集和的文件格式如下所示 下图表示football数据集节点部分信息 下图表示football数据集边的部分信息 根据上述两个图中的格式对football数据集的格式介绍可
  • 浅谈Spring框架应用的设计模式(一)——工厂模式

    文章目录 前言 一 工厂模式介绍 1 简单工厂模式 1 静态工厂模式 2 利用反射机制实现的简单工厂 2 工厂方法模式 3 抽象工厂模式 二 Spring框架中工厂模式的重要应用 1 BeanFactory 2 FactoryBean 总结
  • Java——多线程使用详解

    多线程 多线程就是同时执行多个应用程序 需要硬件的支持 同时执行 不是某个时间段同时 cpu切换的比较快 所有用户会感觉是在同时运行 并发与并行 并行 parallel 指在同一时刻 有多条指令在多个处理器上同时执行 并行必须借助于多核cp
  • esp32与python-opencv的联动(micropython固件)

    开发环境 Thonny python 硬件要求 esp32cam 实现思路 将esp32cam拍摄的图片通过网络协议传到电脑进行处理 下位机代码 import camera import socket import network impo
  • 去掉图片黑背景输出为透明png(算法和工具)

    有时候你得到的图片不是透明的png而是加了黑背景的图 可能是 jpg gif png等格式的图 例如一个粒子效果的图 多好的粒子效果 可惜它有黑背景 不处理一下 不好用 经过移除黑背景处理为png后 变为 这时候这个效果图片就可以方便的使用
  • 将指定文件夹中的图片随机均匀分为5份,并将每份图片保存到指定的文件夹

    以下是Python示例代码 可用于将指定文件夹中的图片随机均匀分为5份 并将每份图片保存到指定的文件夹 import os import random import shutil 设置来源文件夹和目标文件夹的路径 src folder pa
  • Ubuntu16_18建立返回桌面、显示桌面的快捷图标的特殊方法

    一般windows系统任务栏上都有 返回桌面 的按钮 Ubuntu也有类似的任务栏 或者叫启动器 但是没有这个 显示桌面 的按钮 如果想加一个怎么实现呢 有人可能说了按ctrl super d就可以了 是的没错 不过这是按键不是快捷图标 有
  • java自动化测试-UI(APP)

    环境搭建 下载android sdk windows appium与Appium windows 夜神模拟器 雷电模拟器 genymotion 下载 android sdk下载 官网地址 https developer android go
  • Docker启动失败报错Failed to start Docker Application Container Engine解决方案

    Docker启动失败报错Failed to start Docker Application Container Engine解决方案 天涯人6的博客 CSDN博客
  • stm32f407-ros-serial-can-json-mqtt

    ros coer rosserial 桥接 qt UI 获取收发数据 操作接口 类 发布 订阅 接口 类 发布 发布接口 ros 转发功能nh ros read 读取上位机 订阅数据nh ros serialread 读取 单片机串口数据n
  • hp服务器基本系统设备驱动,hp 服务器 设置硬盘驱动

    hp 服务器 设置硬盘驱动 内容精选 换一换 云备份 Cloud Backup and Recovery CBR 可以为云服务器 云硬盘提供简单易用的备份服务 当发生病毒入侵 人为误删除 软硬件故障等事件时 可将数据恢复到任意备份点 云备份
  • Gradle脚本基础全攻略

    http blog csdn net yanbober article details 49314255 t15 目录 背景 Gradle DSL基础 2 1 构建脚本Build scriptProject 2 2 初始化脚本Init sc
  • Error processing condition on org.springframework.boot.autoconfigure.context.PropertyPlaceholderAuto

    Error processing condition on org springframework boot autoconfigure context PropertyPlaceholderAutoConfiguration proper
  • 基于Python+Django的项目实战-招聘数据分析可视化系统(附源码+论文)

    大家好 我是职场程序猿 感谢您阅读本文 欢迎一键三连哦 当前专栏 基于Python的毕业设计 精彩专栏推荐 微信小程序毕业设计 安卓app毕业设计 Java毕业设计 招聘数据分析可视化系统 django 演示 源码及论文下载地址 https
  • 【mcuclub】矩阵键盘

    1 实物图 2 原理图 3 基本原理 使用8个I O口来进行16个按键的控制读取 用4条I O线作为行线 4条I O线作为列线组成键盘 当某个按键按下时 进行行列扫描 从而判断是第几行第几列的按键 进而进行整体按键值的确定 4 优点 使用8
  • Stephen Wolfram

    斯蒂芬 沃尔夫勒姆 Stephen Wolfram 1959年 物理学家 数学家 电脑工程师和商人 作为程序开发员 他是数学软件Mathematica的发明者之一 作为商人 他是Wolfram Research公司的创立者和首席执行官 在学
  • 基础知识汇总(python)

    1 注释 单行注释 多行注释 2 换行 total applePrice orangePrice milkPrice 3 变量 111 赋值给了 a a 111 变量名规则 字母 数字 下划线组成 数字不可以开头 不能关键字重用 变量名必须