/[外链图片转存失败(img-0YDEKGc2-1563272670159)(./img/1.jpg)]
note
姓名 | 年龄 | 住址 |
---|---|---|
豪 | 18 | 家 |
y = x + 1 y=x+1 y=x+1
python的创始人吉多·范罗苏姆
编译型和解释型
静态语言和动态语言
强类型定义语言和弱类型定义语言
python是一门动态解释性的强定义语言
数据类型
数字(number)
字符串(string)
列表(list)
元组(tuple)
字典(dict)
集合(set)
变量和常量
变量
概念:操作的存储区的名称,程序运行时存储区中能够改变的数据
每个变量都有自己的特定的数据类型
作用:将数据存储到内存
变量的定义
- 命名
- 规则:
1.必须是字母、下划线、数字组合
2.不能以数字开头
3.不可以是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']
- 变量定义
val_name=初始值
常量
不变的量
如:pi 3.1415926
通常用大写
PI = 3.1415926
数字
整型(int)
- 32bit,取值范围$-2^{31} ~ 2^{31}-1$
- 64bit,取值范围$-2^{63} ~ 2^{63}-1$
2.0版本区分短整型和长整型
浮点型(float)
- 带有小数点的数字
布尔型(bool)
- True
- False
复数(complex)
- 实部(cpx.real)
- 虚部(cpx.imag)
- 共轭复数(cpx.conjugate())
常见的数学函数
函数名 | 描述 |
---|---|
abs(x) | 绝对值 |
pow(x,y) | x y x^y xy |
round(x,[n]) | 返回四舍五入的值,如果给出n,表明四舍五入后的小数点的位数 |
math.exp(x) | 返回e的x次幂 |
math.fabs(x) | 返回绝对值,类型为浮点型 |
math.ceil(x) | 返回数字的上入整数 |
math.floor(x) | 返回数字的下舍整数 |
math.log(x,[y]) | 单参数,默认以e为底;双参数,以【y】为底 |
math.modf(x) | 返回浮点数的小数部分和整数部分 |
math.sqrt(x) | 平方根 |
m a x ( x 1 , x 2 , … … ) max(x_1,x_2,……) max(x1,x2,……) | 返回最大值 |
m i n ( x 1 , x 2 , … … ) min(x_1,x_2,……) min(x1,x2,……) | 返回最小值 |
表达式于运算符
表达式
- 由变量,常量和运算符组成的式子,成为表达式
运算符
算数运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 相加/拼接 | a + b |
- | 相减/求差集 | a - b |
* | 相乘/重复 | a * b |
/ | 相除 | a / b |
** | 幂运算 | a ** b |
% | 取模(余数) | a % b |
// | 取整除(商) | a // b |
拓展
divmod(x,y)
>>> divmod(20,3) (6, 2) >>>
比较运算符
== 、> 、< 、>=、<=、!=
逻辑运算符
and、or、not
赋值运算符
=、-=、+=、*=、/=、%=、**=、//=
成员运算符
测试是否包含某个成员,一般测试字符串、列表、元组
运算符 | 描述 |
---|---|
in | 如果存在于指定序列中,返回True;否则返回False |
not in | 如果不存在于指定序列中,返回True;否则返回False |
身份运算符
用于比较两个对象的存储单元
运算符 | 描述 |
---|---|
is | 判断两个标识符是不是引用自同一个对象 |
not is | 判断两个标识符是不是引用自同一个对象 |
位运算符
按位运算符是吧数字看做二进制来计算的。常见的位运算符如下:
运算符 | 描述 |
---|---|
& | 按位与,同为1才为1,否则为0 |
| | 按位或,有1即为1 |
^ | 按位异或,不同位1 |
~ | 按位取反,~x得到-x-1 |
<< | 左移运算符 |
>> | 右移运算符 |
>>> a = 15
>>> b = 31
>>> bin(a)
'0b1111'
>>> bin(b)
'0b11111'
>>> a & b
15
#按位与
>>> bin(a & b)
'0b1111'
>>> a | b
31
#按位或
>>> bin(a | b)
'0b11111'
>>> bin(a | b)
'0b11111'
#按位异或
>>> a ^ b
16
>>> bin(a ^ b)
'0b10000'
#取反
>>> ~a
-16
#右移
>>> a>>2
3
>>> bin(a>>2)
'0b11'
数据类型的强制转换
强转类型 | 描述 |
---|---|
int(x,[base]) | 将x强制转化为整型。如果x是字符串,需要制定base基数 |
float(x) | 将x转化为浮点型 |
str(x) | 将x转化为字符串 |
repr() | 将对象转化为表达式字符串 |
list(x) | |
tuple(x) | |
dict(x) | |
set(x) | |
chr(x) | 将整数转化为字符 |
ord(x) | 将字符转化为数值 |
bin(x) | 转化为二进制 |
oct(x) | 转化为八进制 |
hex(x) | 转化为十六进制 |
#int()的使用
>>> sr = '123'
>>> int(sr,8)
83
#repr()的使用
>>> sr = 'aaaa\nbbbb'
>>> print(sr)
aaaa
bbbb
>>> print(repr(sr))
'aaaa\nbbbb'
随机函数
导入这个模块
import random
random模块的常见功能
1.random.random()
- 用来生成一个0~1的随机浮点数[0,1)
a = random.random()
print(a)
2.random.uniform(a,b)
- 用来生成指定范围内的浮点数[a,b]
a = random.uniform(6,10)
print(a)
3.random.randint(a,b)
- 用来生成指定范围内的整数[a,b]
a = random.randint(6,10)
print(a)
4.random.randrange([start],stop,[step])
- 从指定范围内,按指定基数递增或递减的集合中,随机获取一个整数
a = random.randrange(1,10,3) #从1,4,7中随机取
print(a)
5.random.choice(sequence)
- 从序列中随机获取一个元素,sequence可以为列表、字符串或者元组
a = random.choice(range(1,10,3))
print(a)
6.random.shuffle(x,[random])
- 用来将一个列表的元素打乱,即将列表的元素随机排列
list1 = ['C','C++','JAVA','VB']
random.shuffle(list1)
print(list1)
7.random.sample(sequence,k)
- 用来从指定序列中随机获取指定长度的片段并随机排列。但不会修改原来序列
list1 = ['C','C++','JAVA','VB']
print(random.sample(list1,2))
一些基本操作
注释
input
类型测试type()
内存地址id()
print("不忘初心,方得始终!")#注释
'''
注释
'''
a = 123
type(a)
id(a)
Python中四种交换两个变量的值的方法
方法一:(所有语言都可以通过这种方式进行交换变量)
通过新添加中间变量的方式,交换数值.
下面通过一个demo1函数进行演示:
def demo1(a,b):
temp = a
a = b
b = temp
print(a,b)
方法二:(此方法是Python中特有的方法)
直接将a, b两个变量放到元组中,再通过元组按照index进行赋值的方式进行重新赋值给两个变量。
下面通过一个demo2函数进行演示:
def demo2(a,b):
a,b = b,a
print(a,b)
方法三:
通过简单的逻辑运算进行将两个值进行互换
下面通过一个demo3函数进行演示:
def demo3(a, b):
a = a + b
b = a - b
a = a - b
print(a, b)
方法四:
通过异或运算 将两个值互换 异或运算的原理是根据二进制中的 “1^1=0 1^0=1 0^0=0”
下面通过一个demo4函数进行演示:
def demo4(a,b):
a = a^b
b = a^b # b = (a^b)^b = a
a = a^b # a = (a^b)^a = b
print(a,b)
下面通过一个demo2函数进行演示:
```python
def demo2(a,b):
a,b = b,a
print(a,b)
方法三:
通过简单的逻辑运算进行将两个值进行互换
下面通过一个demo3函数进行演示:
def demo3(a, b):
a = a + b
b = a - b
a = a - b
print(a, b)
方法四:
通过异或运算 将两个值互换 异或运算的原理是根据二进制中的 “1^1=0 1^0=1 0^0=0”
下面通过一个demo4函数进行演示:
def demo4(a,b):
a = a^b
b = a^b # b = (a^b)^b = a
a = a^b # a = (a^b)^a = b
print(a,b)