基本语法
%whos : 查看变量,类型和值
%who: who查看变量名称
%time : 显示命令执行的时间
# f-:format 字符串
b = 0
print(f'{b},str')
# 输出结果:0,str
# r-:raw 字符串,原始符号
print(r'hello{}\n')
# 输出结果: hello{}\n
complex函数构造复数
z = complex(1,20)
print(z)
# 输出结果:(1+20j)
连续赋值
a=b=c=1
print(id(a),id(b),id(c))
print(a,b,c)
a=2
print(id(a),id(b),id(c))
print(a,b,c)
print(b is c)
输出结果:
140726792107808 140726792107808 140726792107808
1 1 1
140726792107840 140726792107808 140726792107808
2 1 1
True
python的保留字:
python语言中已经被赋予特定意义的一些单词
# 可通过keyword查看
import keyword
print(keyword.kwlist)
结果:
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
id() 函数,知道变量引用的内存地址
变量值的比较:
运算符 is: 判断两个变量是否引用同一个对象。[判断两个变量是否指向同一对象]
运算符 ==: 判断两个变量指向的对象值是否相同
数据类型转换:
int()
float()
str()
round():
```
将浮点型数值圆整为整型,银行家圆整
将.5的数字圆整到最接近的整数,即
四舍六入五留双
```
bool()
chr():
```
将一个整数按照ASCII码转为对应的字符
```
ord(): 是chr()的 逆运算
拆包式赋值
a,b,_,d=100,200,300,400 # 匿名变量占位符
print(a,b,d)
c = 3
a,*_,d=10,20,30,40# 一个或多个匿名变量占位符
print(a,c,d)
# 交换两个变量
a = 3
b = 5
a,b=b,a #拆包式赋值
print(a,b)
内置函数
#查看内置函数的名称
dir(__builtins__)
#查看内置模块的名称
import sys
sys.builtin_module_names
字符串:
符号或者数值的一个连续序列,用来表示文本的数据类型
字符串界定符
(1)单引号
当字符串中含有双引号的时候,最好使用单引号作为界定符,
***即单引号内的双引号不算结束符***
如: '1+1=2' 'she say:"hello world!"'
(2)双引号
当字符串中有单引号的时候,最好使用双引号作为界定符
即,双引号里面的单引号不算结束符
(3)三引号
可以是连续的三个单引号,也可以是连续的三个双引号。
常用于多行字符串,可以包括单双引号。
使用三引号标注的注释会作为函数的一个默认属性:
***通过“函数名._doc_”进行访问***
转义字符
转义字符 | 描述 |
---|---|
\\ | 反斜杠 |
\* | 单引号 |
\a | 响铃 |
\b | 退格 |
\n | 换行 |
\t | 横向制表符 |
\v | 纵向制表符 |
\r | 回车 |
\f | 换页 |
\ooo | 八进制数 000 代表的字符,例如,\012代表换行 |
\xxhh | 十六进制数hh代表的字符,例如,\x0a代表换行 |
\other | 其他的字符以普通格式输出。 |
原始字符串,
用于显示字符串原来的意思,不让转义字符生效
# 示例:
r"hhh\n"
或者
R"hhh\n"
字符串索引
1.正向索引,从左到右
2.反向索引,从右到左
注意:
python中字符串是不能改变的,不可以对某个索引位置赋值
datatime模块
提供了5种核心对象:
1. datatime(时间日期)
2. data(日期)
3. time(时间)
4. tzinfo(时区)
5. timedelta(时间差)
print函数输出到屏幕
格式化输出字符串
# format函数可以用接收参数的方式,对字符串进行格式化
print('{name} 的年龄是{age}'.format(age=1,name='李华'))
# f-strings格式
name = 小强
msg = f'我的名字叫{name}'
print(msg)
print函数输出到文件
# 将一个字符串输出到 d:\data.txt种
# 1.打开文件
fp = open(r'd:\data.txt','a+')
# 2.输出到文件
print('生活就像一盒巧克力,你永远不知道下一颗是什么味道。',file=fp)
# 3.关闭文件
fp.close()
输出ASCII字符
c = a
print(c +"的ASCII码为",ord(c))
# 结果:a 的ASCII码为97
常见的运算符与表达式
运算符
运算符用于数学计算,比较大小和逻辑运算等
python的运算符主要包括:
【算术运算符,赋值运算符,比较(关系)关系运算符 和 位运算符。】
按照运算所需的操作数目,可以分为
【单目、双目、三目运算符】
表达式
表达式由运算符和参与运算的数组成。
按照运算符的种类,表达式可以分为:
【算术表达式,逻辑表达式,关系表达式,测试表达式】
差距较大的数据类型之间可能不会进行隐式类型, 需要进行显示类型转换。不同类型之间的数据运算,会发生隐式类型转换。转换规则:
低类型向高类型转换
bool < int < float < complex (低->高)
注意: python中没有自增和自减,因为,加减 是 单目运算符,
--n 即 -(-n) ++n 即+(+n)
算术运算符和表达式
1.python的算术运算符
加减乘除整除取模幂运算
[ + - * / // % **]
2.常见的python数学运算类的内置函数
函数名 | 描述 | 实例 |
---|---|---|
abs | 绝对值 | abs(-5)返回5 |
divmode | 取模,返回商和余数 | divmode(5,2)返回 (2,1) |
pow | 乘方 | pow(5,2) 返回25 |
round | 四舍五入取整 | round(1.5)返回2; round(2.5)返回2 【圆整计算】 |
sum | 可迭代对象求和 | sum([1,2,3]) 返回6 |
max | 求最大值 | max(1,2,3)返回3 |
min | 求最小值 | min(1,2,3)返回1 |
3.math模块中的函数
math模块中定义的两个常量:
math.pi 3.141592653589793
math.e 2.718 281828459045
函数名 | 描述 | 实例 |
---|---|---|
fabs | 绝对值,返回float | abs(-5) 返回5.0 |
ceil | 大于等于x的最小整数 | ceil(2.2)返回3 |
floor | 小于等于x的最大整数 | floor(2.2)返回2 |
trunc | 截取为最接近0的整数 | trunc(2.2)返回2; trunc(-5.5) 返回-5 |
factonal | 整数的阶乘 | factonal(5)返回120 |
sqrt | 平方根 | sqrt(4) 返回2 |
exp | 以e为底的指数运算 | exp(2)返回7.2360… |
log | 对数 | log(math.e) 返回1.0 |
4. 算术复合赋值运算符
- +=
- -=
- *=
- /=
- //=
- %=
- **=
5.关系运算符
- >
- >=
- <
- <=
- ==
- !=
- is
- is not
可以用两个浮点数的差距小于一个极小值来判定是否“应该相等” 复数不可以比较大小
6.逻辑 运算符
- and
- or
- not
7.条件(三目)运算符
语法:
语句1 if 条件表达式 else 语句2
# 例如:
x = 3
print('x是正数' if x > 0 else 'x是负数')
8.位运算符
python中的位运算符有:
- “位与”运算符
************************
运算法则:两个操作数据的二进制表示,只有对应位都是1时,结果位才是1,否则为0
************************
2. "位或"运算符************************
运算法则:两个操作数据的二进制表示,只有对应位都是0时,结果位才是0,否则为1
************************
3. “位异或”运算符************************
运算法则:两个操作数据的二进制表示相同(同时为0或者同时为1)时,结果为0,否则为1.
************************
4. “位取反”运算符************************
也叫“位非”运算符, 就是将操作数中对应的二进制数 1 修改为 0,修改 0 为 1.************************
5. “左移位”运算符************************
将一个二进制操作数向左移动指定的位数,左边(高位端)溢出就丢弃,右边(低位端)空位就用0补充。 左移位相当于乘以 2的n次幂************************
6. “右移位”运算符************************
将一个二进制操作数向右移动指定的位数,右边(低位端)溢出就丢弃,填充左边(高位端)空位的时候,如果最高位是0(正数),左侧空位填入0,如果是1(负数),左侧空位填入1。 右移位运算相当于除以2的n次幂
************************
9.运算符的优先级
or
and
not
in 、 not in
is 、 is not
<、<=、>、>=、!=、 ==
|
^
&
<< 、>>
+、-
*、/、%
正负号 -x、 +X
另外,使用括号() 来限定运算次序