Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
酥脆的小菠萝
hexbook
提交
a89a407d
H
hexbook
项目概览
酥脆的小菠萝
/
hexbook
通知
5
Star
4
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hexbook
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a89a407d
编写于
12月 24, 2020
作者:
S
star
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python变量
上级
eb7f6404
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
306 addition
and
18 deletion
+306
-18
notes/Python语言/Python基础/Python基础.md
notes/Python语言/Python基础/Python基础.md
+306
-18
未找到文件。
notes/Python语言/Python基础/Python基础.md
浏览文件 @
a89a407d
...
...
@@ -9,6 +9,8 @@ Python 官网:https://www.python.org/
1.
[
计算机基础知识
](
#1计算机基础知识
)
2.
[
Python 简介
](
#2Python
简介)
3.
[
Python 基本语法
](
#3Python
基本语法)
4.
[
Python 数据类型
](
#4Python
数据类型)
5.
[
Python 运算符
](
#5Python
运算符)
...
...
@@ -355,13 +357,27 @@ Python 开发工具 IDLE
**PyCharm 的安装及使用**
1.
在官网下载 PyCharm 并安装:https://www.jetbrains.com/pycharm/download/other.html
2.
双击 PyCharm 运行,点击
`Create New Project`
创建新项目。
3.
选择
`Pure Python`
创建一个简单的纯 Python 项目,在 Location 处输入项目存放位置。
4.
展开
`Project Interpreter`
,为项目指定一个独立的 Python 解释器(也可直接使用默认值)。
5.
点击
`create`
创建项目。
6.
右键左侧窗口的项目名 --> 选择 New --> 选择 Python File --> 输入文件名创建 Python 文件。
7.
编写 Python 文件内容,点击顶部工具栏上的 Run 运行编写的 Python 文件。
8.
如果控制台输出正常,则简单的 Python 项目搭建完成。
~~~
python
# Python 的输出语句
print
(
"Hello Python!"
)
# Python 的 print 方法可以输出多个参数,输出时将会自动在每一个参数之间添加空格
print
(
"Python is"
,
26
,
"years old."
)
~~~
8.
控制台输出正常,PyCharm 的安装完成。
...
...
@@ -413,18 +429,6 @@ Python 开发工具 IDLE
5. 在 Python 中使用 `#` 来表示单行注释,# 后的内容都属于注释,注释的内容将会被解释器所忽略(习惯上
# 后边跟一个空格)。
Python 的多行注释使用 `'''` 或 `"""` 表示
~~~python
'''
单引号表示的多行注释
'''
"""
双引号表示的多行注释
"""
~~~
*
*Python
变量**
...
...
@@ -437,7 +441,7 @@ Python 开发工具 IDLE
变量可以用来保存字面量,变量中保存的字面量是不定的,变量本身没有任何意思,根据不同的字面量表示不同的意思。
在 Python 中使用变量不需要定义,直接为变量赋值即可
。
在 Python 中使用变量不需要定义,直接为变量赋值即可
,如:`a = "123"`
不能使用没有进行过赋值的变量。
...
...
@@ -480,34 +484,318 @@ Python 开发工具 IDLE
- 类名:使用帕斯卡命名法,内部类使用额外的下划线开头,如:MyClass,_InnerClass
- 函数:使用下划线命名法,如:example_function
- 函数&方法:使用下划线命名法,如:example_function
类内部函数命名,使用单下划线开头(该函数可被继承访问)。
类内部私有函数命名,使用双下划线开头(该函数不可被继承访问)。
- 函数&方法的参数:使用下划线命名法,同时总使用 `self` 作为实例方法的第一个参数,总使用 `cls` 作为类方法的第一个参数,如:function_param,self,cls
- 变量:使用下划线命名法,同时因为 Python 是动态类型语言,所以变量名不应带有类型信息,如 iValue,names_list 等都是不好的命名。
类内部变量命名,使用单下划线开头(该变量可被继承访问)。
类内部私有变量命名,使用双下划线开头(该变量不可被继承访问)。
- 异常:使用帕斯卡命名法,同时以 `Error` 结尾,如:NameError
- 常量:使用下划线命名法,但是常量名所有的字母均大写,如:MAX_OVERFLOW
>
Python
中下划线的含义
>
>
1. 单前导下划线:\_var、\_function,它有一个约定俗成的含义:以单个下划线开头的变量或方法仅供内部使用;它只是对程序员的一个提示, 程序的行为不会受其影响。
>
>
注:在使用通配符导入模块时,以单下划线开头的变量或方法不会导入,常规导入不受影响(我们应该尽量避免通配符导入)。
>
>
2. 单末尾下划线:var\_、function\_,当一个变量的最合适的名称已经被一个关键字所占用,此时可以附加一个下划线来解决命名冲突,如:class\_
>
>
3. 双前导下划线:\_\_var、\_\_function,双下划线前缀会导致 Python 解释器重写属性名称,在类被扩展的时候不容易与子类中的命名产生冲突。
>
>
注:使用此种方式命名时,如果你创建了一个子类,那么你将不能轻易地覆写父类中的方法或变量。
>
>
4. 双前导和双末尾下划线:\_\_var\_\_,使用这种用法表示 Python 中特殊的方法或变量,如:\_\_init\_\_,\_\_all\_\_ 等。
>
>
5. 单下划线:\_,使用独立下划线是用作一个名字,表示某个变量是临时的或无关紧要的,如使用 for _ in range(10): 用来循环。
-
--
### 4.Python 数据类型
**数值**
在 Python 中,数值分为了三种:整数,浮点数,复数
整数:在 Python 中所有的整数都是 int 类型,如:10,-5 等,整数的大小没有限制,可以是任意大小。
- 函数参数:使用下划线命名法,同时总使用 `self` 作为实例方法的第一个参数,总使用 `cls` 作为类方法的第一个参数,如:function_param,self,cls
在书写时,如果整数长度过大,可以使用下划线做分隔符,如:10
\_
000
-
其他进制的整数写法:
1.二进制(Binary):以 0b 开头,如:0b101101
2.八进制(Octal):以 0o 开头,如:0o1574
3.十六进制(Hexadecimal):以 0x 开头,如:ox51ac8
注意:为了避免混淆,Python 总会以十进制输出数字(所有语言都如此)。
浮点数:在 Python 中所有的小数都是 float 类型,如:0.78,1.22
对浮点数进行运算时,可能会得到一个不精确的结果,可以通过模块 decimal 进行计算。
复数:数学概念,见:https://baike.baidu.com/item/%E5%A4%8D%E6%95%B0/254365
$$
方程:x^2 - 2x + 2 = 0;解得:x^2 - 2x + 1 = -1;解得:(x - 1)^2 = -1;解得:x - 1 =
\s
qrt{-1};解得:x = 1 +
\s
qrt{-1};即:x = 1 - 1i
$$
其中 1 - 1i 就是一个复数,由实部 1 和虚部 -1 组成,虚部后加字母 i 表示。
在 Python 中,使用 a + bj 来表示复数:
~~~
python
# 复数
num
=
1
+
2j
# 打印 num 的实部
print
(
num
.
real
)
# 打印 num 的虚部
print
(
num
.
imag
)
~~~
*
*
Python
运算符
**
**
字符串
**
字符串用来表示一段文本信息,在 Python 中,字符串需要使用单引号或双引号引起来,单引号和双引号可以同时使用,但相同的引号之间不能嵌套。
长字符串:使用三重引号来包含文字内容,内容之间可以随意换行
```
python
a
=
'''abc
efg
'''
print
(
a
)
```
字符串支持转义符,如:
`\n`
表示换行,
`\u1234`
表示 Unicode 编码 1234 表示的字符。
> 在 Python 中,字符串之间可以使用加号进行拼接,但是字符串也只能与字符串进行拼接,与其他类型的数据(如:int)拼接时会报错:TypeError
字符串格式化:
1.
字符串占位符 %s:%s 表示任意字符串
使用方法:字符串外加一个 %,然后紧跟需要填充的内容
~~~
python
# 单占位符
msg
=
'Hello,%s'
%
'Niko'
print
(
msg
)
# 将数字作为字符串填充进去
msg
=
'I
\'
m %s years old.'
%
25
print
(
msg
)
# 多占位符,括号内的内容按顺序填充
msg
=
'Hello,%s,I %s you so much!'
%
(
'Niko'
,
'miss'
)
print
(
msg
)
~~~
输出结果:
~~~
markdown
Hello,Niko
I'm 25 years old.
Hello,Niko,I miss you so much!
~~~
我们还可以在 % 后面加上数字来限制填充内容的最小(最大)长度,如果少于(超出)该长度,将会对字符串前方添加空格(截除多余内容),如:%3s,%3.5s
~~~
python
# 限制填充内容长度至少为 5
msg
=
'Nice to meet you,%5s'
%
'Niko'
print
(
msg
)
# 限制填充内容长度至少为 3,最多为 5
msg
=
'Nice to meet you,%3.5s'
%
'Charles'
print
(
msg
)
~~~
输出结果:
~~~
markdown
Nice to meet you, Niko
Nice to meet you,Charl
~~~
2.
整数占位符 %d:对整数内容进行格式化填充
限制整数的长度,如:%4d,填充长度至少是 4,不够时在前面加空格;%.4d,填充长度至少是 4,不够时在前面加 0
~~~
python
msg
=
'There are %.4d eggs in the basket'
%
123.5700
print
(
msg
)
msg
=
'There are %4d eggs in the basket'
%
123.5700
print
(
msg
)
~~~
输出结果:
~~~
markdown
There are 0123 eggs in the basket
There are 123 eggs in the basket
~~~
3.
浮点数占位符 %f:对浮点数内容进行格式化填充
限制小数位数,如:%.3f,保留 3 位小数,多于 3 位的会被截除,少于 3 位的则在末尾添加 0
~~~
python
# 限制小数位数
msg
=
'There are %.2f eggs in the basket'
%
123.5700
print
(
msg
)
~~~
输出结果:
~~~
markdown
There are 123.57 eggs in the basket
~~~
格式化字符串:在字符串前加 f 或 F 表示该字符串是一个格式化字符串,格式化字符串中可以直接引用变量
~~~
python
age
=
25
name
=
"James"
introduction
=
f
"
{
name
}
is
{
age
}
years old."
print
(
introduction
)
~~~
输出结果:
~~~
markdown
James is 25 years old.
~~~
字符串复制:在 Python 中,如果使用字符串与整数相乘,相当于把字符串重复指定次数并拼接
~~~
python
# 字符串复制
a
=
"Hello "
a
*=
5
print
(
a
)
~~~
输出结果:
~~~
markdown
Hello Hello Hello Hello Hello
~~~
**布尔值**
在 Python 使用 bool 表示布尔值,用来表示真(True)或假(False)两个值(在 Python 中布尔值的首字母大写)。
~~~
python
# 布尔值
a
=
True
b
=
False
~~~
在 Python 中 True 相当于整数 1,False 相当于整数 0
~~~
python
print
(
1
+
True
)
print
(
1
+
False
)
~~~
输出的结果是:2、1
**空值(None)**
在 Python 中,使用 None 来表示空值,不存在。
**类型检查**
在 Python 中,使用 type() 函数检查变量的值的数据类型
~~~
python
# 类型检查
print
(
type
(
"str"
))
print
(
type
(
1
))
print
(
type
(
1.2
))
print
(
type
(
1
+
2j
))
print
(
type
(
False
))
print
(
type
(
None
))
~~~
输出结果:
~~~
markdown
<class
'
str
'
>
<class
'
int
'
>
<class
'
float
'
>
<class
'
complex
'
>
<class
'
bool
'
>
<class
'
NoneType
'
>
~~~
**对象(Object)**
Python 是一门面向对象的语言,在 Python 中任何东西都可看作对象,例如:数值、字符串、布尔值、None 都是对象
每个对象都保存了 3 中属性:
-
id:用来标识对象的唯一性,使用 id() 函数进行查看。
~~~
python
print
(
id
(
"Hello"
))
~~~
输出:1985004694768,由解释器生成,在 CPython 中,此值就是该对象的内存地址。
对象一旦创建,其 id 永远不能改变。
-
type:用来标识对象的类型,使用 type() 函数进行查看。
Python 是一门强类型的语言,对象一旦创建,其 type 也永远不能改变。
-
value:用来标识对象当中存储的具体数据,当我们使用 print() 打印时,就是打印的对象的值。
在 Python 中,对象的值可以改变,可以改变值的对象叫可变对象(如:list,set),不可以改变值的对象叫不可变对象(如:int,float)。
**变量和对象**
在 Python 中,变量更像是对象的一个别名,变量当中存储的是对象的内存地址。
**类型转换**
在 Python 中,可以对变量的值进行类型转换(不是改变对象的类型,而是创建一个新的类型的对象重新赋值给变量)。
类型转换的 4 个函数:int()、float()、str()、bool()
类型转换不会改变变量的值,而是返回转换后的结果,需要重新赋值才可转换变量类型。
注意事项:
1.
float 转 int 是省略小数点后的结果。
2.
小数字符串不能直接转换为 int,如 int('12.5') 会抛出异常:ValueError
3.
类型转换函数不能转换 None 值。
4.
使用 bool() 可以将 空数值(0、0.0)、空字符串(''、"")、空(None)、空集合([]、()、{})转为 False,其他情况下都是 True。
---
### 5.Python 运算符
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录