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(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