Python基础 学习笔记
Chapter 01
Python程序开发注意事项
1.Python源文件通常以.py
为扩展名,但这不是必须的。
2.Python程序语句默认情况是顺序执行。
3.Python语言区分大小写。
4.Python程序由一条条语句构成,每条语句后不需要以;
结束,但是如果带上;
也不会报错,建议不带;
。
Python常用的转义字符
1.\t
:制表位,实现对齐的功能
2.\n
:换行符
3.\\
:\
4.\"
:”
5.\'
:‘
6.\r
:回车
注释
1.单行注释:#注释文字
2.多行注释**(不可嵌套使用)**:'''注释文字'''
或者"""注释文字“”“
3.文件编码声明注释:# coding:编码
(在文件开头加上编码声明,用以指定文件的编码格式)
Chapter 02 - 变量
格式化输出
%
操作符输出:符号 意义 示例 %s 输出字符串 %d 输出整数 %06表示输出6位整数,不足的位数补0 %f 输出浮点数 %.2f表示输出小数点后保留两位小数 %% 输出百分号 1
print("个人信息:%s %d %s %.2f"%(name,age,gender,score))
format()
函数
示例:1
print("个人信息:{} {} {}".format(name,age,gender))
f-strings
示例:1
print(f"个人信息:{name} {age} {score} {gender}")
数据类型
基本数据类型
类型 |
---|
整型 int |
浮点数 float |
布尔值 bool |
字符串 string |
基本介绍
1.Python中的变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
2.可以使用type()
函数查看数据类型。
语法:type(object)
整数类型
- Python的整数有十进制、十六进制、八进制、二进制。
1.十进制。
2.十六进制写法:加前缀0x
。
3.八进制写法:加前缀0o
。
4.二进制写法:加前缀0b
。 - 整型占用字节:可以通过
sys.getsizeof()
以字节单位返回对象的大小。
1.字节数随着数字增大而增大。
2.每次的增量是4字节。
浮点类型
- 浮点类型计算后,存在精度的缺失,可以使用
Decimal
类进行精确计算。
布尔类型
- 布尔类型可以和其他数据类型进行比较,比如数字、字符串等。在比较时,将True视为1,False视为0。
- 非0被视为真值,0被视为假值。
字符串
- 使用
'
或"
包括起来,创建字符串。 - 通过加号可以连接字符串。
- Python不支持单字符类型,单字符在Python中也是作为一个字符串使用。
- 用
'''内容'''
或者"""内容"""
可以使字符串内容保持原样输出。 - 在字符串前面加
r
可以使整个字符串不会被转义。
字符串驻留机制
- 说明:
Python仅保存一份相同且不可变字符串,不同的值被存放在字符串的驻留池中,Python的驻留机制对相同的字符串仅保留一份拷贝,后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋给新创建的变量。 - 驻留机制几种情况讨论**(在交互模式下,即cmd进入Python):
1.字符串是由26个英文字母大小写、0-9、_
组成。
2.字符串长度为0或1时。
3.字符串在编译**时进行驻留,而非运行时。
4.[-5,256]的整数数字。 - PyCharm对字符串进行了优化处理,不需要满足上述特殊情况。
- 字符串驻留机制的好处:当需要值相同的字符串时,可以直接从字符串池中拿来使用,避免频繁的创建和销毁,提升效率和节约内存。
- sys中的
intern
方法可以强制2个字符串指向同一个对象。
##数据类型转换
隐式类型转换
- Python变量的类型是不固定的,会根据变量当前值在运行时决定,可以通过内置函数
type(变量)
来查看其类型。 - 在运算时,数据类型会向高精度自动转换。
显式类型转换
如果需要对变量数据进行类型转换,只需要将数据类型作为函数名即可。
以下几个内置的函数可以完成数据类型之间的转换。函数会**返回一个新的对象/值,就是强制类型转换后的结果。
函数 描述 int(x[,base]) 将转换为一个整数 float(x) 将x转换成一个浮点数 complex(real[,imag]) 创建一个复数 str(x) 将对象x转换为字符串 repr(x) 将对象x转换为表达式字符串 eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s) 将序列s转换为一个元组 list(s) 将序列s转换为一个列表 set(s) 转换为可变集合 dict(d) 创建一个字典。d必须是一个(key,value)元组序列 frozenset(s) 转换为不可变集合 chr(x) 将一个整数转换为一个字符 注意事项:
1.不管什么值的int
,float
都可以转成str
,str(x)
将对象x转换为字符串。
2.int
转成float
会增加小数部分,float
转成int
会去掉小数部分。
3.在将str
类型转成基本数据类型时,要确保str
值能够转成有效的数据。
4.对一个变量进行强制类型转换,会返回一个数据/值,但强制类型转换后并不会影响原变量的数据类型(即:不会影响原变量指向的数据/值的数据类型)。
Chapter 03 - 运算符
算术运算符
运算符 | 运算 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取模(取余) |
// | 取整除(返回商的整数部分,向下取整) |
** | 返回x的y次幂 |
- 当对一个数取模时,对应的运算公式:
a % b = a - a // b * b
比较运算符
运算符 | 运算 |
---|---|
== | 等于 |
!= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
is | 判断两个变量引用对象是否为同一个 |
is not | 判断两个变量引用对象是否不同 |
逻辑/布尔运算符
运算符 | 逻辑表达式 | 描述 |
---|---|---|
and | x and y | 如果x为False,则返回x的值,否则返回y的值 |
or | x or y | 如果是True,则返回x的值,否则返回y的值 |
not | not x | 如果x为True,返回False;如果x为False,返回True |
and
是种“短路运算符”,只有当第一个为True时才会去验证第二个。or
是种“短路运算符”,只有当第一个为False时才会去验证第二个,即如果第一个为True,就直接返回第一个的值。
赋值运算符
运算符 | 描述 |
---|---|
= | 简单的赋值运算符 |
+= | 复合加法赋值运算符 |
-= | 复合减法赋值运算符 |
*= | 复合乘法赋值运算符 |
/= | 复合除法赋值运算符 |
%= | 复合取模赋值运算符 |
**= | 复合幂赋值运算符 |
//= | 复合取整除赋值运算符 |
- 实现变量交换的简单方法:
x,y = y,x
三元运算符
语法:
变量名 = a if a > b else b
- 如果
a > b
成立,就把a作为整个表达式的值,并赋值给变量;如果a > b
不成立,就把b作为整个表达式的值,并赋值给变量;
运算符优先级
算术运算>位运算>比较运算>逻辑运算>赋值运算
标识符
- 标识符:各种变量、函数和类等命名时使用的字符序列。
- 命名规范:
函数名一律小写,如果有多个单词,用下划线隔开。私有函数以双下划线开头。
键盘输入语句input()
- 从控制台接收到的数据类型是
str
类型。如果希望对接收到的数据进行算术运算,则需要进行类型转换,也可以在接收数据的之后直接转成需要的类型。示例:
变量名 = int(input(“…”))
Chapter 04 - 进制
位运算符


本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 梦自虚的博客!
评论