环境配置
Python解释器安装
IDE安装(Pycharm)
Markdown简介
Markdown介绍
-
Markdown是一种文本标记语言,用于快速文档排版
-
Markdown文件为纯文本文件,后缀名为 .md
-
Markdown介于Word和HTML之间
-
比起Word,Markdown是纯文本,排版文档轻量、方便、快速。
-
比起HTML,Markdown简单直观,易读、易写、易修改
下载与安装
安装Typora
Typora的使用有两种模式:
启用源代码模式
关闭源代码模式
Markdown语法
标题
语法:
#一级标题
##二级标题
###三级标题
注意: 所有语法格式中,符号与文字间均有一个空格。
列表
无序列表
-文本1
-文本2
链接
[外链图片转存失败(img-pMxea6Tc-1563275573738)(路径)]
文字引用
区块引用
正课内容
1.PYTHON的历史及概况
(1)python的出生和应用
(2)python是什么样的编程语言
· 动态
· 静态
· 编译
· 解释
· 强弱
· 弱类型
(3)优缺点
(4)python的种类
python基础
2.1第一条编程语言
2.2注释
单行注释 一个“#”
多行注释 三单引号 三双引号
print("Hello,Python!")
'''第一条Python程序,向Python致敬!'''
print("以梦为马,不负韶华!"
2.3 input()函数
作用:从外部获取值
用法:括号中可以提供信息
返回值为字符串类型
2.4运行python程序的三种方式
(1)解释器环境
(2)脚本运行
(3)IDE
~pycharm
~sublime
~VS Code
~Atom
2.5python中常见的数据类型
数据的概念
Python中的数据类型(常见)
~数字(number)
整型(int)
浮点型(float)
布尔型(bool)
复数(complex)
~字符串(string)
~列表(list)
~元祖(tuple)
~字典(dict)
~集合(set)
2.6 变量和常量
变量
· 概念
程序可操作的存储区的名称
程序运行时存储区中能改变的数据
| 每个变量都有自己的特定的数据类型
·作用:
将数据存储到内存
·变量的定义
命名
规则:
1 必须是字母、下划线、数字组合
2不能以数字开头
3不可以是Python中的关键字
^^注意:
见名知意
区分大小写
在Python中,单下划线和双下划綫的开头的变量有特殊用途,一般不推荐使用单下划线和双下划线开头的变量名称
·变量定义
拓展
关键字查看
> > > 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,3.1415926
通常通大写,如
PI = 3.1415926
互换两元素的值
>>> x =123
>>> y =456
>>> x,y =y,x
>>> x
456
2.7 数字
·整型(int)
·浮点型
带有小数点
·布尔型
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.fab(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,…) | 返回最小值 |
2.8表达式运算符
表达式
由变量,常量和运算符组成的式子,成为表达式
运算符
算术运算符
比较运算符
逻辑运算符
赋值运算符
成员运算符
身份运算符
位运算
Python算术运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 相加/拼接 | a + b |
- | 相减/求差集 | a - b |
* | 相乘/重复 | a*b |
/ | 相除 | a/b 、 |
** | 幂运算 | a**b |
% | 取余数 | a % b |
// | 取整除(商) | a//b |
拓展
divmod(x, y)
返回: x除以y得到的商和余数(以元组形式)
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 |
Demo:
>>> sr = "abc"
>>> "a" in sr
True
>>> "a" not in sr
False
>>> li = list(sr)
>>> li
['a', 'b', 'c']
>>> "a" in li
True
>>>
Python的身份运算符
用于比较两个对象的存储单元
id()
运算符 | 描述 |
---|---|
is | 判断两个标识符是不是引用同一个对象 |
not is | 判断两个标识符不是引用自同一个对象 |
Python逻辑运算符
and
or
not
2.9数据类型强制转换
强转类型 | 描述 |
---|---|
int(x,[base]) | 将x强制转换成整型。如果x是字符串,需要定制base基数 |
float(x) | 将x转换成浮点型 |
str(x) | 强转为字符串 |
repr(x) | 将对象装换为表达字符串 |
list(x) | |
tuple(x) | |
dict(x) | |
set(x) | |
chr(x) | 将整数转化为字符 |
ord(x) | 将字符转化为数值 |
bin(x) | 转换为二进制 |
oct(x) | 转换为八进制 |
hex(x) | 转换为十六进制 |
# int
>>> a = 12.3
>>> int(a)
>>> sr = "123"
>>> int(sr)
123
>>> int(sr, 8)
83
>>> 8**2 + 2 * 8 + 3
83
>>> int(sr, 16)
291
2.10 随机函数
导入这个模块
import random
random模块的常见功能
(1)random.random()
用来生成一个0-1的随机浮点数[0,1)
import random
# print(dir(random))
for i in range(100):
a = random.random()
print(a, end=" ")
(2)random.uniform(a,b)
用来生成指定范围的浮点数,[a,b]
import random
# print(dir(random))
for i in range(100):
a = random.uniform(6, 8)
print(a, end=" ")
(3)random.randint(a,b)
用来生成指定范围内的整数。[a,b]
import random
print(dir(random))
for i in range(100):
a = random.randint(6, 10)
print(a, end=" ")
(4)random.randrange([start],stop,[step])
从指定范围内,按指定基数递增或者递减的集合中,随机获取一个整数
```python
print(dir(math))
import random
#print(dir(random))
for i in range(100):
a = random.randrange(1,16,2)
print(a,end=" ")
(5)random.choice(sequence)
从序列中随机获取一个元素,sequence可以为列表,字符串或者元组
```python
import random
for i in range(100):
# a = random.randrange(1, 16, 2)
b = random.choice(range(1, 16, 2))
print(b, end=" ")
(6)random.shuffle(x[,random])
用来将一个列表的元素打乱。即将列表的元素随机排列。
# print(dir(math))
import random
li = ["C Language", "C++", "Java", "VB", "C#", "Python"]
#print(dir(random))
for i in range(6):
random.shuffle(li)
print(li)
(7)random.sample(sequence,k)
用来从指定序列中随机获取指定长度的片段并随机排列。但,不会修改原来的序列。
import random
li = ["C Language", "C++", "Java", "VB", "C#", "Python"]
for i in range(6):
print(random.sample(li, 4))
nt(b, end=" ")
(6)random.shuffle(x[,random])
用来将一个列表的元素打乱。即将列表的元素随机排列。
```python
# print(dir(math))
import random
li = ["C Language", "C++", "Java", "VB", "C#", "Python"]
#print(dir(random))
for i in range(6):
random.shuffle(li)
print(li)
(7)random.sample(sequence,k)
用来从指定序列中随机获取指定长度的片段并随机排列。但,不会修改原来的序列。
import random
li = ["C Language", "C++", "Java", "VB", "C#", "Python"]
for i in range(6):
print(random.sample(li, 4))