Python基础
#复习
- Python的三种运行方式
- 输出print()
- 输入函数()
- 试变量类型type()
新内容
数据类型
数据:
-
文本
-
图形
-
数值型数据
-
音频
-
视屏
-
网页数据
-
等等
不同的数据,需要定义不同的数据类型
Python中常见的数据类型
- 数字(number)
- 字符串(string)
- 布尔型(bool)
- 列表(list)
- 元组(tuple)
- 集合(set)
- 字典(dict)
变量
概念:
- 程序可操作的存储区名称。
- 程序运行存储区中能改变的数据。
- 每个变量都有特定的类型。
举个例子,一栋教学楼当做内存的话。教室名称就相当于变量,其内部存储的内容就是具体的变量值
-
作用:将数据存储到内存
-
变量的定义:
- Java
1.定义变量名称。数据类型 2.变量赋值
Java中两步,Python中一步搞定:
变量名=初始值=(初始值得实际类型决定变量的数据类型)
>>> a=1
>>> b=1.68
>>> c="abc"
>>> d=[1,2,3]
>>> e=(1,2,3)
>>> f={1,2,3}
>>> g={"name":"leilei"}
>>> type(a)
<class 'int'>
>>> type(b)
<class 'float'>
>>> type(c)
<class 'str'>
>>> type(d)
<class 'list'>
>>> type(e)
<class 'tuple'>
>>> type(f)
<class 'set'>
>>> type(g)
<class 'dict'>
-
变量的命名
-
字母/数字/下划线组成:
-
不能以数字开头;
-
不能是Python关键字
注意:
- 通常命名时不能以单下划线("_")和双下划线("__")开头。因为Python中单线下划线和双下划线开头的变量有特殊用途。
- 见名知意
- 小驼峰
- 大驼峰
- 下划线连接
-
-
关键字查看:
>>>import keyword >>>keyword.kwlist ['False', 'None', 'True', 'and', 'as', 'assert', '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']
CSDN/cnBlogs
-
变量类型测试
type(变量名)
- 查看变量内存地址
id(变量名)
变量的调用
a=1
b=2
c=a+b
print(c)
>>>x=12
>>>y=16
>>>x,y=y,x
>>>x,y
(16,12)
>>>
同时赋值
>>>a=b=c=3
>>>print(a,b,c)
3 3 3
>>>a,b,c=1,2,3
>>>print(a,b,.c)
1 2 3
>>>tuple=1,2,3
>>>print(tuple,type(tuple))
(1,2,3)<class 'tuple'>
>>>
常量
常量就是不变的量,比方说,pi,3.1415926
在程序运行过程中不可以改变的量
- 一般,常量的定义所有字母大写
PI=3.14
Python中已经集成了基本的数学函数和常量,我们查看一下pi的值:
>>>import math
>>>math.pi
3.141592653589793
dir()函数
dir(函数名)
-
不带参数,返回当前范围内定义的变量、方法、和定义的类型列表。
-
带参数,返回参数的属性和方法。
>>>dir() #显示我们当前环境下所有的变量名称
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
dir(math)
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
>>>
数字
-
数字提供了标量存储和直接访问
-
是不可更改的数据类型(指变更数字会生成新的对象)
-
整型
-
长整型
Python2区分整型和长整型
Python3目前已经基本不区分。后续
-
优化会逐渐合并
布尔型
Ture(1)
false(0)
浮点型:
双精度浮点型
十进制浮点型
科学计数法
用“E”或者“e”来代表10
>>>print(3.14159E5)
3.14159.0
>>>print(314159.0e-5)
3.14159
>>>
-
复数
i**2=-1
我们知道,任何一个数的平方都是一个非负数;
但现在,我们需要找到一个数的平方为负数。因此,18世纪,数学家定义虚数(虚数基本单位(i,j))
i**2=-1,
j**2=-1
i或者j=$\sqrt {
{\rm{ - }}1} $
KaTeX parse error: Can't use function '$' in math mode at position 2: $̲\sqrt {
{\rm{ - …
基于这个特殊的数(或者称之为概念),数学从此有了一个新的分支。现在虚数已经广泛应
用于数值和科学计算应用程序中。一个实数和一个虚数的组合构成一个复数。一个复数是一对
有序浮点数(x, y)。表示为 x + yj, 其中 x 是实数部分,y 是虚数部分。
渐渐的复数在日常运算,机械,电子等行业获得了广泛的应用。由于一些研究人员不断的重
复制造用于复数运算的工具, 在很久以前的 Python1.4 版本里,复数终于成为一个真正的
Python 数据类型。
- 复数属性
-
假如,定义num=complex(1.6+5.6),则对应常见
属性为:
-
num.real返回复数的实部
-
num.imag返回复数的虚部
-
num.conjugate()返回复数的共轭复数
- 共轭复数:实部相同,虚部互为相反数
-
表达式与运算符
-
表达式
由变量、常量和运算符组成的式子。计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算
Python算数运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 : 两个对象相加 | a + b |
- | 减 :得到负数或是一个数减去另一个数 | a - b |
* | 乘 : 两个数相乘或是返回一个被重复若干次的字符串 | a * b |
/ | 除 : x 除以 y,返回一个实数 | b / a |
% | 取模 : 返回除法的余数 | b % a |
** | 幂 : 返回x的y次幂 | a**b |
// | 取整除 : 返回商 | a//b |
Python比较运算符
以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 True。 |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 | (a < b) 返回 True。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 True。 |
Python赋值运算符
以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
i++,i–,++i,–i ------------->Python不可以使用
Python位运算符
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
运算符 | 描述 |
---|---|
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 |
| | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 |
>> | 右移动运算符:把">>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数 |
a = 0001 1111
b = 0000 1111
----------------
a&b = 0000 1111
a|b = 0001 1111
a^b = 0001 0000
~a = 1110 0000
a<<2 = 0111 1100
a>>2 = 0000 0111
>>> a = 31
>>> b = 15
>>> a & b
15
>>> a | b
31
>>> a ^ b
16
>>> ~a
-32
>>> a << 2
124
>>> a >> 2
7
位运算中,只有0和1:
& | 0 | 1 |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
位或(有一个为1就是1)
| | 0 | 1 |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
位异或(相同为0,不同为1)
^ | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | 1 | 0 |
Python逻辑运算符
运算符 | 逻辑表达式 | 描述 |
---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 |