Python基础语法详解,零基础入门必须掌握的知识点

本文详细介绍了Python中的字符串转换、格式化、标识符规则、保留字符、模块结构、引号使用、注释、空行、用户输入、三元表达式、代码组织、import与from…import以及基本的调试技巧,包括print、assert和debugger的使用。
摘要由CSDN通过智能技术生成
文章目录
    • 一、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学习资源介绍

👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(学习教程文末领取哈)
在这里插入图片描述

👉Python必备开发工具👈
在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

👉100道Python练习题👈
检查学习结果。
在这里插入图片描述
👉面试刷题👈
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取。

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
python模块详解 各个模块的详解 核心模块 1.1. 介绍 1.2. _ _builtin_ _ 模块 1.3. exceptions 模块 1.4. os 模块 1.5. os.path 模块 1.6. stat 模块 1.7. string 模块 1.8. re 模块 1.9. math 模块 1.10. cmath 模块 1.11. operator 模块 1.12. copy 模块 1.13. sys 模块 1.14. atexit 模块 1.15. time 模块 1.16. types 模块 1.17. gc 模块 更多标准模块 2.1. 概览 2.2. fileinput 模块 2.3. shutil 模块 2.4. tempfile 模块 2.5. StringIO 模块 2.6. cStringIO 模块 2.7. mmap 模块 2.8. UserDict 模块 2.9. UserList 模块 2.10. UserString 模块 2.11. traceback 模块 2.12. errno 模块 2.13. getopt 模块 2.14. getpass 模块 2.15. glob 模块 2.16. fnmatch 模块 2.17. random 模块 2.18. whrandom 模块 2.19. md5 模块 2.20. sha 模块 2.21. crypt 模块 2.22. rotor 模块 2.23. zlib 模块 2.24. code 模块 线程和进程 3.1. 概览 3.2. threading 模块 3.3. Queue 模块 3.4. thread 模块 3.5. commands 模块 3.6. pipes 模块 3.7. popen2 模块 3.8. signal 模块 数据表示 4.1. 概览 4.2. array 模块 4.3. struct 模块 4.4. xdrlib 模块 4.5. marshal 模块 4.6. pickle 模块 4.7. cPickle 模块 4.8. copy_reg 模块 4.9. pprint 模块 4.10. repr 模块 4.11. base64 模块 4.12. binhex 模块 4.13. quopri 模块 4.14. uu 模块 4.15. binascii 模块 文件格式 5.1. 概览 5.2. xmllib 模块 5.3. xml.parsers.expat 模块 5.4. sgmllib 模块 5.5. htmllib 模块 5.6. htmlentitydefs 模块 5.7. formatter 模块 5.8. ConfigParser 模块 5.9. netrc 模块 5.10. shlex 模块 5.11. zipfile 模块 5.12. gzip 模块 邮件和新闻消息处理 6.1. 概览 6.2. rfc822 模块 6.3. mimetools 模块 6.4. MimeWriter 模块 6.5. mailbox 模块 6.6. mailcap 模块 6.7. mimetypes 模块 6.8. packmail 模块 6.9. mimify 模块 6.10. multifile 模块 网络协议 7.1. 概览 7.2. socket 模块 7.3. select 模块 7.4. asyncore 模块 7.5. asynchat 模块 7.6. urllib 模块 7.7. urlparse 模块 7.8. cookie 模块 7.9. robotparser 模块 7.10. ftplib 模块 7.11. gopherlib 模块 7.12. httplib 模块 7.13. poplib 模块 7.14. imaplib 模块 7.15. smtplib 模块 7.16. telnetlib 模块 7.17. nntplib 模块 7.18. SocketServer 模块 7.19. BaseHTTPServer 模块 7.20. SimpleHTTPServer 模块 7.21. CGIHTTPServer 模块 7.22. cgi 模块 7.23. webbrowser 模块 国际化 8.1. locale 模块 8.2. unicodedata 模块 8.3. ucnhash 模块 多媒体相关模块 9.1. 概览 9.2. imghdr 模块 9.3. sndhdr 模块 9.4. whatsound 模块 9.5. aifc 模块 9.6. sunau 模块 9.7. sunaudio 模块 9.8. wave 模块 9.9. audiodev 模块 9.10. winsound 模块 数据储存 10.1. 概览 10.2. anydbm 模块 10.3. whichdb 模块 10.4. shelve 模块 10.5. dbhash 模块 10.6. dbm 模块 10.7. dumbdbm 模块 10.8. gdbm 模块 工具和实用程序 11.1. dis 模块 11.2. pdb 模块 11.3. bdb 模块 11.4. profile 模块 11.5. pstats 模块 11.6. tabnanny 模块 其他模块 12.1. 概览 12.2. fcntl 模块 12.3. pwd 模块 12.4. grp 模块 12.5. nis 模块 12.6. curses 模块 12.7. termios 模块 12.8. tty 模块 12.9. resource 模块 12.10. syslog 模块 12.11. msvcrt 模块 12.12. nt 模块 12.13. _winreg 模块 12.14. posix 模块 执行支持模块 13.1. dospath 模块 13.2. macpath 模块 13.3. ntpath 模块 13.4. posixpath 模块 13.5. strop 模块 13.6. imp 模块 13.7. new 模块 13.8. pre 模块 13.9. sre 模块 13.10. py_compile 模块 13.11. compileall 模块 13.12. ihooks 模块 13.13. linecache 模块 13.14. macurl2path 模块 13.15. nturl2path 模块 13.16. tokenize 模块 13.17. keyword 模块 13.18. parser 模块 13.19. symbol 模块 13.20. token 模块 其他模块 14.1. 概览 14.2. pyclbr 模块 14.3. filecmp 模块 14.4. cmd 模块 14.5. rexec 模块 14.6. Bastion 模块 14.7. readline 模块 14.8. rlcompleter 模块 14.9. statvfs 模块 14.10. calendar 模块 14.11. sched 模块 14.12. statcache 模块 14.13. grep 模块 14.14. dircache 模块 14.15. dircmp 模块 14.16. cmp 模块 14.17. cmpcache 模块 14.18. util 模块 14.19. soundex 模块 14.20. timing 模块 14.21. posixfile 模块 14.22. bisect 模块 14.23. knee 模块 14.24. tzparse 模块 14.25. regex 模块 14.26. regsub 模块 14.27. reconvert 模块 14.28. regex_syntax 模块 14.29. find 模块

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值