Python学习——3 基础语法

一、编码

默认情况下,python 3文件以UTF-8编码,所有字符串都是unicode字符串。

二、标识符

规定:

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

但是,在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。(但还是不建议用中文作变量名)
举例子:
错误:试a、2test
正确:Test1、_abstract1

三、python保留字(关键字)

不能把这些关键字用来做任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:

import keyword

在这里插入图片描我‘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’

四、注释

1. 单行注释以#开头,实例如下:

# 第一个注释
print ("Hello, Python!") # 第二个注释

执行,输出结果如下:

Hello, Python!

2. 多行注释一般用’''和"“”,实例如下:

 
# 第一个注释
# 第二个注释
 
'''
第三注释
第四注释
'''
 
"""
第五注释
第六注释
"""
print ("Hello, Python!")

执行,输出结果如下:

Hello, Python!

五、行与缩进(python最具特色的地方)

  • python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
  • 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
  • 正确实例1如下:
if True:
    print ("True")
else:
    print ("False")

执行,输出如下

True

ps:第一行的if True,实际上是在明确地告诉Python:“总是执行if语句块中的代码,因为条件True总是为真。”这与你是否有输入数据无关。Python不会在没有输入数据时自动将某个条件视为True;这个行为完全取决于你如何在代码中编写条件表达式。

  • 错误实例2如下:
if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
  print ("False")   

执行,输出结果如下:
在这里插入图片描述
原因分析:由于代码最后一行的缩进与其他行的缩进都不一致,故报错。

六、多行语句

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

 total = item_one + \
        item_two + \
        item_three

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

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

七、数字类型

python中数字有四种类型:整数、布尔型、浮点数和复数。

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

八、字符串

  • Python 中单引号 ' 和双引号 " 使用完全相同。
  • 使用三引号('''""")可以指定一个多行字符串。
  • 转义符 \
  • 反斜杠可以用来转义,使用 r 可以让反斜杠不发生转义。 如 r"this is a line with \n" 则 \n
    会显示,并不是换行。
  • 按字面意义级联字符串,如 "this " "is " “string” 会被自动转换为 this is string。
  • 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
  • Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
  • Python 中的字符串不能改变。
  • Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
  • 字符串切片 str[start:end],其中 start(包含)是切片开始的索引,end(不包含)是切片结束的索引。
  • 字符串的切片可以加上步长参数 step,语法格式如下:str[start:end:step]
    实例如下:
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,表示原始字符串,不会发生转义

执行,输出结果如下:

123456789
12345678
1
345
3456789
24
123456789123456789
123456789你好
------------------------------
hello
runoob
hello\nrunoob
  • 里面的r指raw,即 raw string,会自动将反斜杠转义,例如:
print('\n')       # 输出空行
print(r'\n')      # 输出 \n

结果:
\n

九、空行

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

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

记住:空行也是程序代码的一部分。

十、等待用户输入

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

input("\n\n按下 enter 键后退出。")

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

十一、同一行显示多条语句

Python 可以在同一行中使用多条语句,语句之间使用分号 ; 分割,以下是一个简单的实例:

import sys; x = 'runoob'; sys.stdout.write(x + '\n')

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

runoob

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

>>> import sys; x = 'runoob'; sys.stdout.write(x + '\n')
runoob
7

此处的 7 表示字符数,runoob 有 6 个字符,\n 表示一个字符,加起来 7 个字符。
因本人IDLE有问题打不开,故另找时间测试是否有“7”

十二、多个语句构成代码组

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

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

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

如下实例:

if expression :   
    suite1  # 第一个代码块  
elif expression :   
    suite2  # 第二个代码块(如果elif存在)  
else :   
    suite3  # 第三个代码块

可以看到,上述代码有三个代码块,每个子句(如果存在,如if、elif、else等)都会引入一个新的代码块。

十三、print输出

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

 
x="a"
y="b"
# 换行输出
print( x )
print( y )
 
print('---------')
# 不换行输出
print( x, end=" " )
print( y, end=" " )
print()

执行,输出结果:

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

十四、import导入和from…import

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

  • import语句

当你使用 import 语句时,你需要通过模块名来访问模块中的属性(如函数、类、变量等)。例如,如果你想使用标准库中的 math 模块中的 sqrt 函数,你需要这样写:

import math  
result = math.sqrt(16)
  • from…import 语句:

使用 from…import 语句时,你可以直接从模块中导入所需的属性,并在当前命名空间中直接使用它们,而不需要通过模块名作为前缀。例如,如果你想直接使用 math 模块中的 sqrt 函数,你可以这样写:

from math import sqrt  
result = sqrt(16)
  • 灵活性

     import 语句:相对固定,总是通过模块名来访问。
     from...import 语句:更加灵活,可以导入单个属性,也可以导入多个属性(使用逗号分隔),甚至可以导入模块中的所有公开属性(使用 *),但大多数情况下,后者通常不推荐使用,因为它可能导致命名冲突和难以追踪的依赖关系。
    

本章节了解了poython的一些基础语法,在后面的章节我们再深入了解。

  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值