Python的基本语法详解

目录
  • 一、Python输出
    • 1、repr() 或 str() 转成字符串
    • 2、字符串填充空格进行格式化
    • 3、!a (使用 ascii()), !s (使用 str()) 和 !r (使用 repr()) 可以用于在格式化某个值之前对其进行转化
  • 二、Python标识符
  • 三、Python保留字符(关键字)
  • 四、Python模块写法
  • 五、Python引号
    • 1、多行字符串
    • 2、转义符 '\'
  • 六、Python注释
    • 1、单行注释#
    • 2、多行注释’’’
  • 七、Python空行
  • 八、Python用户输入
  • 九、Python一行多段代码
  • 十、多行语句
  • 十一、三元表达式
  • 十二、Python代码组
  • 十三、import 与 from...import
  • 十四、Python 调试方法
    • 1、print
    • 2、assert
    • 3、debugger

一、Python输出

print是python输出的关键字,默认是输出内容后换行。

如果不想换行,需要在变量末尾加上 end="" 。

a = 'hello'
b = 'world'
print(a)
print(b)
print(a, end=" " )
print(b, end=" " )
print(a, b)

输出信息:

C:\PycharmProjects\untitled\venv\Scripts\python.exe C:/PycharmProjects/untitled/test.py
hello
world
hello world

多个变量输出之间加上逗号(,),默认为空格分隔符,如:

print(x, y)
print(x, y, sep="-")

1、repr() 或 str() 转成字符串

如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。

  • str(): 函数返回一个用户易读的表达形式。
  • repr(): 产生一个解释器易读的表达形式。
s = 'Hello, Runoob'
print(s)
# Hello, Runoob

print(repr(s))
# 'Hello, Runoob'

#  repr() 函数可以转义字符串中的特殊字符
hello = 'hello, runoob\n'
hellos = repr(hello)
print(hellos)
# 'hello, runoob\n'

# repr() 的参数可以是 Python 的任何对象
print(repr((32.5, 40000, ('Google', 'Runoob'))))
# (32.5, 40000, ('Google', 'Runoob'))

2、字符串填充空格进行格式化

字符串对象的 rjust() 方法, 它可以将字符串靠右, 并在左边填充空格。

还有类似的方法, 如 ljust() 和 center()。 这些方法并不会写任何东西, 它们仅仅返回新的字符串。

另一个方法 zfill(), 它会在数字的左边填充 0。

有两种方式输出一个平方与立方的表:

for x in range(1, 11):
    print(repr(x).rjust(2), repr(x * x).rjust(3), end=' ') # 注意前一行 'end' 的使用
    print(repr(x * x * x).rjust(4))

#  1   1    1
#  2   4    8
#  3   9   27
#  4  16   64
#  5  25  125
#  6  36  216
#  7  49  343
#  8  64  512
#  9  81  729
# 10 100 1000

for x in range(1, 11):
    print('{0:2d} {1:3d} {2:4d}'.format(x, x * x, x * x * x))

#  1   1    1
#  2   4    8
#  3   9   27
#  4  16   64
#  5  25  125
#  6  36  216
#  7  49  343
#  8  64  512
#  9  81  729
# 10 100 1000

3、!a (使用 ascii()), !s (使用 str()) 和 !r (使用 repr()) 可以用于在格式化某个值之前对其进行转化

import math
print('使用 ascii(): {!a}'.format('哈哈啊W2'))
# 使用 ascii(): '\u54c8\u54c8\u554aW2'。

print('常量 PI 的值近似为: {!r}。'.format(math.pi))
# 常量 PI 的值近似为: 3.141592653589793。

二、Python标识符

在 Python 里,标识符可由字母、数字、下划线组合而成(但不能以数字开头),且标识符是区分字母大小写的,比如hello和Hello会被系统认为是两个标识符。

以下划线开头的标识符是有特殊意义的。

  • 单下划线开头,如 _abc, 代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用" from xxx import * "导入
  • 双下划线开头,如 __abc, 代表类的私有成员
  • 开头和结尾都有双下划线,如 __abc__ , 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数

三、Python保留字符(关键字)

所有”保留字符“,也就是已经被Python系统征用的标识符,俗称“key word(关键字)”,这些保留字符不能用作常量或变量,以及任何标识符名称。

以下是Python保留字符表:

  • and、exec、not、assert、finally、or、break、for、pass、class、from、print、continue、global、raise、def、
  • if、return、del、import、try、elif、in、while、else、is、with、except、lambda、yield

四、Python模块写法

与其他语言最大的不同在于,Python不使用大括号( { } )来描述类、函数以及其他逻辑判断,而是采用缩进的方式来写模块。

而缩进的空白数量是可变的,如果你想确保代码块能正确运行,那必须确保代码块中的语句都是一样的缩进数量。举例:

if True:
   print ("True")   #此处缩进了2个空白数
else:
   print ("False")  #此处缩进了2个空白数

如果是下面的写法,则会报错,因为最后的print只缩进了2个空白数,没有与代码块中的对齐:

if True:
     print ("Answer")
     print ("True")
else:
     print ("Answer")
     # 没有严格缩进,在执行时会报错
   print ("False")

报错信息:

File "D:/PythonProject/hello.py", line 7 
print ("False") 

IndentationError: unindent does not match any outer indentation level

因此,建议你使用 单个制表符 或 两个空格 或 四个空格 来对代码进行缩进,切勿混用。

五、Python引号

python中单引号和双引号使用完全相同。

python支持用单引号(' ')、双引号( " " )、三个双引号( """ """ )或三个单引号( ''' ''' ),都可以表示字符串,引号的开始与结束必须相同类型和数量。

1、多行字符串

注意:使用三引号('''或""")可以指定一个多行字符串。可以由多行组成,为编写多行文本的快捷语法,常用于文档字符串。

在文件的特定地点,被当做注释。(见注释讲解)

a = """这是一个三引号。
包含了三个双引号。"""
print(a)

输出结果:

D:/PythonProject/hello.py 
这是一个三引号。 
包含了三个双引号。

2、转义符 '\'

反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示,并不是换行。这里的 r 指 raw,即 raw string

六、Python注释

注释是指用来在代码中进行标注的信息,是不会被系统处理或显示的。Python的注释有2种方式:

1、单行注释#

在一段代码或描述前加上井号(#) ,如:

a = 1+1 #我是一段注释
print(a)

输出结果:

D:/PythonProject/hello.py 
2

2、多行注释’’’

用三引号(""" """)或(''' ''')来对多行代码或描述进行注释,如:

a = 1+1
'''我是多行注释
这是第二行
这是第三行'''
print(a)

输出结果:

D:/PythonProject/hello.py 
2

七、Python空行

与其他语言不同的还有,python采用空一行的方式,来表示多个函数、多个方法、或类和函数的入口。

空行的作用在于区分两段不同功能或定义的代码,便于日后代码的维护。

因此:空行也是程序代码的一部分。

八、Python用户输入

下面的代码执行后就会等待用户输入,如按回车键后,执行就会结束:

input
("按下 enter 键退出,其他任意键显示...\n")

九、Python一行多段代码

如果想在同一行中编写多段代码,可以使用分号(;)来表示,如下:

x = 'abc'; print(x)

输出结果:

D:/PythonProject/hello.py 
abc

Python可以用分号“;”在同一行编写多条语句,执行后会当作多行输出,如:

>>> print ('hello');

print ('world');
hello
runoob

十、多行语句

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

total = item_one + \
        item_two + \
        item_three

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

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

十一、三元表达式

语法:条件成立时的返回值 if 条件 else 条件不成立时的返回值

x = 10
y = 20

print(x if x > y else y)  # 20

十二、Python代码组

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

像if、while、def等这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组,如:

if a:
    xxxxx
elif b:
    xxxxx
else :
    xxxxx

十三、import 与 from...import

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

  • 将整个模块(somemodule)导入,格式为: import somemodule
  • 从某个模块中导入某个函数,格式为: from somemodule import somefunction
  • 从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
  • 将某个模块中的全部函数导入,格式为: from somemodule import *

导入 sys 模块:

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

导入 sys 模块的 argv,path 成员:

from sys import argv,path  #  导入特定的成员

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

十四、Python 调试方法

1、print

print('here')
# 可以发现某段逻辑是否执行
# 打印出变量的内容

2、assert

assert false, 'blabla'
# 如果条件不成立,则打印出 'blabla' 并抛出AssertionError异常

3、debugger

可以通过 pdb、IDE 等工具进行调试。

调试的具体方法这里不展开。

Python 中有两个内置方法在这里也很有帮助:

  • locals: 执行 locals() 之后, 返回一个字典, 包含(current scope)当前范围下的局部变量。
  • globals: 执行 globals() 之后, 返回一个字典, 包含(current scope)当前范围下的全局变量。

到此这篇关于Python基本语法的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python基本语法练习实例

    1.打印九九乘法表 #只打印结果 for i in range(1,10): for j in range(1,i+1): print(i*j,end=" ") print() #打印算数表达式 for i in range(1,10): for j in range(1,i+1): print("{0}*{1} = {2:2}".format(j,i,i*j),end=" ") print() 1*1 = 1 1*2 = 2 2*2 = 4 1

  • Python基本语法之运算符功能与用法详解

    本文实例讲述了Python基本语法之运算符功能与用法.分享给大家供大家参考,具体如下: 前言 在前面的博文介绍了Python的数据结构之后,接下来结合Python操作符来对Python程序中的数据进行处理.操作符/运算符的使用,可简洁地表示内建类型的对象处理.主要是对程序中的数据进行逻辑操作.算术操作.比较操作等动作行为,本质是将在程序中会非常常用的程序操作封装成成类或函数后,再以字符的形式调用,使执行程序语言更加简洁和符合国际化. 软件环境 操作系统 UbuntuKylin 14.04 软件

  • Python基本语法经典教程

    本文讲述了Python基本语法.分享给大家供大家参考,具体如下: 概述: 这里主要讲述以下内容: ① 缩进 ② 流程控制语句 ③ 表达式 ④ 函数 ⑤ 对象的方法 ⑥ 类型 ⑦ 数学运算 1. 缩进 Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯.并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字.增加缩进表示语句块的开始,而减少缩进则表示语句块的退出.缩进成为了语法的一部分.例如if语句: if

  • Python 详解基本语法_函数_返回值

    Python 详解基本语法 概要: 函数的返回值是函数重要的组成部分.函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返回给程序再由程序作出进一步的操作.可以说是函数的返回值令函数与函数之间,函数与主程序之间更加紧密的联系起来. 函数的返回值 在Python的函数中都有一个返回值,默认为None.也可以使用return value语句来定义一个且只能定义一个可为任意类型的返回值.但是我们能够返回一个序列类型的对象,来实现返回多个值的效果. Example: 返回一个Lis

  • 计算机二级python学习教程(2) python语言基本语法元素

    上一篇:计算机二级Python学习笔记(一) 其实昨天Python并没有安装成功,打开就报错: 于是今天先解决这个问题,搜了一下api-ms-win-crt-process- 1-1-0.dll丢失,感谢这位老铁的博客解决了我的问题[api-ms-win-crt-process-l1-1-0.dll 丢失的处理,个人觉得完美],分享给大家,如果因为系统丢失dll文件报错可以借鉴一下. 完美运行,继续学习. 第2章 Python语言基本语法元素 2.1 程序的格式框架 缩进:Tab键或4个空格(建

  • Python程序设计入门(1)基本语法简介

    Python是当今日趋流行的一种脚本语言,它比Java更简单,比php更强大,并且还适用于做桌面应用的开发,在ubuntu中,更加是必须的一种脚本引擎,所以有必要去学习一下,这里的文章只针对有一定编程基础,最好是比较熟悉php或javascript的用户,如果没任何基础的新手建议找更详细的教程去学习. Python的变量是不需要定义的,这方面和php一样,它比javascript还是宽松,不过它是用缩进作为段落标识的,作为习惯了C语言风格语法的人,可能一开始会很不习惯使用,但细一想,其实也是很正

  • Python的基本语法详解

    目录 一.Python输出 1.repr() 或 str() 转成字符串 2.字符串填充空格进行格式化 3.!a (使用 ascii()), !s (使用 str()) 和 !r (使用 repr()) 可以用于在格式化某个值之前对其进行转化 二.Python标识符 三.Python保留字符(关键字) 四.Python模块写法 五.Python引号 1.多行字符串 2.转义符 '\' 六.Python注释 1.单行注释# 2.多行注释’’’ 七.Python空行 八.Python用户输入 九.P

  • 对Python 3.5拼接列表的新语法详解

    在Python 3.5之前的版本,拼接列表可以有这两种方法: 1.列表相加 list1 = [1,2,3] list2 = [4,5,6] result = list1 + list2 结果为一个新的列表 2.在原来列表上扩展 list1 = [1,2,3] list2 = [4,5,6] list1.extend(list2) list1扩展后,结果为[1,2,3,4,5,6] 3.新语法 如果列表是由range()生成: list1 = [1,2,3] list2 = range(4,6)

  • Python入门之基础语法详解

    一.我的经历及目标 在学习python之前:我学习过C/C++,在学校期间做过很多的项目,已经有两年多了,算是对C/C++非常的熟悉了,精通不敢说,但是对于面向过程和面向对象有很深刻的认识,做过很多的开发,学习数据库,MFC, QT, linux下利用C/C++进行服务器的开发,QT环境下进行模拟QQ的开发- 听说python挺火的,我也来尝试一门新的语言,python和c有80%的相似性,毕竟是用C来开发的语言,但是是面向过程的一门语言,有C++的继承等相似的特性,感觉更有信心学会它了,毕竟可

  • Python语法详解之decorator装饰器

    python 是一门优雅的语言,有些使用方法就像魔法一样.装饰器(decorator)就是一种化腐朽性为神奇的技巧.最近一直都在使用 Tornado 框架,一直还是念念不忘 Flask .Flask 是我最喜欢的 Python 框架,最早被它吸引也是源自它使用装饰器这个语法糖(Syntactic sugar)来做 Router,让代码看上去就感觉甜甜的. Tornado 中的 Router 略显平淡,怀念 Flask 的味道,于是很好奇的想知道 Flask 是如何使用这个魔法.通过阅读 Flas

  • Python学习之12个常用基础语法详解

    目录 前言 1.多个字符串组合为一个字符串 2.字符串拆分为子字符串列表 3.统计列表中元素的次数 4.使用try-except-else-block模块 5.使用枚举函数得到key/value对 6.检查对象的内存使用情况 7.合并字典 8.计算执行一段代码所花费的时间 9.列表展开 10.列表采样 11.数字化 12.检查列表元素的唯一性 前言 前几天写了一篇关于python高级语法的文章:python进阶从青铜到王者一定会用上的Python技巧. 有读者私信说:怎么看自己是不是入门pyth

  • python中的map函数语法详解

    目录 1map()函数的简介以及语法: 2map()函数实例: 1 map()函数的简介以及语法: map是python内置函数,会根据提供的函数对指定的序列做映射. map()函数的格式是: map(function,iterable,...) 第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合. 把函数依次作用在list中的每一个元素上,得到一个新的list并返回.注意,map不改变原list,而是返回一个新list. 2 map()函数实例: del squa

  • MySQL数据库设计之利用Python操作Schema方法详解

    弓在箭要射出之前,低声对箭说道,"你的自由是我的".Schema如箭,弓似Python,选择Python,是Schema最大的自由.而自由应是一个能使自己变得更好的机会. Schema是什么? 不管我们做什么应用,只要和用户输入打交道,就有一个原则--永远不要相信用户的输入数据.意味着我们要对用户输入进行严格的验证,web开发时一般输入数据都以JSON形式发送到后端API,API要对输入数据做验证.一般我都是加很多判断,各种if,导致代码很丑陋,能不能有一种方式比较优雅的验证用户数据呢

  • Python缩进和冒号详解

    对于Python而言代码缩进是一种语法,Python没有像其他语言一样采用{}或者begin...end分隔代码块,而是采用代码缩进和冒号来区分代码之间的层次. 缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行. 例如: if True: print("Hello girl!") #缩进一个tab的占位 else: #与if对齐 print("Hello boy!") #缩进一个tab的占位 Python对代码的缩进要求非常严格

  • Python在信息学竞赛中的运用及Python的基本用法(详解)

    前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在<算法竞赛入门经典-训练指南>中所说的一样,如果会用Python,在进行一些小程序的编写,如数据生成器时将会非常方便,它的语法决定了其简约性.本文主要介绍一下简单的Python用法,不会深入. Python的安装和实用 Linux(以Ubuntu系统为例) 一般的Linux都自带了Python,在命令行中输入Python即可进入 如果没有出现上图的文字,可以使

  • Python实现调度算法代码详解

    调度算法 操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源.这就是调度.目的是控制资源使用者的数量,选取资源使用者许可占用资源或占用资源. 在操作系统中调度是指一种资源分配,因而调度算法是指:根据系统的资源分配策略所规定的资源分配算法.对于不同的的系统和系统目标,通常采用不同的调度算法,例如,在批处理系统中,为了照顾为数众多的段作业,应采用短作业优先的调度算法:又如在分时系统中,为了保证系统具有合理

随机推荐