文章目录
Python的基础
第一条编程语句
print("Hello,World")
注释
三单引号
三双引号
'''
'''
'''
'''
input()函数
作用:从外部获取值
用法:括号中可以提供提示信息
返回值为字符串类型
>>> a = input("Please Enter: ")
Please Enter: city
>>> a
'city'
>>> type(a)
<class 'str'>
>>>
运行Python的三种方式
(1)解释器环境运行
(2) 脚本运行
(3)IDE
- pycharm
- sublime
- VS Code
- Atom
Python中常见的数据类型
数据的概念
Python中的数据类型(常见)
- 数字(number)
- 整形(int)
- 浮点型(float)
- 布尔型(bool)
- 复数(complex)
- 字符串(string)
- 列表(list)
- 元祖(tuple)
- 字典(dict)
- 集合(set)
变量和常量
变量
- 定义
- python中, 变量在第一次被赋值时自动声明, 和其它语言一样, 变量只有被创建和赋值后才能被使用
- 动态类型
- 变量名无须事先声明, 也无须类型声明
- 对象的类型和内存占用都是运行时确定的
- 概念:
- 程序可操作的存储区的名称;
- 程序运行时存储区中能够改变的数据;
每个变量都有自己的特定的数据类型
-
作用:
- 将数据存储到内存
-
变量的定义
- 命名
规则:
- 必须是字母、下划线、数字组合
- 不能以数字开头
- 不可以是Python中的关键字
注意:
- 见名知意
- 区分大小写
- 在Python中,单下划线和双下划线开头的变量有特殊的用途,一般不推荐使用
-
变量的定义
-
val_name = 初始值
拓展:
关键字的查看
>>> 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']
-
类型测试type()
type(val_name)
内存地址id()
id(val_name)
常量
不变的量
pi
通常用大写
PI=3.14159265
互换两个变量的值
x,y=y,x
数字
- 整形(int)
- 32bit,取值范围 − 2 31 − 2 31 − 1 -2^{31} -2^{31}-1 −231−231−1
- 64bit, 取值范围 − 2 63 − 2 63 − 1 -2^{63} -2^{63}-1 −263−263−1
- 随着Python的版本更新,取值范围可忽略
- 浮点型(float)
- 带有小数点的数字
- 布尔型(bool)
- True
- False
- 复数(complex)
- 实部(cpx.real)
- 虚部(cpx.imag)
- 共轭复数(cpx.conjugate())
常见的数学函数
导入math模块------import math
函数名 | 描述 |
---|---|
abs(x) | 绝对值 |
pow(x,y) | x y x^y xy |
round(x,[n]) | 返回四舍五入的值,如果给出n,表明在小数点后的哪一位开始四舍五入 |
math.fabs(x) | 绝对值,类型为浮点数 |
math.exp(x) | 返回e的x次幂 |
math.ceil(x) | 返回数字的上入正数,4.1=5 |
math.floor(x) | 返回数字的下舍正数,4.1=4 |
math.log(x,[y]) | 默认以e为底;输入y以y为底 math.logy |
math.modf(x) | 返回数的小数部分和整数部分 |
math.sqrt(x) | 平方根 |
m a x ( x , y , z , . . . ) max(x,y,z,...) max(x,y,z,...) | 最大值 |
m i n ( x , y , z , . . . ) min(x,y,z,...) min(x,y,z,...) | 最小值 |
表达式与运算符
- 表达式
- 由变量和常量和运算符组成的式子
- 运算符
- 算术运算符
- 比较运算符
- 逻辑运算符
- 赋值运算符
- 成员运算符
- 身份运算符
- 位运算符
算术运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 相加/拼接 | a+b |
- | 相减/求差集 | a-b |
* | 相乘/重复 | a*b |
/ | 相除 | a/b |
** | 幂运算 | a**b |
% | 取余数 | a%b |
// | 取商 | a//b |
拓展
divmod(x,y)
返回x/y的商和余数
>>> divmod(23,4) (5, 3) >>>
Python比较运算符
运算符 | 描述 |
---|---|
== | 等于 - 比较对象是否相等 |
!= | 不等于 - 比较两个对象是否不相等 |
<> | 不等于 - 比较两个对象是否不相等 |
> | 大于 - 返回x是否大于y |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 |
>= | 大于等于 - 返回x是否大于等于y。 |
<= | 小于等于 - 返回x是否小于等于y。 |
Python赋值运算符
运算符 | 描述 |
---|---|
= | 赋值 |
+= | 加法赋值 |
-= | 减法赋值运算符 |
*= | 乘法赋值运算符 |
/= | 除法赋值运算符 |
%= | 取模赋值运算符 |
**= | 幂赋值运算符 |
//= | 取整除赋值运算符 |
Python位运算符
按位运算符是把数字看作二进制来计算的。常见的位运算符如下:
运算符 | 描述 |
---|---|
& | 与,同为1才为1,否则为0 |
| | 或,有1即为1 |
^ | 异或,不同为1 |
~ | 取反,~x 得到-x-1 |
<< | 左移 |
>> | 右移 |
a=15
b=31
二进制分别对应:
a--->0000 1111
b--->0001 1111
a & b 0000 1111
a | b 0001 1111
a ^ b 0001 0000
a>>2 0000 0011
a<<2 0011 1100
Python成员运算符
测试是否包含某个成员,一般测试字符串,列表,元祖
运算符 | 描述 |
---|---|
in | 如果存在指定序列中,返回true;否则,False |
not in | 如果不存在指定序列中,返回true;否则,False |
>>> sr="abc"
>>> "a"in sr
True
>>> "a"not in sr
False
>>>
Python的身份运算符
用于比较两个对象的存储单元
id()
运算符 | 描述 |
---|---|
is | 判断两个标识符是不是引用自同一个对象 |
not is | 判断两个标识符是不是引用自同一个对象 |
>>> a="ab"
>>> b="ab"
>>> id('ab')
2110204587960
>>> id(a)
2110204587960
>>> id(b)
2110204587960
>>> a is b
True
Python逻辑运算符
and
or
not
数据类型的强制转换
强转类型 | 描述 |
---|---|
int(x,[base]) | 将x强制转化为整形。如果x是字符串,需要定制base基数 |
float(x) | 将x转换为浮点型 |
str(x) | 强转字符串 |
repr(x) | 将对象转换为表达式字符串,怎么打的就怎么输出(\n之类的) |
list(x) | 强转列表 |
tuple(x) | 强转元组 |
dict(x) | 强转字典 |
set(x) | 强转元素集 |
chr(x) | 将整数转化为字符 阿斯克码 65-A |
ord(x) | 将字符转化为数值 |
bin(x) | 转化为二进制 |
oct(x) | 转化为八进制 |
hex(x) | 转化为十六进制 |
#int
>>> sr="123"
>>> int(sr)
123
>>> int(sr,8)
83
>>> 8**2+2*8+3
83
随机函数
导入模块
import random
random模块的常见功能
(1)random.random()
- 用来生成一个0-1的随机浮点数[0,1)
import random
for i in range(100):
a= random.random()
print(a,end=" ")
(2)random.uniform(a,b)
- 生成指定范围内的浮点数,[a,b]
import random
for i in range(100):
a= random.uniform(6,9)
print(a,end=" ")
(3)random.randint(a,b)
- 用来生成指定范围内的整数
x=random.randint(1,10)
print(x)
(4)random.randrange([start],stop,[step])
- 从指定范围内,按指定基数递增或者递减的集合中,随机获取一个整数
x=random.randrange(1,16,2)
print(x)
(5)random.choice(sequence)
- 序列中随机获取一个元素,sequence可以为列表,字符串或者元组
x=random.choice(sequence)
print(x)
(6)random.shuffle(x[,random])
- 打乱x中的元素
random.shuffle(x)
print(x)
(7)random.sample(sequence,k)
- 用来从指定序列中随机获取指定长度的片段并随机排列,但不会修改原序列
print(random.sample(sequence,k))