首页 > 其他分享 >2. 预备知识点

2. 预备知识点

时间:2023-05-08 09:34:31浏览次数:32  
标签:知识点 10 预备 else 运算符 range print 表达式

1. 注释

#井号标注的文本

2. 数字

整数int
Python3开始不再区分long、int,long被重命名为int,所以只有int类型了
进制表示:
十进制10
十六进制0x10
八进制0o10
二进制0b10
bool类型,有2个值True、False
浮点数float
1.2、3.1415、-0.12,1.46e9等价于科学计数法1.46*109
本质上使用了C语言的double类型
复数complex
1+2j或1+2J

3. 字符串

使用 ' " 单双引号引用的字符的序列
'''和""" 单双三引号,可以跨行、可以在其中自由的使用单双引号
r前缀:在字符串前面加上r或者R前缀,表示该字符串不做特殊的处理
f前缀:3.6版本开始,新增f前缀,格式化字符串
示例:r前缀演示
不加r前缀
c ='\windows\nt'
print(c)

运行结果
\windows
t

加r前缀
b= r'\windows\nt'
print(b)

运行结果
\windows\nt
可以看到r前缀,把\n转义了

字符串拼接

str(1) + ',' + 'b'      #都转换成字符串拼接到一起
"{}-{}".format(1, 'a')  #{}就是填的空,有2个,就使用2个值填充
#在3.6后,可以使用插值
a = 100;
b = 'abc'
f'{a}-{b}' #一定要使用f前缀,在大括号中使用变量名

4. 转义序列

\\ \t \r \n \' \"
上面每一个转义字符只代表一个字符,例如 \t 显示时占了4个字符位置,但是它是一个字符
前缀r,把里面的所有字符当普通字符对待,则转义字符就不转义了。
转义:让字符不再是它当前的意义,例如\t,t就不是当前意义字符t了,而是被\转成了tab键

5. 续行

在行尾使用 \,注意\之后除了紧跟着换行之外不能有其他字符
如果使用各种括号,认为括号内是一个整体,其内部跨行不用 \

6. 标识符

标识符
1. 一个名字,用来指代一个值
2. 只能是字母、下划线和数字
3. 只能以字母或下划线开头
4. 不能是python的关键字,例如def、class就不能作为标识符
5. Python是大小写敏感的
标识符约定:
不允许使用中文,也不建议使用拼音
不要使用歧义单词,例如class_
在python中不要随便使用下划线开头的标识符

7. 常量

一旦赋值就不能改变值的标识符
python中无法定义常量

8. 字面常量

一个单独的不可变量,例如 12、"abc" 、'2341356514.03e-9'

9. 变量

赋值后,可以改变值的标识符

10. 标识符本质

每一个标识符对应一个具有数据结构的值,但是这个值不方便直接访问,程序员就可以通过其对应的标识符来访问数据,标识符就是一个指代,一句话,标识符是给程序员编程使用的

11 False等价

False等价布尔值,相当于bool(value)
空容器
  空集合set
  空字典dict
  空列表list
  空元组tuple
  空字符串
None
0

12. 运算符Operator

算数运算符

+、-、*、/、//向下取整整除、%取模、**幂
注:在Python2中/和//都是整除

位运算符

&位与、|位或、^异或、<<左移、>>右移
~按位取反,包括符号位

比较运算符

==、!=、>、>=、<、<=
链式比较: 4 > 3 > 2
比较运算符,返回一个bool值

逻辑运算符

特别注意,返回值.返回值不一定是bool型,返回取决于短路处的表达式的值
把最频繁使用的,做最少计算就可以知道结果的条件放到前面,如果它能短路,将大大减少计算量

与and、或or、非not
逻辑运算符也是短路运算符
and 如果前面的表达式等价为False,后面就没有必要计算了,这个逻辑表达式最终一定等价为False
  1 and '2' and 0
  0 and 'abc' and 1
or 如果前面的表达式等价为True,后面没有必要计算了,这个逻辑表达式最终一定等价为True
  1 or False or None

赋值运算符

a = min(3, 5)
+=、 -= 、*=
、/=、%=、//= 等
x = y = z = 10
赋值语句先计算等式右边,然后再赋值给变量

成员运算符

in、not in,用来判断是否是容器的元素,返回布尔值

身份运算符

is 、is not,用来判断是否是同一个对象

13. 表达式

由数字、符号、括号、变量等的组合.有算数表达式、逻辑表达式、赋值表达式、lambda表达式等等
Python中,赋值即定义.Python是动态语言,只有赋值才会创建一个变量,并决定了变量的类型和值
如果一个变量已经定义,赋值相当于重新定义

14 内建函数

内建函数 函数签名 说明
print print(value, ..., sep=' ',end='\n') 将多个数据输出到控制台,默认使用空格分隔、\n换行
input input([prompt]) 在控制台和用户交互,接收用户输入,并返回字符串
int int(value) 将给定的值,转换成整数。int本质是类
str str(value) 将给定的值,转换成字符串。str本质是类
type type(value) 返回对象的类型。本质是元类
isinstance isinstance(obj,class_or_tuple) 比较对象的类型,类型可以是obj的基类
print(1,2,3,sep='\n', end='***')
type(1)        #返回的是类型,不是字符串
type('abc')    #返回的是类型,不是字符串
type(int)      #返回type,意思是这个int类型由type构造出来
type(str)      #返回type,也是类型
type(type)     #也是type
print(isinstance(1, int))
print(isinstance(False, int)) #True

15 单分支

if condition:
 代码块
if 1<2:     #if True:
 print('1 less than 2') #代码块

16 多分支

if condition1:
 代码块1
elif condition2:
 代码块2
elif condition3:
 代码块3
......
else:
 代码块
a = 5
if a<0:
 print('negative')
elif a==0:    #相当于 a >= 0
 print('zero')
else:         #相当于 a > 0
 print('positive')

多分支结构,只要有一个分支被执行,其他分支都不会被执行
前一个条件被测试过,下一个条件相当于隐含着这个条件

#嵌套
a = 5
if a == 0:
    print('zero')
else:
    if a > 0:
        print('positive')
    else:
        print('negative')

17. while循环

while循环多用于死循环,或者不明确知道循环次数的场景

while True:  #死循环
    pass
a = 10
while a:     #条件满足则进入循环
    print(a)
    a -= 1

18. for语句

内建函数 函数签名 说明
range range(stop)
range(start, stop[,step]) 返回惰性的对象
可以生成一个序列,遍历它就可以得到这个序列的一个个元素
前包后不包
#打印偶数
for i in range(0, 10):
    if i % 2 == 0 :
        print(i)
for i in range(0, 10, 2):
    print(i)
#打印奇数
for i in range(0, 10):
    if i % 2 != 0 :
        print(i)
for i in range(1, 10, 2):
    print(i)

19. continue

跳过当前循环的当次循环,继续下一次循环

for i in range(0, 10):
    if i % 2 != 0 : continue
    print(i)
for i in range(10):
    if i % 2 != 0 : 
        continue
    print(i)
for i in range(10):
    if i & 1: continue
    print(i)

20. break

结束当前循环
练习:计算1000以内的,从7开始,被7整除的前15个正整数(for循环)

# 计算1000以内的被7整除的前15个正整数

## 第1种写法: 累计
count = 0
for i in range(7, 1000, 7):
    print(i)
    count += 1
    if count >= 15:
        break

## 第2种写法:
count = 1
start = 7
while 1:
    print(count, start)
    if count == 15:
        break
    count += 1
    start += 7

总结

continue和break是循环的控制语句,只影响当前循环,包括while、for循环
如果循环嵌套,continue和break也只影响语句所在的那一层循环
continue和break只影响循环,所以 if cond: break 不是跳出if,而是终止if外的break所在的循环
分支和循环结构可以嵌套使用,可以嵌套多层

21. else子句

for i in range(0): # 可迭代对象没有迭代
    pass
else:
    print('ok')
for i in range(0,10):
    break
else:
    print('ok')
for i in range(0,10): 
    continue
else:
    print('ok')

有上例可知,一般情况下,循环正常执行,只要当前循环不是被break打断的,就可以执行else子句.哪怕是range(0)也可以执行else子句

22. 三元表达式

在Python中,也有类似C语言的三目运算符构成的表达式,但python中的三元表达式不支持复杂的语句
语法

真值表达式 if 条件表达式 else 假值表达式

三元表达式比较适合简化非常简单的if-else语句

# 判断用户的输入的值,如果为空,输出"empty",否则输出该值
value = input('>>>')
if value:
    print(value)
else:
    print('empty')
value = input('>>>')
print(value if value else 'empty')
有的时候,用户什么都不输入,用下面的语句来判断是最好的
print(value if not value else 'empty')  这样既解决了空的问题,也解决了None的问题

标签:知识点,10,预备,else,运算符,range,print,表达式
From: https://www.cnblogs.com/yufc/p/17380749.html

相关文章

  • Linux知识点
    LinuxLinux没有盘符这个概念,只有一个根目录/,所有文件都在它下面。./当前目录../上一级目录Linux主要目录速查表/根目录,一般根目录下只存放目录,在linux下有且只有一个根目录,所有的东西都是从这里开始。在终端里输入/home,其实是在告诉电脑,先从/(根目录)开始,再进入到hom......
  • EMC知识点
    EMC(Electromagneticcompatibility)电磁兼容1)EMI(Electromagneticinterference)电磁干扰电源线传导骚扰(CE:conductionemission)测试;信号、控制线传导骚扰(CE)测试;辐射骚扰(RE:radiatedemission)测试;谐波电流(Harmonic)测试;电压波动和闪烁(FluctuationandFlicker)测试。......
  • 前端知识点,资源,项目资源
    中级前端需要掌握的知识点JavaScript基础知识,包括ES6及以上版本的语言特性。Vue框架的核心概念和实现原理,包括组件、指令、生命周期等。React框架的核心概念和实现原理,包括JSX、组件、状态和属性等。Web性能优化,包括代码压缩、CDN加速、懒加载等技术。移动端开发,包括响应式......
  • 数学知识点
    矩阵求导矩阵求导知识点总结-GYHHAHA-博客园(cnblogs.com)结果布局:分子布局、分母布局矩阵求导的本质与分子布局、分母布局的本质(矩阵求导——本质篇)-知乎(zhihu.com)矩阵求导计算网站:MatrixCalculus......
  • 【博学谷学习记录】超强总结,用心分享 | 知识点总结1
    【博学谷IT技术支持】zookeeper基础架构是:主从架构安装虚拟机必须安装jdk角色:leader,Follower,Observerzookeeper的特性全局一致性顺序性原子性实时性zookeeper的watch机制zookeeper的选举机制hadoop基础主从集群NameNodeSecondaryNamenodeDataNodeHDFS......
  • 【博学谷学习记录】超强总结,用心分享 | 知识点总结2
    【博学谷IT技术支持】请简述HDFS上传文件的过程1.客户端将文件分成固定大小的block(默认128MB)2.客户端与NameNode通信,请求上传文件,并获取上传目标节点的信息3.客户端将第一个数据块上传到目标节点,并告知NameNode该节点上存储的数据块信息4.目标节点将数据块写入本地磁盘......
  • 数组知识点整合
    1.数组概念: 指的是一种容器,可以同来存储同种数据类型的多个值。 但是数组容器在存储数据的时候,需要结合隐式转换考虑。比如: 定义了一个int类型的数组。那么boolean。double类型的数据是不能存到这个数组中的, 但是byte类型,short类型,int类型的数据是可以存到这个数组里面的。建议: 容......
  • 【整理】jQuery知识点2
    ★★★=============================================================jQuery-获取内容和属性jQueryDOM操作jQuery中非常重要的部分,就是操作DOM的能力。jQuery提供一系列与DOM相关的方法,这使访问和操作元素和属性变得很容易。获得内容-......
  • 【整理】CSS3知识点4-分页
    分页样式http://www.runoob.com/css3/css3-pagination.html1、=======================================================CSS分页实例简单分页如果你的网站有很多个页面,你就需要使用分页来为每个页面做导航。以下实例演示了如何使用HTML和CSS来......
  • 线程池易忘知识点
    What主要用于整理线程中容易忘记的点以及不太好理解的内容shutdownvsshutdownNow两者都是用于关闭线程池,但是也有着很大区别shutdown方法行为会使得线程池的状态变成SHUTDOWN,线程池不再接收新来的任务。中断空闲的线程(从阻塞队列拿不到任务被阻塞),正在执行任务的线程不......