保存文件必须加“.py”后缀。
就是变量、函数、属性、类、模块等可以由程序员指定名称的代码元素。
构成标识符的字符均遵循一定的命名规则
Python中标识符的命名规则如下:
False, None, True # 大写三个
assert '生效', def , lambda, nonlocal, pass, break, continue, return... # 30个小写
在Python中为一个变量赋值的同时就声明了该变量,该变量的数据类型就是赋值数据所属的类型,该变量还可以接收其他类型的数据。(可以多重赋值)
变量由三部分组成:
import<'模块名'>: # 通过这种方式会导入m2模块的所有代码元素,在访问时需要加相应的前缀,如“m2.”
from<'模块名'>import<'代码元素'>: # 通过这种方式会导入m2中的x变量,在访问时不需要加前缀“m2”
from<'模块名'>import<'代码元素'>as<'代码元素别名'>: # 可以给要导入的代码元素(m2中的x)一个别名x2
在Python中有6种主要的内置数据类型:数字、字符串(str)、列表、元组、集合、字典(后四个为容器类型)。
Python中的数字类型有4种:整数类型(无小数点)、浮点类型 、复数类型、布尔类型(True/False ),布尔类型也是数字类型,它事实上是整数类型的一种。
0b (0为阿拉伯数字及英文字母B或b)为二进制开头
0o (0为阿拉伯数字及英文字母O或o)为八进制
0x (0为阿拉伯数字及英文字母X或x)为十六进制
round(a,x) 数学函数进行四舍五入,其中a是对象,x是四舍五入保留几位小数
在Python的数字类型中,除复数外,其他三种数字类型如整数、浮点和布尔都可以相互转换,分为隐式类型的转换和显式类型的转换。
隐式类型的转换:自动转换, 数字之间可以进行数学计算,在进行数学计算时若数字类型不同,则会发生隐式类型的转换。
显式类型的转换:
range()函数通常输出最后一位为"stop-1",不包括‘stop’,三种创建方式:
range(stop) # 默认从0开始到 stop-1 的位置
range(start,stop) # range(1,5) 表示1-4的序列,中间用逗号
range(start,stop,step)
可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等:
random.randint() # 随机生一个**整数int类型**,可以指定这个整数的范围,同样有上限和下限值
random.choice() # 随机从字符,列表,元组中取出一个元素
算术运算符用于组织整数类型和浮点类型的数据,有一元运算符(+/-)和二元运算符之分:
+, -, *, / # (加减乘除)
% # (取余数)
** # (求a的b次幂)
// # (求小于a与b的商的最大整数, 注意负数的取余,一正一负,向下取余)
比较运算符用于比较两个表达式,其结果是布尔类型的数据,即True或False:
# is表示是否存储在同一地址文件
[==, !=, >=, >, <, <=, is, is not, not True]
逻辑运算符用于对布尔型变量进行运算,其结果也是布尔型(True/False), 逻辑运算符有短路特征, 掐断后续运算(可做短路验证)
# not 逻辑非, not a 判断时根据a值是否为False进行判断
# and 逻辑与(且), 同时为true才为true
# or 逻辑或, 有一个为or, 结果为true
[not, and, or, in, not in]
位运算是以二进位(bit)为单位进行相互比较运算的,操作数和结果都是整数类型的数据。
# ~ 位反 ~x 将x的指按位取反
# & 位与 x&y 将x与y的值按与计算
# | 位或 x|y 将x与y的值按或计算
# ^ 位异或 x^y 将x与y的值按异或计算
# >> 右移 x>>y 将x右移a位,高位采用符号位补位 数值变小
# << 左移 x<
'''
+= 加赋值 a+=b
-= 减赋值 a-=b
*= 乘赋值 a*=b
/= 除赋值 a/=b
%= 取余赋值 a%=b 在原值上取余
**= 幂赋值 a**=b 在原值上取幂
//= 地板除法 a=a//b 取商的整数值
&= 位与赋值 a=a&b
|= 位或赋值 a=a|b
^= 位异或赋值 a=a^b
<<= 左移赋值 a=a<>= 右移赋值 a=a>>b'''
# 1.小括号
()
# 2.算数运算
** # 几次方
~ # 位反 (奇怪的算法) {~a=(a+1)*-1}
+, - # 正负
*/%//
+, - # 加减
# 3.位运算
>> << # 位移
& # 位与 ( and )
^ # 位或与
| # 位或 ( or )
# 4.比较运算
<, <=, >=, <>, !=, ==
not # 逻辑非
# 5.布尔运算
and, or # 逻辑与、逻辑或
# 6.赋值运算符
=
input输入文件类型为字符串类型(str), 如果需要计算需要对其进行转换, 赋值运算符为从右向左赋值。
a=b=c=20 # 支持链式赋值
a+=20 # 支持参数赋值
a,b,c=1,2,3 # 支持解包赋值, 元组对元组, 元组对列表也可赋值
对象None用于表示数据值的不存在,但在内存中占用一定的空间, 经常用于变量的初始化,或将变量重置为 “数据不存在状态”, 主要用于 重置为数据值不存在状态。
1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以由顺序结构、选择结构、循环结构这三种基本结构组合而成。
必须以英文冒号结尾, 如果满足就执行,否则结束, if语句,下一行用四个半角空格
x if '判断条件' else y #条件表达式
elif可以有多次使用,完成多次循环, 可以没有else, 但一个if条件语句下只能使用一个else
可以相互嵌套使用
该语句什么都不做,只是一个占位符。
Python支持两种循环语句:while和for:
四步循环法:初始化变量、 条件判断、条件执行体(循环体)、改变变量。
break, return # 有异常会打断程序
print() # print输出时中间可以用逗号取代加号,但中间会留空格,且加号只能用于类型相同的数据类型,类型不同时只能用逗号分隔
for … in …表达从(字符串、序列等)中依次取值,又称为遍历, 如果不需要使用自定义的变量,可以将自定义变量写为**“_”**,只执行循环次数。
break, return # 有异常会打断程序,不会通过else语句
for '变量' in '集合': # 可迭代对象(包含字符串、列表、元组、集合和字典等)
{i*i for i in range(a, b)} # 用于遍历
跳转语句能够改变程序的执行顺序,包括break、continue、return(函数和方法(类里面的函数)时使用), break和continue用于循环体中,而return用于函数中。
'break语句'
if '条件':
break # break语句用于强行退出循环体,不再执行循环体中剩余的语句, 通常与分支结构if一起使用
'continue语句'
for i in range(x):
if '某条件':
continue # continue语句用于结束本次循环,跳过循环体中尚未执行的语句,继续下一次循环
'raise'
raise Exception # 主动抛出自定义异常,抛出异常后,程序会全部退出,后续不再执行
'return'
def ass:
return 'xxxx' # return 直接跳出函数, (用于函数中)