编码
ASCII编码是我们熟知的一种编码,它将英文字母的大小写,数字,常用符号通过二进制数编码来表示。占1个字节,如大写字母A,ASCII编码是01000001(二进制)。
ASCII编码范围有限,于是有了Unicode编码,通常占2个字节,ASCII编码的字符用Unicode编码的话,只需要在前面补8个0,如大写字母A,Unicode编码是00000000 01000001(二进制)。也有局限,就是文本全是英文的话,需要比ASCII编码多占一倍存储空间。
默认情况下Python3文件是UTF-8编码,它是一种可变长编码,目的是节省空间。英文字母编码占1个字节,汉字通常占3个字节。当编写的Python源码中有中文时,保存源码时,要保存为UTF-8编码。在读取源码文件时,为了按照UTF-8编码读取,通常在开头加上
# -*- coding: utf-8 -*-
-*-好像是为了美观
标识符
标识符就是编程时,给变量,函数等起的名字,用来指定这个变量或函数等。
标识符规则
Python3标识符有如下规则:
- 由字母,下划线,数字组成,不能以数字开头。
- 区分大小写
命名规则
在编程一开始,就要有较好的命名习惯,提高代码的可读性,便于日后维护。通常有这么几种:
- 小驼峰式命名法:第一个单词小写,之后的单词首字母大写,如yourDream
- 大驼峰式命名法:所有单词首字母大写,如YourDream
- 还有一种用下划线连接单词,我比较倾向使用这一种。如your_dream
关键字
关键字就是Python中的保留字符,具有特定功能,我们在编程时不能使用这些关键字来给其他变量、函数等命名。
我们可以自行查看关键字有哪些:
>>> import keyword
>>> kw = keyword.kwlist
>>> print (kw)
['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']
注释
完整的代码少不了注释。有如下几种注释方式:
- 单行注释,以#开头。
print (kw) # 输出所有关键字 ['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']
- 一次多行注释,使用‘’’或"""
''' 下面代码的作用 是输出所有关键字 ''' """ 下面代码的作用 是输出所有关键字 """
缩进
缩进是Python的一大特色,它对缩进很敏感的呦。学C++的时候,用{}标识代码块,是你告诉C++,这是个代码块,缩进你随意,Python是你想写代码块,必须按它说得来,不能只为了美观,随意缩进不然就报错。
缩进相同的一组语句构成一个代码块,称之为代码组。
像ifwhiledefclass这样的复合语句,首行以关键字开始,以:结束,该行之后的一行或多行代码构成代码组。我们将首行及后面的代码组称为一个子句(clause)。
同一个代码块的语句要有相同的缩进空格,:后的子句也要有相同的缩进空格。
if 1==1:
print("yes!")
else:
print("no!")
多行语句
C++中,;是语句结束符,每个语句必须以;结束。Python则是以一行结束作为结束符,比较省事,但是如果一行语句太长,想分行,我们可以使用\分行写
full_name=user_info['first']+" \
"+user_info['last']
[]{}()中分行写不需要使用\
users={
'aaeinstein':
{
'first':'albert',
'last':'einstein',
'location':'priceton',
},
'mcurie':
{
'first':'marie',
'last':'curie',
'location':'paris',
},
}
多条语句
如果一行使用多条语句,则用;分开
print("\nUsername:"+username);print("\tFullname:"+full_name.title());print("\tLocation:"+location.title())
Print输出
默认的print输出是换行的。
# 换行输出
print("yes!")
print("no!")
yes!
no!
要想不换行,需要加上end=""
# 不换行输出
print("yes!",end="")
print("no!",end="")
yes!no!
导入模块
在 python 用 import 或者 from...import 来导入相应的模块。
# 将整个模块(somemodule)导入
import somemodule
# 从某个模块中导入某个函数
from somemodule import somefunction
# 从某个模块中导入多个函数
from somemodule import firstfunc, secondfunc, thirdfunc
# 将某个模块中的全部函数导入
from somemodule import *