python基础知识总结(第一节)

embedded/2024/10/20 19:24:00/

一、python简介:

Python是一种解释型,面向对象的高级语言。

Pyhton的语法和动态类型,以及解释性语言的本质,使它一跃成为多数平台上写脚本和快速开发应用的编程语言。

python语言百度百科介绍

二、Python基础语法:

1、注释

单行注释:以#开头,#右边的所有文字以及字符,都已经变成注释说明,注释并不是要执行的程序,而是起辅助作用解释说明代码!

注意:#和注释的内容之间一般以一个空格隔开;

多行注释:多行注释是以一对三引号""" """

2、字面量

        在Python中,字面量是指在代码中直接显示的值,不需要通过变量或者其他方式间接获取。Python中的字面量可以是以下几种类型:

整数(Integer)

例如,1-12023

浮点数(Float)

例如,3.14-0.01

字符串(String)

例如,'Hello, World!'"Python"

布尔值(Boolean)

例如,TrueFalse

空值(None)

例如,None

列表(List)

例如,[1, 2, 3]['a', 'b', 'c']

元组(Tuple)

例如,(1, 2, 3)('a', 'b', 'c')

字典(Dictionary)

例如,{'name': 'Alice', 'age': 25}

集合(Set)

例如,{1, 2, 3}{'a', 'b', 'c'}

注意:在python中,可以使用type()将数据类型转换为不同的格式。

3、数据类型转换

        将字符串转换为整数num = int("123")  # num = 123

        将字符串转换为浮点数:

num = float("123.45")  # num = 123.45

        将整数或浮点数转换为字符串:

str_num = str(123)  # str_num = "123"

        将字符串转换为列表,假设字符串以特定分隔符分隔:

lst = "1,2,3".split(",")  # lst = ["1", "2", "3"]

        将列表转换为字符串,并用特定分隔符连接:

str_lst = ",".join(["1", "2", "3"])  # str_lst = "1,2,3"

        将字符串转换为字典,假设字符串是有效的JSON格式:

import json
dict_obj = json.loads('{"name": "John", "age": 30}')  

# dict_obj = {"name": "John", "age": 30}

        将字典转换为字符串,假设要转换为有效的JSON格式:

import json
dict_obj = json.loads('{"name": "John", "age": 30}')  

# dict_obj = {"name": "John", "age": 30}

注意:

  1. 浮点数转化整数,会丢失精度,会自动丢弃小数点后的数字,如果再次将整数转化成浮点数,其精度不会还原,只在数字后加小数点在加0 
  2. 任何类型都可以转化成字符串
  3. 不是任何字符串都可以转化成整数

4、标识符

        python标识符有变量标识符、函数标识符、类标识符、模块标识符、下划线开头的标识符、双下划线开头、双下划线结尾的标识符、整型标识符、浮点型标识符、字符串型标识符、列表型标识符、元组型标识符和字典型标识符。详细介绍:1、变量标识符,用于标识变量的名称,通常遵循下划线命名法;2、函数标识符,用于标识函数的名称,通常遵循下划线命名法;3、类标识符等等。

1、标识符的组成规则:

  • 标识符可以由字母(包括大小写字母)、数字和下划线组成。

  • 标识符的第一个字符必须是字母(包括大小写字母)或下划线(_)。

  • 标识符不能以数字开头,但可以包含数字。

  • 标识符对大小写敏感,即大小写字母是不同的标识符。

  • 标识符不能是 Python 的关键字(保留字)或内置函数的名称。

2、通用标识符规范:

  • 变量标识符:用于标识变量的名称,通常遵循下划线命名法(snake_case),例如 "first_name"、"user_age"。

  • 函数标识符:用于标识函数的名称,通常遵循下划线命名法(snake_case),例如 "calculate_average"、"print_message"。

  • 类标识符:用于标识类的名称,通常遵循大驼峰命名法(CamelCase),即单词首字母大写,例如 "CarModel"、"PersonInfo"。

  • 模块标识符:用于标识模块的名称,通常使用全小写字母,如 "math"、"random"。

3、Python中的特殊标识符:

  • 下划线开头的标识符:以单个下划线开头的标识符通常表示私有的属性或方法,例如 "_hidden_variable"、"_private_method"。

  • 双下划线开头、双下划线结尾的标识符:以双下划线开头和结尾的标识符为内建的标识符,如 "init"、"len"。这种命名约定用于避免与用户自定义的标识符冲突。

4、类型标识符:

  • 整型标识符:用来表示整数值,如 "num1"、"count".

  • 浮点型标识符:用来表示浮点数值,如 "price"、"average".

  • 字符串型标识符:用来表示字符串值,如 "name"、"message".

  • 列表型标识符:用来表示列表对象,如 "data_list"、"result_list".

  • 元组型标识符:用来表示元组对象,如 "info_tuple"、"data_tuple".

  • 字典型标识符:用来表示字典对象,如 "user_info"、"config_dict".

注意:python语言标识符命名规则都是不允许数字出现在开头的

5、运算符

算数(数学)运算符

运算符描述实例
+俩个对象相加a+b输出结果是30
-得到负数或是一个数减去另一个数 a - b 输出结果 -10
*两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/b / a 输出结果 2
// 取整数返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
%取余返回除法的余数 b % a 输出结果 0
**指数a**b 为10的20次方, 输出结果 100000000000000000000

 赋值运算符

运算符描述实例
=        赋值运算符把=号右边的结果赋给左边的变量,如num=1+2*3,结果num的值为7

复合赋值运算符

运算符

描述

实例
+=加法赋值运算符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

比较运算符

python中,可以表示真假的数据类型是:

布尔类型,字面量True表示真,字面量False表示假              

注:True和False中的首字母必须大写

~除了可以定义的布尔类型外,还可以通过<比较运算符>计算得到布尔类型

运算符描述
==判断是否相等
!=判断是否不等
>判断是否大于
<判断是否小于
>=判断是否大于等于
<=判断是否小于等于

~在python中,可以表示真假的数据类型是:
布尔类型,字面量True表示真,字面量Flase表示假
~除了可以定义布尔类型外,还可以通过比较计算的到布尔类型

6、字符串

字符串的三种定义方式

单引号定义法: 双引号定义法: 三引号定义法:

注意:

  1. 字符串的引号嵌套
  2. 单引号可以包含双引号
  3. 双引号可以包含单引号
  4. 也可以使用转移字符(\)来将引号接触效用,变为普通字符串
  5. 如果不用变量去接受这个三引号定义法的定义的话,那他就是个用三引号标记的注释

字符串拼接

注意:字符串无法和非字符串变量进行拼接

默认print语句输出内容会自动换行,在print语句中,加上 end=‘’ 即可输出不换行了

字符串格式化

  • 可以通过如下语法,完成字符串和变量的快速拼接
格式符号转化
%s将内容转换成字符串,放入占位位置
%d将内容转换成整数,放入占位位置
%f将内容转换成浮点型,放入占位位置

格式化精度控制

我们可以使用辅助符号"m.n"来控制数据的宽度和精度

m,控制宽度,要求是数字,如果设置的宽度小于数字自身,则不生效

.n,控制小数点精度,要求是数字,会进行小数的四舍五入

示例: %5d:表示将整数的宽度控制在5位,如数字11,就会变成:[空格][空格][空格]11,用三个空格补足宽度。

%5.2f:表示将宽度控制为5,将小数点精度设置为2 。小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f 后,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为 .35

%.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35

字符串快速格式化

1.可以通过
f“{变量}{变量}”的方式进行快速格式化
2.这种方式:
~不用理会变量类型
~不对变量做精度控制
适合对精度没有要求的时候使用

字符串格式化-表达式的格式化:
表达式(一条具有明确执行结果的代码语句)
1.如何格式化表达式?
~f“{表达式}”
~“%s\%d\%f” %(表达式,表达式,表达式)

 7、数据输入

print语句(函数),可以完成将内容(字面量,变量等)输出到屏幕上。与之对应的input语句,用来获取键盘输入
~数据输出:print
~数据输入:input
使用上也非常简单:
~使用input()语句可以从键盘获取输入
~使用一个变量接受(存储)input语句获取的键盘输入数据即可
~可以使用:input(提示信息),用以在使用输入内容之前显示提示信息。
~要注意,无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型的


http://www.ppmy.cn/embedded/44216.html

相关文章

【深度好文】AI企业融合联盟营销,做的好就是最大赢家!

AI工具市场正在迅速发展&#xff0c;现仍有不少企业陆续涌出&#xff0c;那么如何让你的工具受到目标群体的关注呢&#xff1f;这相比是AI工具营销人员一直在思考的问题。 即使这个市场正蓬勃发展&#xff0c;也无法保证营销就能轻易成功。AI工具虽然被越来越多人认可和接受&a…

MTK Android9.0 给vendor下文件夹权限,用于读取文件列表

1.背景 最近在TV开发中遇到一个问题&#xff1a;如何判断设备烧录过HDCP KEY的问题&#xff0c;由于MTK的官方接口返回值并不准确&#xff0c;只能判断2.2是否烧录&#xff0c;不能准确判断1.4是否烧录过&#xff0c;因为HDCP 的KEY有两个&#xff0c;分别是1.4和2.2&#xff…

SELINUX=enforcing时无法启动httpd服务的解决方案(semanage命令以及setroubleshoot-server插件的妙用)

一、问题描述&#xff1a; 当/etc/selinux/conf被要求必须是SELINUXenforcing&#xff0c;不被允许使用setenforce 0宽松模式 我们启动httpd就会报错&#xff1a; Job for httpd.service failed because the control process exited with error code. See "systemctl s…

sdbusplus:通过文件描述符传递数据

有的时候需要传递大量的数据,如果将数据通过dbus传递,会消耗大量的带宽。可以通过传递一个文件描述符替代传递数据: 以下的service通过文件描述符接收数据: //fd_service.cpp #include <sdbusplus/asio/connection.hpp> #include <sdbusplus/asio/object_server…

查看环境中python3安装在哪指令

1. 查看安装在哪&#xff1a; pip install where where python3 2. 查看是否安装&#xff1a; pip freeze | grep transformers

文心智能体平台丨创建你的四六级学习小助手

引言 在人工智能飞速发展的今天&#xff0c;我们迎来了文心智能体平台。该平台集成了最先进的人工智能技术&#xff0c;旨在为用户提供个性化、高效的学习辅助服务。今天&#xff0c;我们将向大家介绍如何利用文心智能体平台&#xff0c;创建一个专属于你的四六级学习小助手。…

k8s部署calico遇到的问题

kubernetes安装calico calico官网 环境&#xff1a;centos7.9&#xff0c;calico 3.23&#xff0c;kuberadm 1.26 问题1&#xff1a;执行kubectl create -f calico.yml后报错如下 error: resource mapping not found for name: “tigera-operator” namespace: “” from “…

深入分析 Android Activity (一)

文章目录 深入分析 Android Activity (一)1. Activity 的窗口管理2. Activity 的生命周期管理onCreateonStartonResumeonPauseonStoponDestroyonRestart 3. Activity 与 Fragment 的交互添加 FragmentFragment 的生命周期 4. Activity 的任务和返回栈5. 配置变化处理 总结 深入…