1-python基础

1.字面量
被写在代码中固定的值
在这里插入图片描述

2.注释

# 单行注释

"""
多行注释1:三对双引号
"""

'''
多行注释2:三对单引号
'''

3.变量与输出

age=10 # 变量赋值
print("我今年",age,"岁") 

在这里插入图片描述

(1)print()可当换行使用

print(1)
print()
print(2+4)

在这里插入图片描述

(2)print打印完自动换行
在这里插入图片描述

如果不需要换行,使用end=“空格”

age=10
print(age,end=" ")

在这里插入图片描述

4.基本数据类型与转换

counter= 100 # 整型变量
miles= 1000.0 # 浮点型变量
name= "jack" # 字符串
a = b = c = 1 # 多个赋值
a, b, c = 1, 2, "jack" # 多个赋值

(1)查看变量类型type()

a=111.21
b="ddw"
c=24324
d=type(c)
print(type(a),type(b),type(c),type(23.65),d)

在这里插入图片描述
(2)自动类型转换-隐式

a = 123 # int
b = 1.23 # float 
c = a + b # c自动转为float
print(c) # 123.23
print(type(c)) # float

(3)自动类型转换-显示

x="3" # x为字符串3
y = int(2.8) # 将2.8强制转换为int型的2,并赋值给y
z = int("3") # 将字符串3强制转换为int型的3,并赋值给z
print(x+y)  # error,字符串x和整型y无法相加
print(z+y) # 整型z和整型y相加得到3+2=5
m = str(2) # 将数字2转换为字符串2
a=1
print(a+m) # error
print(int("a")) # error,字符型不能转整型,但任何类型都可以转换成字符串

5.标识符
在编程时使用一些名字来为变量、类、方法命名

命名规则:
(1)英文、中文、数字、下划线
(2)不能以数字开头
(3)区分大小写
(4)不可使用关键字。如:False、True、None、class、and等。但可以修改大小写使用,如可以使用:false、true、Class等

命名规范:
(1)变量:见名知意、尽量简洁、多个字符组合时使用下划线命名、英文字母全小写。如:student_name=“jack”

6.运算符
(1)取整除//

print(9/2) # 4.5
print(9.0/2.0) # 4.5
print(16/4) #4.0 除法默认得到小数
print(9//2) # 4 取整除保留整数部分
print(9.0//2.0) # 4.0
print(9.0//2) # 4.0
print(9//2.0) # 4.0

(2)取余%

print(5%2) # 1

(3)指数**

print(5**2) #幂运算5^2=25

(4)复合赋值运算符
即对c做a运算,结果存回c
c+=a→c=c+a
c%=a→c=c%a
c**=a→c=c**a
c//=a→c=c//a
因此c必须是变量,而a可以是变量或者数字
[例]

a=2
b=3
a**=b
print(a) # a=a^b=2^3=8
a**=2
print(a) # 8^2=64
2**=b # error

(5)逻辑运算

print(3*3.75/1.5) # 7.5  不同类型的数混合运算时会将整数转换为浮点数
&按位与
|按位或
^按位异或(相同为0,不同为1~对二进制按位取反
<<左移(高位丢弃,低位补0>>右移

右移(>>):
①正数:低位丢弃,高位补0
②负数:负数在计算机中以补码形式存储,先计算补码,进行算术右移(低位丢弃,高位补1),求得原码即为所求
[例1] -72>>2
原码:11001000
反码:10110111
补码:10111000
补码右移两位:11101110
原码:10010010(补码除符号位全部取反加1)
即-18
[例2] 72>>2
原码:01001000
右移两位:00010010
即18

按位取反(~):
①正数:正数是按照原码形式存储,按位取反(包括符号位)后变为负数,将其视为补码形式,求得原码即为所求
②负数:负数在计算机中以补码形式存储,先计算补码,再按位取反(包括符号位),求得原码即为所求
[例1] -72按位取反
原码:11001000
反码:10110111
补码:10111000
按位取反:01000111
原码:01000111(正数原码与补码相同)
即71
[例2] 72按位取反
原码:01001000
按位取反:10110111(补码形式)
原码:11001001
即-73
③总结:x的按位取反结果为:~x= -(x+1)

7.字符串
(1)定义方式
①三种定义方式

a='hello'
b="hello"
c="""hello""" #在等号左侧有变量接收的三引号不属于注释

②三引号的换行

a="""h
e
l
  l
     o"""
print(a)

在这里插入图片描述
③单双引号的换行,需要加 \

a="a" \
  "b" \
  "c" \
  "d"
print(a)

在这里插入图片描述

④字符串包含引号

想要输出’haha’,使用双引号定义

a="'haha'"
print(a)

想要输出"haha",使用单引号定义

a='"haha"'
print(a)

使用转义字符\解除引号
如:通过\,将引号改为普通字符"

在这里插入图片描述

(2)字符串拼接
+无空格
,有空格

print("hel"+"lo") # hello

a="hel"
print(a+"lo"+"nihao") # hellonihao
print(a,"lo","nihao") # hel lo nihao 逗号拼接有空格

字符串无法和非字符串通过加号拼接

a=1
print("hello"+a) #error

(3)字符串格式化(针对str和非str的拼接)
①%
%d作为占位符,使用%隔开,用后面的12替换

a="我今年%d岁" % 12
print(a) #输出:我今年12岁

两个占位后面需要加括号,用逗号分开,按顺序写

a="%s今年%d岁" % ("我",12)
print(a) # 输出:我今年12岁

常见的占位:%s字符串、%d整数、%f浮点型

②快速格式化
在引号前加f,变量用{}标记,快速格式化不做精度控制

a="hello"
b=123
c=5.8
print(f"这是{a},啊啊{b},哦哦{c}")
# 输出:这是hello,啊啊123,哦哦5.8

(4)格式化的精度控制

a="%f" % 1.2
print(a) #输出1.200000

%5d表示数字宽度为5,123为三位数,前面会再输出两个空格

b="%5d" % 123
print(b)

在这里插入图片描述
若指定宽度小于当前宽度,正常输出(即无效宽度设置)

b="%2d" % 123
print(b)

在这里插入图片描述

对于%7.3
小数点前的7表示输出的整数+小数+小数点位数+输出结果前面的空格数=7,小数点后的3表示小数点后保留3位

a="%7.3f" % 12.3
print(a)

在这里插入图片描述
若小数点前的数小于实际位数,会正常输出

a="%2.3f" % 12.3
print(a) # 输出12.300

小数部分截断采取四舍五入的方式,宽度若不设置可省略

a="%.1f" % 1.55
print(a) # 输出1.6

(5)对表达式进行格式化

print("%d" % (1+1)) # 2
print(f"sasasa{1+2}") # sasasa3
print("%s" % type("dsad")) # <class 'str'>

(6)字符串分析

str = 'Runoob'
print (str)          # 输出字符串:Runoob
print (str[0:-1])    # 下标从0开始,从0号输出到-1号(左闭右开),-1号表示从右边数第一个字符,输出:Runoo
print (str[0])       # 输出字符串第一个字符:R
print (str[2:5])     # 从2号输出到5号(左闭右开):noo
print (str[2:])      # 从2号到底:noob
print (str * 2)      # 输出字符串两次:RunoobRunoob
print (str + "TEST") # 连接字符串:RunoobTEST

在这里插入图片描述
[练习]

在这里插入图片描述
字符串更新
(加号连接没空格,逗号连接有空格)

a='hello '
print("new="+a[:6],"world") # new=hello world

(7)字符串不能直接修改某个元素的值

a="hello"
print(a[0]) # h
a[0]="d" # error

(8)索引index
index(value,start,end)

a="hello"
b=a.index("l",0,-1) # 查找第一个l,从0开始,到-1(不含)为止
print(b) # 2
a="hello world haha"
print(a.index("world")) # 6
#找到world的w的下标,空格也算一个元素

(9)替换replace
replace(被替换的字符串,新的字符串)
将字符串内全部的 字符串1 替换为 字符串 2
通过替换,通过返回值生成了一个新的字符串,而不是修改原字符串(原字符串的值不变)

a="haha dlsajdsak haha jdsapdsaj haha pdasdoj"
b=a.replace("haha","hehe")
print(a) # haha dlsajdsak haha jdsapdsaj haha pdasdoj
print(b) # hehe dlsajdsak hehe jdsapdsaj hehe pdasdoj

(10)字符串分割split
split(“分隔符”)
通过指定分隔符进行分割,结果分别存入列表(后面讲到)

a="hello world sajisas"
b=a.split(" ") # 按照空格切分
print(b) # ['hello', 'world', 'sajisas']

(11)字符串的规整操作strip
strip() 去除前后空格
strip(“字符串”) 去除前后指定字符串(按单个字符计(含空格))

a="  hello world hsaihsa     "
print(a) #   hello world hsaihsa     
print(a.strip()) # hello world hsaihsa
a="  hello world hsaihsa     "
print(a) #   hello world hsaihsa     
print(a.strip("hel")) #   hello world hsaihsa     
# 无影响,因为原字符串是以空格开头,不能从中间元素删除
print(a.strip(" hel")) # o world hsaihsa
# 删除开头和结尾连续的" "、"h"、"e"、"l"
a="hello world hsaihseahl"
print(a.strip("hel")) # o world hsaihsea
# 删除开头和结尾连续的"h"、"e"、"l",结尾到a断开,不再往前检查

(12)统计字符串中某元素出现的次数count

a="hello world hsaihseahl worldsasc"
print(a.count("l")) # 5
print(a.count("world")) # 2

(13)统计字符串的长度len

a="a b "
print(len(a)) # 4

8.缩进
不使用{},而按照对齐方式划分代码块,未对齐可能导致error

if True:
	print("1")
	print("2")
else:
	print("3")

9.数据输入input
input默认将输入转为str,可直接进行字符串拼接

a=input() # 若输入6
print(a) # 6
print("您的输入是"+a) # 您的输入是6
print("请输入:")
a=input()
#等价于
a=input("请输入:")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/6112.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java数据类型与变量

1.字面常量 public class Demo{ public static void main(String[] args){ System.Out.println("hello world!"); System.Out.println(300); System.Out.println(3.1415926); System.Out.println(T); System.Out.println(true); System.Out.println(false); } 其中…

【CocosCreator入门】CocosCreator组件 | ParticleSystem (粒子)组件

Cocos Creator 是一款流行的游戏开发引擎&#xff0c;具有丰富的组件和工具&#xff0c;其中ParticleSystem组件是一个用于创建粒子效果的工具&#xff0c;可用于实现火花、爆炸、雪花等效果。 目录 一、组件属性 二、组件使用 三、效果演示 四、性能优化 一、组件属性 属性…

迅为3A5000_7A2000工控主板,龙芯自主指令集架构全国产工业级板卡性能

迅为iTOP-3A5000开发板核心板底板方式&#xff0c;底板资料开源&#xff0c;提供底板的原理图和PCB工程文件&#xff0c;可以根据需求定制属于自己的开发板。 核心板也支持工业级核心板定制开发。 根据二进制翻译功能使用&#xff0c;可流畅运行WIN和Android系统APP。 支持Loo…

renderdoc resource manager说明

*写在前面 只针对renderdoc opengl es 场景进行说明&#xff0c; vukan的没有&#xff0c;不过其实应该也差不多啦&#xff0c;若有必要后面再考虑补上。本文使用 文字图代码 的方式叙述&#xff0c;若只想了解原理过程&#xff0c;可忽略代码部分&#xff0c; 由于renderdoc代…

文章生成器-免费的文章生成器

随着信息爆炸的时代&#xff0c;自媒体人员不仅需要创造性的策略&#xff0c;还需要快速产生具有高质量文章的能力&#xff0c;这样才能快速响应趋势并保持优势。文章生成器&#xff0c;一款基于人工智能和自然语言处理技术的文本生成软件&#xff0c;可在没有任何人工干预的情…

企业搭建帮助中心的额方式有哪些?

帮助中心对于企业价值的重要性在于提高客户满意度和忠诚度&#xff0c;增强企业品牌形象&#xff0c;促进业务增长和提高利润率。通过提供详细的帮助文档和客户支持&#xff0c;企业可以向客户传达其专业知识和技能&#xff0c;并帮助客户更好地使用其产品或服务。这将提高客户…

C++(Qt)软件调试---使用任务管理器导出Dump(6)

C(Qt)软件调试—使用任务管理器导出Dump&#xff08;6&#xff09; 文章目录C(Qt)软件调试---使用任务管理器导出Dump&#xff08;6&#xff09;1、前言2、软件下载3、使用三款软件导出Dump4、软件下载地址更多精彩内容&#x1f449;个人内容分类汇总 &#x1f448;&#x1f44…

『.NET Tools』在.NET中实现汉字转拼音,只要一个方法就够了!

&#x1f4e3;读完这篇文章里你能收获到 傻瓜式扩展方法直接使用可实现汉字转拼音及汉字转拼音首字母功能感谢点赞收藏&#xff0c;避免下次找不到~ 文章目录一、代码引用Step 1 : 安装包&#xff0c;通过Nuget安装包Step 2 : 代码通过扩展方法/帮助类实现实现汉字转拼音实现汉…

谷粒商城-redis分布式锁系列

1.压力测试出的内存泄漏及解决&#xff08;可跳过&#xff09; 使用jmeter对查询产品分类列表接口进行压力测试&#xff0c;出现了堆外内存溢出异常。 我们设置的虚拟机堆内存100m&#xff0c;并不是堆外内存100m 产生堆外内存溢出&#xff1a;OutOfDirectMemoryError 原因是…

2023.4.3

ctrlf:全局替换 alt鼠标左键&#xff1a;整列编辑 ctrlaltl&#xff1a;格式化 AJAX 简介 概念&#xff1a;AJAX&#xff1a;异步&#xff08;客户端不用等待服务端的反应&#xff09;的Javascript和XML AJAX的作用&#xff1a; 与服务器进行数据交互&#xff1a;通过AJA…

Adaptive AUTOSAR——Execution Management(VRTE 3.0 R21-11)

ChatGPT回答&#xff1a; Adaptive AUTOSAR Execution Management 模块是用于管理软件执行的模块&#xff0c;其主要功能包括&#xff1a; 任务调度&#xff1a;支持对任务进行调度和执行&#xff0c;以实现系统中各个功能的协调运行&#xff1b;软件组件管理&#xff1a;支持对…

python 读取xml从入门到精通

XML &#xff08;Extensible Markup Language&#xff09;&#xff0c;可扩展标记语言&#xff0c;是一种被广泛应用于网络上的文件格式。在互联网上&#xff0c;网页里的信息都以 XML格式存储&#xff0c;例如 HTML、 CSV、 JSON等。随着电子商务的发展&#xff0c;人们需要在…

【面试】Java异常面试题

文章目录Java异常架构与异常关键字Java异常简介Java异常架构1. Throwable2. Error&#xff08;错误&#xff09;3. Exception&#xff08;异常&#xff09;4. 受检异常与非受检异常Java异常关键字Java异常处理声明异常抛出异常捕获异常如何选择异常类型常见异常处理方式直接抛出…

35岁,失业6个月终于接到降薪offer:有面就面,薪酬不限,随机应变说瞎话,对奇葩面试官保持礼貌克制,为拿offer什么都能忍...

被裁后为了生存&#xff0c;人需要做出什么改变&#xff1f;一位35岁网友在失业6个月后终于拿到offer&#xff0c;虽然降薪到四年前的水平&#xff0c;但能继续养家糊口&#xff0c;楼主已经很满意了&#xff0c;并分享了自己的个人经验&#xff1a;1.挖掘历史项目经验&#xf…

为什么ClassPathResource可以读取到流?- 第465篇

历史文章&#xff08;文章累计460&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 S…

68-信号量

文章目录信号量一.什么是信号量二.信号量的接口三.信号量的使用1.思路2.代码3.编译及结果四.ipcs命令信号量 信号量就是控制某个进程能够对某个资源进行访问;保证同一时刻只能由一个进程对 某个资源进程访问; 打印机 一.什么是信号量 信号量是一个特殊的变量&#xff0c;一…

全网最详细的UI自动化测试元素定位方法总结

目录 前言 元素定位概述 常用的元素定位器 元素定位方法 元素定位技巧 总结 前言 UI自动化测试是软件测试中的一个重要环节&#xff0c;它可以通过模拟用户的实际操作&#xff0c;自动化执行UI界面上的测试用例&#xff0c;以提高测试效率和准确性。元素定位是UI自动化测…

卡尔曼滤波浅析

文章目录前言任务状态预测外部影响因素外部不确定性状态更新利用测量进一步修正状态合并两个高斯分布公式汇总图形化解释总结&#xff08;readme&#xff09;references前言 Kalman Filter算法&#xff0c;是一种递推预测滤波算法&#xff0c;算法中涉及到滤波&#xff0c;也涉…

数据更新 | CnOpenData法拍房数据

法拍房数据 一、数据简介 法拍房&#xff0c;即“法院拍卖房产”&#xff0c;是被法院强制执行拍卖的房屋 。当债务人&#xff08;业主&#xff09;无力履行借款合约或无法清偿债务时&#xff0c;而被债权人经司法程序向法院申请强制执行&#xff0c;将债务人名下房屋拍卖&…

sql注入靶场练习

文章目录Less-1Less-2Less-3Less-4Less-5Less-6Less-7Less-8Less-9Less-10Less-11Less-12Less-13Less-14Less-15Less-16Less-17less-18Less-19Less-20Less-1 union没有被过滤&#xff0c;先试出来长度。 ?id1orderby3%23 ?id1orderby4%23到4时&#xff0c;发现 然后再试出来…