首页 > 编程语言 >【Python篇】Python基础语法

【Python篇】Python基础语法

时间:2023-09-13 17:36:09浏览次数:46  
标签:输出 Python 基础 语法 字符串 str print import

【Python篇】Python基础语法

拖拖拖,能使工作便捷高效的为何要拒绝,作个记录---【蘇小沐】

1.实验环境

默认情况下,Python 3 源码文件以 <font color='red'>UTF-8</font> 编码,所有字符串都是 unicode 字符串。

指定源码文件其它编码:

# -*- coding: cp-1252 -*-
# 允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合语言为保加利亚语、白俄罗斯语、马其顿语、俄语、塞尔维亚语。
系统 版本
Windows 11 专业工作站版 22H2(22621.2134);
VS Code 1.81.0;
Python3 3.11.4;

1、标识符

  • <font color='red'>第一个字符必须是字母表中字母或下划线 _ </font>。
  • 标识符的其他的部分由字母、数字和下划线组成。
  • <font color='red'>标识符对大小写敏感</font>。

<font color='red'>在 Python 3 中,允许使用中文、非 ASCII 标识符作为变量名</font>。

2、Python保留字(关键字:不能用作任何标识符名称)

保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

3、注释

<font color='red'>单行注释以 # 开头</font>。

<font color='red'>多行注释可以用多个 # 号分别表示,或者使用 ''' 和 """成对包含表示</font>。

1)脚本首行【#!】的作用:指定解析器执行脚本(注意:必须指定在第1行才生效)

【#!只对/Linux/Unix 用户适用,Windows用户可无需添加此行,添加此行有助于脚本程序的可移植性】

<font color='red'>用法1【#!/usr/bin/python3(中间没有空格)】</font>:

#!/usr/bin/python3

<font color='red'>/usr/bin/python3是Linux/Unix 用户下的python3 解释器的默认安装路径,首行加上#!前缀,用来指定Linux/Unix 用户使用该路径下的解释器来执行本脚本</font>。不同系统下路径有区别。如果有别的解释python代码的解释器,也可以替换其所在的路径。

添加后,Linux/Unix 用户可以直接用 ./ 执行Python脚本,不然会出错,因为找不到Python解析器。

<font color='red'>用法2【推荐此写法】</font>:

#!/usr/bin/env python3

这种用法是为了防止Linux/Unix 操作系统用户没有将 python 装在默认的 /usr/bin 路径里。当系统看到这一行的时候,首先会到 env 设置里查找 python3 的安装路径,再调用对应路径下的解释器程序完成操作。(推荐此写法,可以增强代码的可移植性)

Windows解析器路径:

比如,在Windows下,使用微软应用商店安装的python3,默认解析器路径为:

C:/Users/[电脑用户名]/AppData/Local/Microsoft/WindowsApps/python3.11.exe

我们也可以使用VS Code执行程序来显示。

image-20230809203321148

#!/usr/bin/env python3
# 第1个注释
# 第2个注释

'''
第3个注释
第4个注释
'''
"""
第5个注释
第6个注释
"""
print ("蘇小沐, Python从入门到入土!")

4、行与缩进

python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {}

<font color='red'>缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。</font>

1)多行语句

Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句,例如:

total = item_one + \
        item_two + \
        item_three

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \,例如:

total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']

2)空行【属于程序代码的一部分】

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是 Python 语法的一部分。书写时不插入空行,Python 解释器运行也不会出错。<font color='red'>但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。</font>

3)等待用户输入【\n\n】

执行下面的程序在按回车键后就会等待用户输入:

#!/usr/bin/env python3  
input("\n\n按下 enter 键后退出。")

以上代码中 ,\n\n 在结果输出前会输出两个新的空行。一旦用户按下 enter 键时,程序将退出。

4)<font color='red'>同一行显示多条语句【;】</font>

<font color='red'>Python 可以在同一行中使用多条语句,语句之间使用英文分号;分割。</font>

#!/usr/bin/env python3  
import sys; x = 'runoob'; sys.stdout.write(x + '\n')

使用脚本执行以上代码,输出结果为:

runoob

image-20230809221735034

使用交互式命令行执行,输出结果为:

runoob
7

此处的 7 表示字符数,runoob 有 6 个字符,\n 表示一个字符,加起来 7 个字符。

>>>import sys; sys.stdout.write(" hi ")    # hi 前后各有 1 个空格

image-20230809222642146

5)多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。

像if、while、def和class这样的复合语句,<font color='red'>首行以关键字开始,以冒号( : )结束</font>,该行之后的一行或多行代码构成代码组。

我们将首行及后面的代码组称为一个子句(clause)。

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

5、数字(Number)类型

<font color='red'>python中数字有四种类型:整数、布尔型、浮点数和复数。</font>

数字类型 说明
int (整数) 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
bool (布尔) 如 True。
float (浮点数) 如 1.23、3E-2。
complex (复数) 如 1 + 2j、 1.1 + 2.2j。

6、字符串(String)

符号是英文符号。

字符串 说明
' 或 " <font color='red'>Python 中单引号 ' 和双引号 " 使用完全相同。</font>
''' 或 """ 使用三引号(''' 或 """)可以指定一个多行字符串。
\ 转义符,实现多行语句。
r r 指 raw,即 raw string。使用 r 可以让反斜杠不发生转义。 如 r"this is a line with \n"\n 会显示,并不是换行。
[], {}, 或 () 在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \。
  • 按字面意义级联字符串,如 "this " "is " "string" 会被自动转换为 this is string
  • 字符串可以用 + 运算符连接在一起,用 ***** 运算符重复。

1)索引方式【从0开始】

Python 中的字符串有两种索引方式,**<font color='red'>从左往右以 0 开始,从右往左以 -1 开始</font>**。

  • Python 中的字符串不能改变。
  • <font color='red'>Python 没有单独的字符类型,一个字符就是长度为 1 的字符串</font>。
  • 字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
word = '字符串'
sentence = "这是一个句子。"
paragraph = """这是一个段落,
可以由多行组成"""
#!/usr/bin/env python3
 
str='123456789'
 
print(str)                 # 输出字符串
print(str[0:-1])           # 输出第一个到倒数第二个的所有字符
print(str[0])              # 输出字符串第一个字符
print(str[2:5])            # 输出从第三个开始到第六个的字符(不包含)
print(str[2:])             # 输出从第三个开始后的所有字符
print(str[1:5:2])          # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
print(str * 2)             # 输出字符串两次
print(str + '你好')        # 连接字符串
print('------------------------------')
print('hello\nrunoob')     # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob')    # 在字符串前面添加一个 r,表示原始字符串,不会发生转义

结果

命令 备注 输出结果
print(str) # 输出字符串 123456789
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符 12345678
print(str[0]) # 输出字符串第一个字符 1
print(str[2:5]) # <font color='red'>输出从第三个开始到第五个的字符</font> 345
print(str[2:]) # 输出从第三个开始后的所有字符 3456789
print(str[1:5:2]) # <font color='red'>输出从第二个开始到第五个且每隔一个的字符(步长为2)</font> 24
print(str * 2) # 输出字符串两次 123456789123456789
print(str + '你好') # 连接字符串 123456789你好
print('------------------------------') # 输出字符------------------------------ ------------------------------
print('hello\nYYDS') # 使用反斜杠()+n转义特殊字符 hello<br />YYDS
print(r'hello\nYYDS') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义 hello\nYYDS

image-20230809220101958

7、print 输出

print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 **end=""**。

#!/usr/bin/env python3
 
x="a"
y="b"
# 换行输出
print( x )
print( y )
 
print('---------')
# 不换行输出
print( x, end=" " )
print( y, end=" " )
print()

执行结果:

a
b
---------
a b

image-20230810092914413

8、import 与 from...import

在 python 用 import 或者 from...import 来导入相应的模块。

语法格式 说明
import somemodule 将整个模块(somemodule)导入
from somemodule import somefunction 从某个模块中导入某个函数
from somemodule import firstfunc, secondfunc, thirdfunc 从某个模块中导入多个函数
from somemodule import 将某个模块中的全部函数导入

1)导入 sys 模块

import sys
print('================Python import mode==========================')
print ('命令行参数为:')
for i in sys.argv:
    print (i)
print ('\n python 路径为',sys.path)

2)导入 sys 模块的 argv,path 成员

from sys import argv,path  #  导入特定的成员
 
print('================python from import===================================')
print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.path

9、命令行参数

很多程序可以执行一些操作来查看一些基本信息,Python可以使用-h参数查看各参数帮助信息:

$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d     : debug output from parser (also PYTHONDEBUG=x)
-E     : ignore environment variables (such as PYTHONPATH)
-h     : print this help message and exit

[ etc. ]

总结

本文仅是跟着【菜鸟教程】网站学习做个记录,菜鸟教程记录的非常详细,自学/查资料非常推荐!

书写片面,纯粹做个记录,有错漏之处欢迎指正。

参考资料

Python3 基础语法 | 菜鸟教程 (runoob.com)

名称 时间
开始编辑日期 2023 年 08 月 09 日
最后编辑日期 2023 年 08 月 10 日

标签:输出,Python,基础,语法,字符串,str,print,import
From: https://blog.51cto.com/NDASH/7462621

相关文章

  • Java基础——==和equals的区别
     ==:既可以判断基本类型,又可以判断引用类型。==:如果判断基本类型,判断的是值是否相等。==:如果判断的是引用类型,判断的是地址是否相等,即判断是不是同一对象。equals:是object类中的方法,只能判断引用类型。默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等。(具体可查......
  • (转)对比学习:Golang VS Python3
    原文:https://juejin.cn/post/6844903843050815502Golang和Python都是目前在各自领域最流行的开发语言之一。Golang其高效而又友好的语法,赢得了很多后端开发人员的青睐,最适用于高并发网络编程的语言之一。Python不用说,TIOBE排行榜的前十常驻居民,现在已经稳定在前五了。在机器......
  • MOS管基础知识
    MOS管(三极管)——一些常用的硬件设计电路分析  0.概念PMOS和NMOS的源漏方位相反,NMOS的漏端drain在上面,PMOS的源端source在上面,之所以这么做是借助方位来表明电位的高低。NMOS的漏端drain和PMOS的源端source的电压都比栅端gate电压高,所以这么标注获得一个“visualaid”。电流......
  • python pandas 读取msql并转置数据表
    importrandom,string,json,pymysqlimportpandasaspdconnect=pymysql.connect(user='',password='h',db='g,host='r',port=3306,charset='ut......
  • 微信使用python定时主动群发消息
    目前市面上的微信营销软件,绝大部分是模拟登录或者进程hook外挂形式,属于违规使用微信的范畴,容易被微信官方封号。经过思考后,我觉得利用python自动化UI点击,鼠标键盘操作,是符合真人使用微信的习惯的,被封的风险最低。因为必须是UI自动化,所以我们使用windows系统,并且结合微信电脑版来实......
  • Python pandas 读取 excel文件
    参考:https://www.jb51.net/article/283627.htm#单纯导出一个数据集defexportData_pandas(excelFile='output.xlsx'):try:#data={'Name':['Alice','Bob','Charlie'],#'Age':[......
  • # Day 01计算机基础和环境搭建
    课程概要计算机基础编程本质Python的介绍Python环境的搭建计算机基础1.1基本概念计算机的组成计算机是由多个硬件组合而成,常见的硬件有CPU,硬盘,内存,网卡,显示器,机箱,电源...注意事项:机械将零件组合到一起,他们是无法进行协作的操作系统用于协调计算机的各个零件,让硬......
  • python学习笔记(持续更新)
    一、对列表的操作#建立一个列表list=[1,2,3,4]#打印列表print(list)#在列表尾部添加元素list.append(5)#在指定位置插入元素list.insert(0,0)#在0位置插入元素0#在尾部插入另一个列表List=[5,6,7]list.extend(List)#删除指定位置的元素list.remove(0)#移除指定......
  • 《精通Python设计模式》 PDF电子书 +源码
    第1章工厂模式第2章建造者模式第3章其他创建型模式第4章适配器模式第5章装饰器模式第6章桥接模式第7章外观模式第8章其他结构型模式第9章职责链模式第10章命令模式第11章观察者模式第12章状态模式第13章其他行为型模式第14......
  • Flask基础入门到精通之flask准备和路由
    一、前言Flask诞生于2010年,是Arminronacher(阿明·罗纳彻)用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架。Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。比如......