Python 基础02-Python 入门

官方文档:3.10.13 Documentation

一、Python 代码编写习惯

1. Python 中的编码

在 Python 3 版本之后,Python 默认使用 UTF-8 编码。UTF-8 是一种针对 Unicode 的可变长度字符编码。

2. 注释

注释可以对代码起到解释说明的作用,注释内容不是真的代码,并不执行。

快捷键:ctrl + /

(1) 单行注释

在 Python 中只有一种注释,就是以 # 开头的单行注释。

# 单行注释...  # 单行注释

(2) 多行注释

可以用3个单引号或3个双引号作为多行注释,这种多行注释本质上是字符串。

'''
多行注释
多行注释
'''"""
另一种多行注释
另一种多行注释
"""

(3) Pycharm 中设置代码模板

菜单栏中选择 File --> Settings --> Editor --> File and Code Templates,选择 Python Script。

在编辑器中设置如下模板:

# TODO
# @Time : ${DATE} ${TIME}
# @Author : Qingxue
# @Version : 0.0.1
# @IDE : ${PRODUCT_NAME}
# @Project : ${PROJECT_NAME}

点击 OK,之后创建 pythin 代码文件时会自动加上上面定义的代码模板。

3. 缩进

Python 是一种依赖缩进进行层次划分的语言。

Python中并没有花括号 {} 和小括号 (),所有代码的层次都是通过缩进来完成的,采用这样的方式极大地提高了代码的可读性。

4. PEP8 规范

PEP8 规范是 Python 编程中最新的代码样式指南,是一种 Python 标准的风格说明书,也是统一的代码样式规范。

PEP 8 – Style Guide for Python Code | peps.python.org

(1) 缩进的规定

  • 一个缩进级别均使用 4 个空格。
  • Python 3 中直接禁用了空格和 Tab 制表符混用的情况。

(2) 空行的规定

  • 在新建类的上方应该有两个空行。
  • 类方法的定义时应该在上方留一个空行。
  • 在 .py 文件末尾应该添加一个空行。

(3) 字符串引号的规定

  • 如果字符串中已经包含了某一种引号,则应该使用另一种引号作为字符串的标识。

(4) 注释的规定

  • 注释的英文首字符大写。
  • 推荐所有的注释均采用英文的方式进行书写。

(5) 命名的规定

  • 对于模块和软件包,推荐使用短小的英文小写字母进行命名,但是并不推荐使用下划线进行命名。
  • 对于建立的 class 类名,需要使用大写字母开头的驼峰方式进行命名,尽量简短易懂。
  • 对于变量和函数,要求必须使用全部小写的形式,在切分单词时使用下划线进行分隔,提高可读性。
  • 如果需要使用常量,要求采用全部大写字母的方式进行命名。

三、变量

Python 程序中,处理的所有数据都必须存储在变量中。

1. 变量的理解

官方的定义是变化的量叫变量,每一个变量都有变量名变量值

比如说我们要去五星级酒店找朋友,可是酒店里面的客房非常多。如果我们想快速找到朋友,必须得知道你朋友的房间号。根据房间号,我们立马可以知道房间的位置,打开门就能看见入住的客人。

所有的变量都存在内存中。我们可以把内存看成是一个大的五星级酒店,每一间房就代表数据存放的内存地址范围,在这一个地址范围中存起来的就是我们的数据,对应客房中所住的客人。

为了快速的查找或使用这个数据,通常我们把存储数据的地址范围和房间号一样,也定一个名称。这个名称就是变量

总结一下,房间就对应变量,房号对应变量名,入住的客人对应变量值。有了变量之后就可以快速的在茫茫(数海)的内存中。找到对应的数据。

2. 变量的定义和使用

(1) 变量的组成

变量有变量名变量值。变量名是一个标识符,由字母、数字和下划线组成,且不能以数字开头。变量值可以是 Python 中任意的数据类型。

(2) 变量的定义

变量名 = 表达式

表达式可以是一个值,后面会详细介绍表达式。

a = 100
b = 200

(3) 变量的使用

变量名

直接以变量名的形式使用变量。

print(a + b)

3. 标识符和保留字

标识符命名规则是 Python 中定义各种名字的时候的统一规范,具体如下:

  • 由数字、字母、下划线组成

  • 不能数字开头

  • 不能使用内置关键字

  • 严格区分大小写

保留字是 Python 中内置的关键字,具体如下:

andcontinueexceptifnonlocalreturnTrue
asdeffinallyimportnottryFalse
assertdelforinorwhileNone
breakeliffromispasswith
classelsegloballambdaraiseyield

Python 中的变量名和函数名要见名知意,一般使用小写字母加下划线命名。

# 推荐
my_name = 'Qingxue'
my_age = 25
my_sex = '男'# 小驼峰命名 不推荐
myName = 'Yueqiao'# 大驼峰命名 不推荐
MyAge = 25

4. 常量

常量是一种特殊的变量,广义上是指“不变化的量”,是指在编程语言中不会变动的数据的别称。

在 Python 的内置命名空间中,False、True、None 等就是常量。

Python 中不支持用户声明一个常量,虽然可以依托于自行实现类进行常量的模拟,但本质上 Python 并不能将常量和变量区分对待。

Python 一般通过约定俗成变量名全大写驼峰命名的形式表示这是一个常量,当然这样的常量依旧是可以被修改的。

# 常量
MAX_COUNT = 10000

只有通过自行定义常量实现类并通过该类进行实例化,才能实现常量“不能被修改”的要求。

5. 认识数据类型

# 整型 int
a = 1# 字符串 str
b1 = 'abc'  # 单引号
b2 = '''abc'''  # 3个单引号
b3 = "abc"  # 双引号
b4 = """abc"""  # 3个双引号# 布尔型
c1 = True
c2 = False# 浮点型
d = 1.5

(1) type 函数

使用 type 函数可以获取变量的类型。

a = 69
print(a, type(a))  # 69 <class 'int'>

(2) 强类型

强类型语言:每个变量有且只有一个特定的类型。

虽然 Python 中可以直接按 a = 1 这种形式直接定义变量,但要注意,Python 是一种强类型语言,此时已由类型推断得出变量 a 为整型 int。

可以使用 a: int = 1 这种形式来定义变量,Pycharm 中会进行类型检测。

四、输入——input 函数

input('提示信息')

(1) 当程序执行到 input,等待用户输入,输入完成之后才继续向下执行;

(2) 在Python中,input 接收用户输入后,一般存储到变量,方便使用;

(3) 在Python中,input 会把接收到的任意用户输入的数据都当做字符串处理。

print('开始输入函数')name = input('请输入你的名字:')  # Qingxue
print(type(name), name)  # <class 'str'> Qingxueage = input('请输入你的年龄:')  # 25
print(type(age), age)  # <class 'str'> 25

注意:所有的通过 input 获取的数据,都是字符串类型。 Python 是一门强类型的语言。

五、运算

1. 算术运算

算术运算包括加减乘除取余等运算。

值1 [运算符] 值2

表达式:由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。

运算符描述实例
+1 + 1 输出结果为 2
-1-1 输出结果为 0
*2 * 2 输出结果为 4
/10 / 2 输出结果为 5
//整除(取商)9 // 4 输出结果为2
%取余(模)9 % 4 输出结果为 1
**指数2 ** 4 输出结果为 16,即 2 * 2 * 2 * 2
()小括号小括号用来提高运算优先级,即 (1 + 2) * 3 输出结果为 9
# 指数计算
print('3的平方', 3 ** 2)  # 9
print('9的平方根', 9 ** 0.5, 9 ** (1 / 2))  # 3.0# 字符串相加:多个字符串连接
print("'a' + 'b'", 'a' + 'b')  # ab# 字符串乘数字:字符串复制多少次
print("'-' * 20", '-' * 20)  # --------------------# 取余(模运算)
print('17模2', 17 % 2)  # 1

注意:混合运算优先级顺序:() 高于 ** 高于 * / // % 高于 + -。

2. 赋值运算

赋值运算符就只有等于号1个,功能为将 = 右侧的结果赋值给 = 左侧的变量。

运算符描述实例
=赋值将等号右侧的结果赋值给等号左侧的变量

左值:可以出现在赋值号左边的值,例如变量、左值表达式。

右值:可以出现在赋值号右边的值,比如单个值、右值表达式、函数调用等。

(1) 单个变量赋值

变量名 = 表达式

# 单个变量赋值
num = 1
print(num)  # 1

(2) 多个变量赋值

变量名1, 变量名2, ... , 变量名n = 表达式1, 表达式2, ... , 表达式n

# 多个变量赋值
num1, float1, str1 = 1, 2.2, 'a3'
print(num1, float1, str1)  # 1 2.2 a3

3. 复合赋值运算 

复合赋值运算即为算术运算结合赋值运算,先算术运算,再赋值。

运算符描述实例
+=加法赋值运算符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
# 复合赋值运算,先运算,再赋值
a = 5
a += 4
print(a)  # 9# 复合赋值运算 + 算术运算
b = 6
c = 7c *= c + b
print(c)  # 91

4. 总结

(1) 算数运算的优先级

混合运算优先级顺序:() 高于 ** 高于 * / // % 高于 + -

(2) 赋值运算符

=

(3) 复合赋值运算符

+= -=

优先级:

  • 先算复合赋值运算符右侧的表达式
  • 再算复合赋值运算的算数运算
  • 最后算赋值运算

六、输出——print 函数

print(...values, end)

print 函数的本质是输出到控制台。

格式化输出有格式化符号和 f-字符串两种方式。

1. 格式化符号

print('...[占位符]...' % (变量))

格式化符号在要输出的字符串中当作占位符,输出时占位符将被对应的变量格式化后替换输出。

格式符号转换格式符号转换
%s字符串%x十六进制整数(小写ox)
%d有符号的十进制整数%X十六进制整数(大写OX)
%f浮点数%e科学计数法(小写'e')
%c字符%E科学计数法(大写'E')
%u无符号十进制整数%g%f和%e的简写
%o八进制整数%G%f和%E的简写
%x十六进制整数(小写ox)
%X十六进制整数(大写OX)
%e科学计数法(小写'e')
%E科学计数法(大写'E')
%g%f 和 %e 的简写
%G%f 和 %E 的简写

(1) 格式化符号 %s

格式化符号 %s 用于格式化字符串。

my_name = 'Qingxue'
my_age = 25
my_city = 'Beijing'# print('我的名字是:' + my_name)  # 我的名字是:Qingxue
print('我的名字是:%s' % my_name)  # 我的名字是:Qingxue# print('我的年龄是:' + my_age)  # TypeError: can only concatenate str (not "int") to str
print('我的年龄是:%d' % my_age)  # 我的年龄是:25# %s 很特殊,变量类型 str 和 int 都可以
print('我的名字是%s,今年%s岁,住在%s' % (my_name, my_age, my_city))  # 我的名字是Qingxue,今年25岁,住在Beijing

格式化符号 %s 比较特殊,格式化 str 和 int 类型的变量都可以。

(2) 格式化符号 %d 和 %f

格式化符号 %d 用于格式化整数。可以写成 %nd 的形式(n 为数字),表示至少占 n 位,不够则在前面用空格补齐,n 为负数代表从后面用空格补齐。写成 %0nd 则表示前面用0补齐(n 为正数)。

格式化符号 %f 用于格式化浮点数,默认保留小数点后6位小数。可以写成 %.nf 的形式(n 为数字),表示保留 n 位小数。

c1 = 98
c2 = 78
c3 = 60# print('我的总成绩是%s,平均成绩为%s。' % (c1 + c2 + c3, (c1 + c2 + c3) / 3))  # 我的总成绩是236,平均成绩为78.66666666666667。
# %f 默认保留6位小数
print('我的总成绩是%d,平均成绩为%f。' % (c1 + c2 + c3, (c1 + c2 + c3) / 3))  # 我的总成绩是236,平均成绩为78.666667。
# %.2f 保留2位小数
print('我的总成绩是%d,平均成绩为%.2f。' % (c1 + c2 + c3, (c1 + c2 + c3) / 3))  # 我的总成绩是236,平均成绩为78.67。
c4 = 12
c5 = 9
c6 = 18print('我的总成绩是%d,平均成绩为%.2f。' % (c4 + c5 + c6, (c4 + c5 + c6) / 3))  # 我的总成绩是39,平均成绩为13.00。
# %3d 代表保留3位正数,不够前面用空格补齐
print('我的总成绩是%3d,平均成绩为%.2f。' % (c4 + c5 + c6, (c4 + c5 + c6) / 3))  # 我的总成绩是 39,平均成绩为13.00。
# %03d 代表保留3位正数,不够前面用0补齐
print('我的总成绩是%03d,平均成绩为%.2f。' % (c4 + c5 + c6, (c4 + c5 + c6) / 3))  # 我的总成绩是039,平均成绩为13.00。

2. f-字符串

print(f'...{变量}...')

# f{'字符串'}
print(f'我的名字是{my_name},今年{my_age}岁')  # 我的名字是Qingxue,今年25岁

3. 结束符

end 作为 print 函数的第2个参数,可以使用 end 指定的字符串替换 print 输出结尾的换行符。

print('abc')
print('def')
'''
abc
def
'''# end 符
print('abc', end='')
print('def')
'''
abcdef
'''

七、常用的数据类型转换函数

转换数据类型常用的函数:

  • int()
  • float()
  • str()
  • list()
  • tuple()
  • eval()

1. 字符串转整数

使用 int 函数可以将数字字符串转为整数。

# 字符串转整数
a = '1234'
b = int(a)print(a, type(a))  # 1234 <class 'str'>
print(b, type(b))  # 1234 <class 'int'># b = int('1234abcd')  # ValueError: invalid literal for int() with base 10: '1234abcd'

2. 字符串转浮点数

使用 float 函数可以将数字字符串转为浮点数。

# 字符串转浮点数
d = float('1.23')
print(d)  # 1.23
# d = float('1.23abc')  # alueError: could not convert string to float: '1.23abc'

3. 执行表达式——eval 函数

eval 函数可以执行表达式字符串。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/1359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux的启动过程,了解一下?

Linux 系统启动过程 linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂&#xff0c;其过程可以分为5个阶段&#xff1a; 内核的引导。运行 init。系统初始化。建立终端 。用户登录系统。 init程序的类型&#xff1a; SysV: init, CentO…

linux——yum工具详解

yum是linux中自动解决软件包依赖关系的管理器 同时&#xff0c;yum也是一个rpm软件 这里使用yum install nginx安装nginx

CommunityToolkit.Mvvm笔记---ObservableValidator

ObservableValidator 是实现 INotifyDataErrorInfo 接口的基类&#xff0c;它支持验证向其他应用程序模块公开的属性。 它也继承自 ObservableObject&#xff0c;因此它还可实现 INotifyPropertyChanged 和 INotifyPropertyChanging。 它可用作需要支持属性更改通知和属性验证的…

Oracle解析exp、imp及常见的问题

前言 在工作中经常需要不同数据库的导入和导出。exp和imp可以实现数据的迁移。 exo会转储产生对应的二进制文件,里面包括数据的定义信息、数据内容等,即为dump文件。 下面是使用exp和imp的一些场景 exp和imp主要有4中模式: 1)数据库模式 数据库模式也就是我们说的全备…

k8s安装记录

k8s安装记录 如无特别说明&#xff0c;则该步操作指在所有的机器上执行&#xff01;&#xff01;&#xff01; 如无特别说明&#xff0c;则该步操作指在所有的机器上执行&#xff01;&#xff01;&#xff01; 如无特别说明&#xff0c;则该步操作指在所有的机器上执行&#…

CSS——前端笔记

CSS 1、选择器1.1、基础选择器1.2、复合选择器1.2.4、伪类选择器 1.3、属性选择器1.4、结构伪类选择器1.5、伪元素选择器 2、CSS的元素显示模式2.1、块元素2.2、行内元素2.3、行内块元素2.4、元素显示模式转换 3、字体属性3.1、font-family 字体3.2、font-size 字体大小3.3、fo…

Three.js加载glb / gltf模型,Vue加载glb / gltf模型(如何在vue中使用three.js,vue使用threejs加载glb模型)

简介&#xff1a;Three.js 是一个用于在 Web 上创建和显示 3D 图形的 JavaScript 库。它提供了丰富的功能和灵活的 API&#xff0c;使开发者可以轻松地在网页中创建各种 3D 场景、模型和动画效果。可以用来展示产品模型、建立交互式场景、游戏开发、数据可视化、教育和培训等等…

常用的数据结构及算法

一、数据结构 &#xff08;一&#xff09;线性结构&#xff1a;一对一。 1.可以使用数组、链表来表示。数组又分为静态数组和动态数组两种。链表常用的是单链表。 2.两种特殊的线性结构&#xff1a;队列和栈。其中队列是先进先出&#xff08;排队&#xff09;&#xff0c;栈…

SpringBoot3 集成Springdoc 实现Swagger3功能

说明&#xff1a; 只通过引用org.springdoc 的两个包就可以使用Swagger3 功能&#xff08;步骤1&#xff09;&#xff1b;如想更美观及实现动态认证的开启与关闭&#xff0c;及Swagger3登录认证等功能&#xff0c;需实现&#xff08;步骤1、2、3&#xff09;的配置; 1、 引包…

chrome浏览器查看css样式

样式的查看 1.匹配器为灰色文本&#xff1a; 表示非当前选择器 2.样式有划线标识&#xff1a;CSS属性无效或未知 / 属性值无效 / 被其他属性覆盖的属性 3.属性以浅色文本显示且有感叹号提示&#xff1a;属性虽然有效&#xff0c;但由于CSS逻辑而没有任何影响 转自&#xff1a;…

2024HW --->蓝队面试题

这段时间在写横向移动&#xff0c;搞得鸽了很久&#xff08;内网真的很玄学&#xff09; 还没写完。。。 但是这不是准备HW了吗。小编也来整理一下自己收集到的题目吧&#xff01;&#xff01;&#xff01; &#xff08;仅为个人见解&#xff0c;不代表最终答案&#xff09;&…

react中useState的值没有改变,而是旧的数值

问题背景 想实现点击按钮就改变数据的效果&#xff0c;但是在控制台的打印结果&#xff0c;总是上一次的修改情况&#xff0c;并不是最新的修改后的数据 代码&#xff1a; import { useState, useRef } from "react";// 实现sonA的数据传递给sonB const SonA () …

C语言联合体详解

下午好诶&#xff0c;今天小眼神给大家带来一篇C语言联合体详解的文章~ 目录 联合体 1. 联合体类型的声明 2. 联合体的特点 代码一&#xff1a; 代码二&#xff1a; 3. 相同成员的结构体和联合体对比 ​编辑4. 联合体大小的计算 5. 联合体的优点 联合体 1. 联合体…

第62天:服务攻防-框架安全CVE 复现SpringStrutsLaravelThinkPHP

目录 思维导图 常见语言开发框架&#xff1a; 案例一&#xff1a;PHP-开发框架安全-Thinkphp&Laravel Thinkphp3.2.x日志泄露 自动化脚本检测 如何getshell 手工注入 ​ThinkPHP5 5.0.23 手工注入 工具检测 laravel-cve_2021_3129 案例二&#xff1a;JAVAWEB-开…

pytorch与深度学习

ChatGPT PyTorch是一个由Facebook AI Research Team开发的开源深度学习库&#xff0c;它提供了一个灵活的环境和丰富的API&#xff0c;用于快速且方便地构建、训练和部署深度学习模型。PyTorch在科学界和工业界都收到了广泛的使用&#xff0c;其中包括了学术研究、小型项目和大…

Chrome修改主题颜色

注意&#xff1a;自定义Chrome按钮只在搜索引擎为Google的时候出现。

如何30天快速掌握键盘盲打

失业后在家备考公务员&#xff0c;发现了自己不正确的打字方式&#xff0c;决定每天抽出一点时间练习打字。在抖音上看到一些高手的飞速盲打键盘后&#xff0c;觉得使用正确的指法打字是很必要的。 练习打字&#xff0c;掌握正确的键盘指法十分关键。 练习打字的第一步是找到…

关于电商独立站搭建中电商API数据采集接口的应用

搭建供应链系统时&#xff0c;您可能需要与电商平台进行集成&#xff0c;以实现订单管理、库存同步、物流跟踪等功能。以下是一些常见的电商接口&#xff0c;可以帮助您构建供应链系统&#xff1a; 1. **淘宝开放平台接口**&#xff1a;淘宝开放平台提供了丰富的接口&#xff…

AI System AI系统对大模型的影响有多深?

AI System AI系统对大模型的影响有多深&#xff1f;要回答这个问题之前&#xff0c;不妨从下面这个问题开始入手思考。 大模型进入了爆发期后&#xff0c;在 LLM 进化树中&#xff0c;BERT&#xff08;Encoder-Only&#xff09;、T5&#xff08;Encoder-Decoder&#xff09;、…

社交创新的标杆:解读Facebook的社交模式

引言 在当今数字化时代&#xff0c;社交媒体已成为人们日常生活和沟通的重要工具。作为全球最大的社交媒体平台&#xff0c;Facebook不仅改变了我们的社交模式&#xff0c;而且对全球的社交文化、商业活动和公共事务产生了深远的影响。本文将深入探讨Facebook的社交模式&#…