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.不管什么值的intfloat都可以转成strstr(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 - 进制

位运算符

jsuaM.png jsGIx.png