第二章

  • 2 Python的语言基础
  • 2.1 Python的注释
  • 2.2 代码缩进
  • 2.3 编码规范
  • 2.3.1 编写规则
  • 2.3.2 命名规范
  • 2.4 保留字和标识符
  • 2.4.1 保留字
  • 2.4.2 标识符
  • 2.5 变量
  • 2.6 基本数据类型
  • 2.6.1 数字类型
  • 2.6.2 字符串类型
  • 2.6.3 布尔类型
  • 2.6.4 数据类型转换


2 Python的语言基础

2.1 Python的注释

(1)单行注释
在Python中。使用“#”作为单行注释的符号,类似C语言中的“//”。可以使用在一行的首位,或者一行代码后。

# 这是一行注释
a = 5 # 这是一段注释

Tips:在IDLE开发环境中可以使用Alt+3快速注释代码,Alt+4取消注释代码

(2)多行注释
使用三引号

'''
注释
注释
'''

或者

"""
注释
注释
"""

(3)中文编码声明注释
语法格式如下:

# -*- coding:编码 -*-

或者

# coding=编码

# -*- coding:utf-8 -*-
# coding=utf-8

2.2 代码缩进

Python不像其他程序语言采用大括号“{}” 来分割代码块,而是采用代码缩进和冒号“:”区分代码之间的层次。
说明:缩进可以使用空格或者Tab键来实现,其中,使用空格时,通常情况下采用4个空格作为一个缩进量,而使用Tab时,则采用一个Tab键作为一个缩进量,通常情况下建议使用空格进行缩进。
在Python中,对于类,函数的定义,流程控制语句等行位的冒号和下一行的缩进表示一个代码块的开始,而缩进结束表示一个代码块的结束。

#例子
height = float(input("请输入你的身高 (m):"))
weight = float(input("请输入你的体重(kg):"))
bmi = weight/(height*height)

#判断身材是否合理
if bmi < 18.5:
    print("你的BMI指数为:"+str(bmi))
    print("体重过轻")
if bmi >= 18.5 and bmi < 24.9:
    print("你的BMI指数为:"+str(bmi))
    print("正常范围,注意保持")
if bmi >= 24.9 and bmi < 29.9:
    print("你的BMI指数为:"+str(bmi))
    print("体重过重")
if bmi >= 29.9:
    print("你的BMI指数为:"+str(bmi))
    print("肥胖- -")

代码的缩进空格数不同可能会报错

可以使用快捷键Ctrl+[和Ctrl+]对代码进行缩进

2.3 编码规范

2.3.1 编写规则

Python采用PEP 8作为编码规范,其中PEP是Python Enhancement Proposal(Python增强建议书)的缩写,而8标识版本号,下面给出PEP 8编码规范中的一些应该严格遵守的条目。

  • 每个import语句只导入一个模块,尽量避免一次导入多个模块,如:
import os
    Import sys
#不推荐,下面这种写法
    import os,sys
  • 不要再行尾添加分号 ”;” ,也不要用分号将两条命令放在同一行。
  • 建议每行不超过80个字符,如果超过,建议使用小括号将多行内容隐式连接起来,而不推荐使用反斜杠“\”进行连接,如:
String = (“假如写不下了”
“另起一行接着写- -...”)

以下两种情况除外:
1)导入模块的语句过长
2)注释里的URL

  • 使用必要的空行可以增加代码的可读性。
  • 通常情况下,运算符两侧,函数参数之间,“,”两侧建议使用空格进行分隔。
  • 避免在循环中使用“+”,“+=”运算符累加字符串,因为字符串是不可变的,这样做会创建不必要的临时对象,推荐每个子字符串加入列表,然后再循环结束后使用join()方法连接列表。
  • 适当使用异常处理结构提高程序容错性,但不能多依赖异常处理结构,适当的显式判断还是必要的。

2.3.2 命名规范

建议的命名规范:

  • 类名尽量短小,并且全部使用小写字母,可以使用下划线分隔多个字母,例如,game_main。
  • 包名尽量短小,并且全部使用小写字母,不推荐使用下划线,例如com.wx。
  • 类名采用单词首字母大写形式(即Pascal风格),例如,定义一个借书类,可以命名BorrowBook。
  • 模块内部的类采用下划线“_”+Pascal风格的类名组成,例如,在BorrowBook类中的内部类,可以使用_BorrowBook命名。
  • 函数,类的属性和方法的命名规则同模块类似,也会全部使用小写字母,多个字母间用下划线分隔。
  • 常量命名时全部使用大写字母,可以使用下划线。
  • 使用单下划线开头的模块变量或者函数是受保护的,在使用from xxx import *语句从模块中导入时这些变量或者函数不能被导入。
  • 使用双下划线开头的实例变量或方法是类似有的。

2.4 保留字和标识符

2.4.1 保留字

保留字是Python中一些已经被赋予特定意义的单词,开发程序时,不看见恶意吧这些保留字作为变量、函数、类、模块和其他对象的名称来使用,Python语言中的保留字如表所示

·

·

·

·

·

·

and

as

assert

break

class

continue

def

del

elif

else

except

finally

for

from

false

global

if

import

in

is

llambda

nonlocal

not

none

or

pass

raise

return

try

true

while

with

yield

注意:Python中的所有保留字是区分字母大小写的,例如,if是保留字,但是IF就不属于保留字。

  • Python的保留字可以在IDLE中输入以下两行代码查看
import keyword
keyword.kwlist

2.4.2 标识符

标识符可以简单地理解为一个名字,比如每个人都有自己的名字,它主要用来标识变量,函数,类,模块和其他对象的名称。
Python的命名规则如下:
由字母,下划线和数字组成,第一个字符不能使数字,目前Python只允许使用ISO-Latin字符集中的字符A-Z和a-z。

  • 在Python中,标识符中的字母是严格区分大小写的。
  • Python中以下划线开头的标识符有特殊意义,一般应避免使用相似的标识符。


以单下划线开头的标识符如(_width)表示不能直接访问的类属性,也不能通过”from xxx import *”导入。
以双下划线开头的标识符如(__add)表示类的私有成员。
以双下划线开头和结尾的是Python里专用的标识,如__init__()表示构造函数。

  • 在Python中允许使用汉字作为标识符,但是尽量不要使用汉字作为标识符,如
天气 = “多云”

2.5 变量

在Python中不需要先声明变量名及其类型,直接赋值即可创建各种类型的变量。但是变量的命名不是任意的,应遵循以下几条规则:

  1. 变量名必须是一个有效的标识符
  2. 变量名不能使用Python中的保留字
  3. 慎用小写字母i和大写字母o
  4. 应选择有意义的单词作为变量名

语法格式为 变量名 = value
Python是一种动态类型的语言,变量的类型可以随时变化。

>>> test = 123
>>> print(type(test))
<class 'int'>

>>> test = "string"
>>> print(type(test))
<class 'str'>

2.6 基本数据类型

2.6.1 数字类型

(1)整数
在Python中包括正整数,负整数和0,并且它的位数是任意的(当超过计算机自身的计算功能时,会自动转用高精度计算),如果要制定一个非常大的整数,只需要写出其所有位数即可。
整数类型包括十进制整数,八进制整数,十六进制整数和二进制整数。

  • 在Python 2.X中,如果输入的数比较大时,Python会自动在其后面加上字母L,(也有可能是小写字母),例如,在Python2.7.14中输入31415926535897932384626后。
  • 0不能作为十进制数的开头(0除外)。
  • 八进制整数:在Python 3.x 以0o/0O为开头表示,在Python 2.x八进制数可以以0开头。
  • 十六进制整数表示方法和C语言一样,以0x或者0X开头表示。

(2)浮点数

浮点数由整数部分和小数部分组成,浮点数也可以使用科学技术发表示,如2.7e2。

在使用浮点数进行计算时,可能会出现小数位数不确定的情况,例如在计算0.1+0.1将得到想要的0.2。而计算0.1+0.2时,将得到0.30000000000000004(想要的结果是0.3)。

python word里的打勾项 python#怎么打_Python


对于这种问题,几乎所有计算机语言都存在这个问题,暂时忽略多余的小数位数即可。

(3)复数

Python中的复数与数学中的复数的形式一致,都是由实部和虚部组成,并且使用j或者J表示虚部,当表示一个复数时,可以将其实部和虚部相加,例如,一个复数,实部为3.14,虚部为12.5j,则这个复数为3.14+12.5j。

2.6.2 字符串类型

在Python中,字符串属于不可变序列,通常使用单引号,双引号,三引号 ‘’’ ‘’’ (或””” “””)括起来。这三种引号形式在语义上没有差别,只是在形式上有所差别。其中单引号和双引号的字符串序列必须在一行上,而三引号内的字符序列可以分布在连续的多行上。比如

title = '一句名言'
mot_cn = "命运给予我们的不是失望之酒,而是机会之杯。"
# 使用三引号。字符串内容可以分步在多行
mot_en = '''Our destiny offers not the cup of 
despair,but the chance of opportunity. '''
testStr = ("一行写不下"
"会不会接上")
print(title)
print(mot_cn)
print(mot_en)
print(testStr)

python word里的打勾项 python#怎么打_Python_02


试了一下三引号的换行在输出的时候也会换行,然后又试了2.3.1中的字符串写法。

当要表示复杂的字符串时,引号可以嵌套。

Python中的字符串还支持转义字符,所谓转义字符是指使用反斜杠“\”对一些特殊字符进行转义。

转义字符

说明

\

续行符

\n

换行符

\0


\t

水平制表符,用于横向跳到下一制表位

\”

双引号

\’

单引号

\

一个反斜杠

\f

换页

\0dd

八进制数,dd代表字符,如\012代表换行

\xhh

十六进制数,hh代表字符,如0x0a代表换行

2.6.3 布尔类型

布尔类型主要用来表示真值或假值,在Python中,标识符True和False被解释为布尔值,Python中的布尔值可以转化为数值,True表示为1,False表示为0。

Python中的布尔类型的值可以进行数值运算,例如,“Flase + 1”的结果为1,但是不建议对布尔类型的值进行数值运算。

在Python中,所有的对象都可以进行真值计算,其中,只有下面列出的几种情况得到的值为假,其他对象在If或者while语句中都表现为真。
(1)False或者None
(2)树脂中的零,包括0,0.0,虚数0。
(3)空序列,包括字符串,空元组,空列表,孔子点。
(4)自定义序列对象的实例,该对象的__bool__方法返回False或者__len__方法返回0。

2.6.4 数据类型转换

Python是动态类型语言(也称弱类型语言),不需要像C或者Java中一样在使用变量前声明变量的类型,虽然Python不需要先声明变量的类型,但有时仍然需要用到类型转换。

函数

作用

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转换为一个八进制的字符串