一、程序结构

1.1缩进分层

Python用缩进分层来写模块。
编码规范中指出:最好采用空格的形式,每一层向右缩进4个空格。

1.2 换行

换行符

Linux/UNTX 操作系统 ASCII LF (linefeed)
DOS/Windows 操作系统 ASCII CR LF (return+ linefeed)
Mac OS 操作系统 ASCII CR (return)

程序代码超过一行

如果程序代码超过一行,可以在每一行的结尾添加反斜杠(\),继续下一行
如果是以()、中括号[]、大括号{}包含起来的语句,不需要使用反斜杠(\)就可以直接分成多行
ps:
每个反斜杠之后不加注释文字

将数行表达式写成一行

如果要将数行代码写成一行,在每一行的结尾加上分号(;)

1.3 注释

单行注释
# 被注释内容
多行注释
‘’’
被注释内容
‘’’,或者
“””
被注释内容
“””

1.4 标识符

标识符用来表示变量、常量、函数、对象等程序要素的名字。
标识符的命名规则:
1.首字符必须是字母、汉字或下划线
2.中间可以是字母、下划线、数字或汉字,不能有空格
3.区分大小写字母
4.不能含有Python关键字

1.5 关键字

关键字(Keyword)又被称为保留字,是Python系统内部定义和使用的特定标识符。

  1. ##查看python关键字
  2. C:\Users\lh>python
  3. Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)] on win32
  4. Type "help", "copyright", "credits" or "license" for more information.
  5. >>> import keyword
  6. >>> keyword.kwlist
  7. ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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.6 import 与form ……import

在Python中,模块是一个包含所有定义的函数和变量的文件,后缀为.py。
模块可以被其他程序引入,实现调用该模块中函数的功能,用import或from……import导入。
import语句既可以导入一个自定义模块,也可以导入Python标准模块。
1.将整个模块导入
import <模块名1>[,<模块名2>[,……<模块名N>]
2.从某个模块中导入某个函数的格式
from <模块名> import <函数名>
3.从某个模块中导入多个函数
form <模块名> import <函数名1>[,<函数名2>[,……<函数名N>]
4.将某个模块中的全部函数导入
form <模块名> import *

二、Python的输入和输出

2.1 输入

input() 函数从标准输入读入一行文本。
ps:用户输入的数据全部以字符串形式返回,如果需要输入数值,需要进行类型转换

  1. input ([prompt])
  2. prompt 可选参数,用来显示用户输入的提示信息字符串。
  3. # 将用户输入的内容赋值给 name 变量
  4. name = input("请输入用户名:")
  5. # 打印输入的内容
  6. print(name)
  7. print("hello"+name)
  8. print("hello",name)
  9. #输出的结果
  10. 请输入用户名:ccy
  11. ccy
  12. helloccy
  13. hello ccy

ps:用加号连接输出的中间没有空格
用逗号连接输出的中间有空格
可以让用户输入多个信息

  1. name = input("What is your name?")
  2. age = input("How old are you?")
  3. hometown = input("Where is your hometown?")
  4. print("Hello ",name , "your are ", age , "years old, you came from",hometown)

2.2 输出

print() 函数用于输出格式化的数据。

  1. print(value,……,sep=' ',end= '\n')

value:是用户要输出的信息,后面的省略号表示可以有多个要输入的信息
sep:用于设置多个要输出信息之间的分隔符,默认的分隔符为一个空格
end:是一个print()函数中所有要输出信息之后添加的符号,默认值为换行符
格式化处理
如果输出的内容既包含字符串,又包含变量值,需要将变量值格式化处理。
将字符串与变量之间以%符号隔开,如果不隔开的化,就会完整输出字符串的全部内容。
%s代表字符串占位符%d代表数字占位符

  1. x=100
  2. print("x=%d"%x)
  3. print(x)
  4. 结果
  5. x=100
  6. 100
  7. # 格式化输出
  8. name=input("please input your name:")
  9. age=input("please input your age:")
  10. sex=input("please input your sex:")
  11. info='''
  12. name:%s
  13. age:%s
  14. sex:%s
  15. '''%(name,age,sex)
  16. print(info)
  17. #另一种写法
  18. print("name:%s,age:%s,sex:%s"%(name,age,sex))
  19. #输出结果
  20. please input your nameccy
  21. please input your age:20
  22. please input your sex:boy
  23. name:ccy
  24. age:20
  25. sex:boy
  26. name:ccy,age:20,sex:boy
  27. 如果把上面的age后面的换成%d,就代表你必须只能输入数字
  28. 格式化字符串必须一一对应不然会报错

不换行输出
通过在变量末尾添加end=” “,可以实现不换行输出的效果

  1. a = "lars "
  2. b = "gyon"
  3. ##默认换行输出
  4. print(a)
  5. print(b)
  6. ##不换行输出
  7. print(a,end=" ")
  8. print(b,end=" ")
  9. 结果
  10. lars
  11. gyon
  12. lars gyon

三、常量与变量

3.1 常量

在程序运行过程中,值不会发生改变的数据对象称为常量。
常量是值一旦初始化后就不能修改的固定值,其值按类型分为整型常量、浮点型常量、字符串型常量。
可以用type()函数查看数据的类型。

3.2 变量

3.2.1变量含义

在程序运行过程中,可以随着程序的运行而改变的量称为变量。
变量对应计算机内存中的一块区域,用来存储数据的值,不同类型的数据所分配的存储空间不同。

3.2.2 高级语言中的变量

计算机的内存是以字节为单位的存储区域,为了方便访问,每个存储单元有自己的编码,称为内存地址。
通过内存地址访问存储空间,就像人们通过门牌号码投递邮件一样。实际上,程序要访问内存中的数据并不需要知道其物理地址,在高级语言中,用变量来指向这个物理地址。
变量是指一个特定的存储空间,即一定字节数的内存单元。这一组存储单元用来存放指定的数据,而数据是可以随时变化的。
通常情况下,在使用变量之前需要定义变量,定义变量就是定义变量的名称、类型和值。变量的类型决定了分配的内存单元的多少,即多少个字节。变量的名称就是对这一组内存单元的引用,这样可以使用变量名访问数据。
变量值发生改变的时候,改变的是存储单元中的内容,而变量的地址是不变的。

3.2.3 Python中的变量

Python语言没有专门定义变量的语言,而是使用赋值语句完成对变量的定义。每个变量在使用前都必须赋值,变量赋值以后才会被创建。
当用赋值语句给变量赋值的时候同时就定义了变量。变量名不是对内存地址的引用,而是对数据的引用。
也就是说,用赋值语句对变量重新赋值的时候,Python为其分配了新的内存单元,变量将指向新的地址,变量的地址发生了改变。
在Python中,变量就是变量,没有类型。(“类型”指的是内存中对象的类型)
id()函数可以查看变量的内存地址。

  1. a = "lars "
  2. print(id(a))
  3. a = "gyon"
  4. print(id(a))
  5. ##结果
  6. 2943936684208
  7. 2943936715888

3.2.4 变量的赋值

  1. #驼峰体
  2. AgeOfBoy = 56
  3. NumberOfStudents = 80
  4. #下划线
  5. age_of_boy = 56
  6. number_of_students = 80

1.变量赋值

赋值号就是等号“=”
<变量名>=<表达式>
赋值号的左边必须是变量名,右边是表达式。从右往左的顺序,赋值语句计算出表达式的值,然后将该变量指向该数据。

  1. a = "变量1 "
  2. print(id(a))
  3. b= "变量1"
  4. print(id(b))
  5. ##结果
  6. 1933134299568
  7. 1933134299472
  8. 变量a和变量b分别指向不同的数据

Python 基础语法 - 图1

  1. a = "变量1 "
  2. print(id(a))
  3. b= a
  4. print(id(b))
  5. ##结果
  6. 2539619910064
  7. 2539619910064
  8. 变量a和变量b指向相同的数据

Python 基础语法 - 图2

2.增量赋值

Python提供了12种增量赋值运算符。

运算符 说明
+= 加等于,c+=a,即c=c+a
-= 减等于,c -=a,即c=c-a
*= 乘等于,c=a,即c=ca
/= 除等于,c/=a,即c=c/a
//= 整除等于,c//=a,即c=c/a,得到的结果是整数
%= 取余等于,c%=a,即c=c%a.得到的是余数
**= 幂等于,c*=a,即c=ca*a,得到的是乘方
<<= 左移运算等于,运算数的各二进制位全部左移若干位
高位丢弃,低位补0
>>= 右移运算等于,运算数的各二进制位全部右移若干位
&= 按位与运算
|= 按位或运算
^= 按位异或运算,当两对应的二进位相异的时候,结果为1

3.链式赋值

<变量名1>=<变量名2>=……=<变量名n>=<表达式>
链式赋值用于多个变量赋一个相同的值。先计算出最后的表达式的值,然后将变量全部指向这个数据对象。

  1. a =b=c= 9*9
  2. print(id(a))
  3. print(id(b))
  4. print(id(c))
  5. ##结果
  6. 140715831360272
  7. 140715831360272
  8. 140715831360272

4.多重赋值
<变量名1>,<变量名2>,……,<变量名n>=<表达式1>,<表达式2>,……,<表达式n>

赋值号两边的变量和表达式的数量要一直,多重赋值首先计算出赋值号右边的表达式的值,然后按照顺序分别赋值给左边的变量。

  1. a ,b,c= 9*9,99,88
  2. print(a)
  3. print(b)
  4. print(c)
  5. ##结果
  6. 81
  7. 99
  8. 88

使用多重赋值,可以实现两个数据的交换

  1. a,b=3,5
  2. print(a)
  3. print(b)
  4. a,b=b,a
  5. print(a)
  6. print(b)
  7. ##结果
  8. 3
  9. 5
  10. 5
  11. 3