当前位置: 首页 > news >正文

暑假Python基础整理 -- Python语言基础

Python语法特点


单行注释:# 注释内容
多行注释:‘’’ 注释内容 ‘’’ 或 “”" 注释内容 “”"

使用三引号作为注释时,三引号必须成对出现,否则将出现下面报错:
SyntaxError: unterminated triple-quoted string literal

Python是通过缩进半角冒号区分代码之间的层次,编码时建议严格遵循PEP8编码规范,增加代码的可读性。

同级代码的缩进量必须相同,否则将会抛出SyntaxError异常

我了解了一些命名规范:

  • 函数、类属性及方法、模块名:全小写且尽量短小,可使用下划线
  • 包名:全小写且尽量短小,避免使用下划线
  • 类名:采用单词首字母大写的风格
  • 模块内部的类名:采用下划线+首字母大写的类名
  • 使用双下划线开头的实例变量或方法是类私有

Python中的变量


保留字:被Python赋予特定意义的单词,这些单词不能充当标识符。可使用下面语句查询保留字的内容:

import keyword
print(keyword.kwlist)

标识符:标识变量、函数、类、模块和其他对象的名称,其命名规则如下:

  1. 由字母、数字、下划线组成
  2. 不能以数字开头
  3. 区分大小写

Python是一种动态类型的语言,变量的类型可以随时变化。为变量赋值可以通过=实现,例如:my_name = "WuChen" ;若要同时输出多份内容,则可以在相邻两内容用,间隔,例如:print(value1,value2,value3,...);在python中可以使用内置函数type(被查找类型的数据)返回变量类型;可以使用内置函数id(被查找地址的值名称)返回变量所指的内存地址

name = "Liu"
ID = 2048
print(type(name),type(ID))            # <class 'str'> <class 'int'>num1 = num2 = 1024
print(id(num1),id(num2))     # 输出内容为:2536300786608 2536300786608

基本数据类型


python中的变量无类型,但变量所存储的数据具有类型

数字型

整数组成开头示例
二进制0或10b / 0B0b1010011
八进制0~70o / 0O-0o123
十进制0~983
十六进制09和AF0x / 0X0x53

不能以“0”作为十进制数的开头(0除外)

浮点数由整数部分和小数部分组成,也可以使用科学计数法表示。在使用浮点数进行计算时,有一个特例体现了小数位数不确定的情况,特例代码如下:

result = 0.1 + 0.2
print(result)   # 输出结果为0.30000000000000004

字符串型

通常使用单引号' '、双引号" "或者三引号""" """''' '''括起来,其中单引号和双引号的字符序列必须在一行上。需要表示复杂的字符串时,还可以进行引号嵌套,但是,字符串开始和结尾使用的引号形式必须一致

# 使用单引号和双引号字符序列都必须在同一行
title = '我的座右铭'
label = "努力学习,顶峰相见"
# 三引号字符串序列何以分布在多行上
entry = """书山有路勤为径,
学海无涯苦作舟"""
print(title,'\n',label,'\n',entry)

str()函数用于将数值转换为字符串。

在字符串定界符的前面加上字母r或者R,那么该字符串将原样输出,其中的转义字符将不再进行转义输出,例如:print(r"失望之酒\n机会之杯")将直接输出“失望之酒\n机会之杯”。

布尔类型

用来表示真或假的值,所有的Python对象都可以进行真值测试。True 为 1,False 为 0
其中下面的4种情况为假:

  • False或None
  • 数值中的零,包括0、0.0、虚数0
  • 空序列,包括字符串、空元组、空列表、空字典
  • 自定义对象的实例,该对象的__bool__方法返回False,或者__len__方法返回0

数据类型转换

函数作用
int(x)将x转换成整数类型
float(x)将x转换成浮点数类型
complex(real[,imag])创建一个复数
str(x)将x转换为字符串
repr(x)将x转换为表达式字符串
eval(str)计算在字符串中的有效Python表达式,并返回一个对象
chr(x)将整数x转换为一个字符
ord(x)将一个字符x转换为它对应的整数值
hex(x)将一个整数x转换为一个十六进制的字符串
oct(x)将一个整数x转换为一个八进制的字符串
bin(x)将一个整数x转换为一个二进制的字符串

基本输入和输出


Python中可以通过内置函数input()可以接收用户通过键盘输入的内容,基本用法如下:

entry = input()
value = int(input())  # 若想要接收整型,则需要对其进行整型转换

默认情况下,使用内置函数print()可以将结果输出在标准控制台上,语法为:print(输出内容);输出内容可以是数字和字符串,这类内容将直接输出,也可以是包含运算符的表达式,此类内容将计算结果输出。

name = "张三"
print("我的名字是" + name)
'''print("变量1" if 条件 else "变量2") '''
print(a if a>b else b)  # 条件为真返回a,否则返回b

Python中每一条print()语句输出后都会自动进行换行,若不想让其换行,可以使用end=''来指定结束符,例如:print("Hello World",end=" ") 表示输出Hello World并且以空格作为结束符。

在输出时,还可以把结果输出到指定文件中。例如:

# 将“Hello World”输出到指定的文件“D://Myfile/txt/demo.txt”中
fp = open("D://Myfile/txt/demo.txt","a+")      # 打开文件
print("Hello World",file = fp)                 # 输出到文件
fp.close()                                     # 关闭文件

pprint()格式化输出函数

pprint模块提供的pprint()函数,该函数全称 data pretty printer ,可以将输出的结果变得更加美观。

# 使用pprint()函数输出数据时,需要先导入pprint模块中的pprint()函数
from pprint import pprintdic = {
"张三":{"age":"18","sex":"boy","address":"TianJin"},
"李四":{"age":"19","sex":"girl","address":"BeiJing"},
"王五":{"age":"20","sex":"boy","address":"HeNan"}
}

以上我定义了一个嵌套类型的字典,接下来我分别使用不同的方式进行输出,看看他们的效果:

print(dic)  # 默认输出
"""
{'张三': {'age': '18', 'sex': 'boy', 'address': 'TianJin'}, '李四': {'age': '19', 'sex': 'girl', 'address': 'BeiJing'}, '王五': {'age': '20', 'sex': 'boy', 'address': 'HeNan'}}
"""
pprint(dic)  # 默认结构化输出
"""
{'张三': {'address': 'TianJin', 'age': '18', 'sex': 'boy'},'李四': {'address': 'BeiJing', 'age': '19', 'sex': 'girl'},'王五': {'address': 'HeNan', 'age': '20', 'sex': 'boy'}}
"""
pprint(dic, width = 40)  # 在结构化输出的同时设置输出时每行的最大字符数
"""
{'张三': {'address': 'TianJin','age': '18','sex': 'boy'},'李四': {'address': 'BeiJing','age': '19','sex': 'girl'},'王五': {'address': 'HeNan','age': '20','sex': 'boy'}}
"""

关于更多访问文章地址:暑假Python基础整理 – Python语言基础

http://www.lryc.cn/news/582060.html

相关文章:

  • 初识Neo4j之Cypher(三)
  • 企业级视频链接的技术实现与安全性策略
  • [免费]基于Python豆瓣电影数据分析及可视化系统(Flask+echarts+pandas)【论文+源码+SQL脚本】
  • 部署NextCloud AIO + Frp + nginx-proxy-manager内网穿透私有云服务
  • 微算法科技(NASDAQ: MLGO)探索Grover量子搜索算法,利用量子叠加和干涉原理,实现在无序数据库中快速定位目标信息的效果。
  • web网页开发,在线%ctf管理%系统,基于html,css,webform,asp.net mvc, sqlserver, mysql
  • 前端篇——HTML知识点体系
  • 报错 400 和405解决方案
  • 回溯题解——电话号码的字母组合【LeetCode】
  • Word 怎么让段落对齐,行与行之间宽一点?
  • VBA之Word应用第三章第十一节:Document对象的事件
  • GIC控制器(二)
  • iOS App抓包工具排查后台唤醒引发请求异常
  • ShortGPT: Layers in Large Language Models are More Redundant Than You Expect
  • DPDK 网络驱动 之 UIO
  • Linux之Shell脚本--遍历数组
  • PostgreSQL中的HASH分区:原理、实现与最佳实践
  • 多模态数据集转换与MMIB模型应用:从图像到文本的跨模态分析
  • AI PPT探秘
  • Microsoft Visual Studio离线安装(以2022/2019为例)
  • 钉钉企业机器人开发技巧:实现单聊消息发送、状态查询与撤回
  • 如何解决微信小程序出现两个下拉刷新样式?
  • 生成 `compile_commands.json`
  • RESTful风格
  • Java学习——MP3SPI介绍
  • 【BTC】比特币系统的具体实现
  • 【机器学习实战】线性回归分析
  • 【redis相关】
  • QML中的Item
  • TCP 事务全面研究:从原理到优化与故障排除