Python基础
Typora
对应的格式文件:Markdown格式文件
基本使用
文本
不设置任何东西
标题
#:一级标题(Ctrl+1)
##:二级标题(Ctrl+2)
......
#...#(n个#):n级标题(Ctrl+n)
图片
![](路径)
markdown格式路径有三种:
- 网址
- 绝对路径
- 相对路径
表格
姓名 | 班级 | 年龄 |
---|---|---|
张三 | 1班 | 18 |
李四 | 2班 | 19 |
王五 | 3班 | 20 |
环境安装
- 1.python的安装
- 2.pycharm(IDE)/Sublime(轻量型IDE)
- 3.Typora
基础
第一个程序:
print("Hello, World")
## 三种运行方式
- Python解释器环境下运行;
```python
(D:\Anaconda3) C:\Users\Administrator>python
Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>print("Hello, World")
- 命令窗口中运行脚本
python 文件名.py
```
- IDE(Sublime)运行程序
注释
java
// 单行注释
/* 多行注释 */
/** 多行注释 */
Python
- 单行注释
# This is 单行注释
- 多行注释
"""
This is 多行注释1
"""
'''
This is 多行注释2
'''
printh()输出函数
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
None
[Finished in 1.7s]
input()输出函数
a = input("请输入信息:")
print("Value of a is:",a)
进入指定目录:
- 当前目录前,Shift+鼠标右键,打开命令窗口(POWERSHELL)
- 摁Win+R,输入cmd回车,打开命令窗口,如下:
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\Administrator\cd D:\Program Files\Sublime Text 3\课堂笔记
C:\Users\Administrator\d:
D:\Program Files\Sublime Text 3\课堂笔记
input()接收的参数默认返回字符串类型
D:\Program Files\Sublime Text 3\课堂笔记>python PythonDemo.py
请输入信息:hunan
Value of a is:hunan<class 'str'>
D:\Program Files\Sublime Text 3\课堂笔记>
新内容
数据类型
-
文本
-
图形
-
数值型数据
-
音频
-
视频
-
网页数据
-
等等
不同的数据,需要定义不同的数据类型。
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', 'retu
rn', 'try', 'while', 'with', 'yield']
>>>
CSDN/cnBlogs
-
变量类型测试
type(变量名)
-
查看变量内存地址
id(变量名)
>>> f = {1,2,3}
>>> g = {"name":"LeiLei"}
>>> id(f)
35324648
>>> id(g)
34499176
>>>
变量的调用
a = 1
b = 2
c = a + b
print(c)
两值交换
x = 12
y = 16
x,y = y,x
x,y
>>> x = 12
>>> y = 16
>>> x,y = y,x
>>> x,y
(16, 12)
>>>
同时赋值
a = b = c = 3
print(a,b,c)
a,b,c = 1,2,3
print(a,b,c)
tuple = 1,2,3
print(tuple,type(tuple))
>>> 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__', '__pack
age__', '__spec__', 'math']
>>>
>>> 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', 'fm
od', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'is
inf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan'
, 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
>>>
数字
-
数字提供了标量存储和直接访问
-
是不可更改的数据类型(指变更数字会生成新的对象)
-
整型
-
长整型
python2区分整型和长整型,python3目前已基本不区分,后续优化会逐渐合并
-
布尔型:
True(1)
False(0)
-
浮点型:
双精度浮点型
十进制浮点型
科学计数法
用“E”或者“e“来代表10
>>> print(3.14159E5) 314159.0 >>> print(314159.0e-5) 3.14159 >>>
复数
i**2 = -1
我们知道,任何一个数的平方都是一个非负数;但现在,我们需要找到一个数的平方为负数。因此,18世纪,数学家定义虚数(虚数基本单位(i,j))
i** 2 = -1,j** 2 = -1
i 或 者 j = − 1 i或者j = \sqrt {{\rm{ - }}1} i或者j=−1基于这个特殊的数(或者称之为概念),数学从此有了一个新的分支。现在虚数已经广泛应 用于数值和科学计算应用程序中。一个实数和一个虚数的组合构成一个复数。一个复数是一对 有序浮点数(x, y)。表示为 x + yj, 其中 x 是实数部分,y 是虚数部分。 渐渐的复数在日常运算,机械,电子等行业获得了广泛的应用。由于一些研究人员不断的重 复制造用于复数运算的工具, 在很久以前的 Python1.4 版本里,复数终于成为一个真正的 Python 数据类型。
复数属性
假如,定义num = 1.6+5.6j,则对应的常见属性为:
- num.real 返回复数的实部
- num.lmag 返回复数的虚部
- num.conjugate() 返回复数的共轭复数
- 共轭复数:实部相同,虚部互为相反数
>>> num=1.6+5.6j >>>num (1.6+5.6j) >>> num.real 1.6 >>> num.imag 5.6 >>> num.conjugate() (1.6-5.6j) >>>
表达式与运算符
-
表达式
由变量、常量和运算符组成的式子。计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算。
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