一、注释
(1)单行注释:#需要注释的内容(#)
(2)多行注释:'''需要注释的内容'''(三引号)
二、变量及变量类型
1.变量
语法定义:变量名 = 变量值(这里的 = 作用为赋值)
变量名/标识符的命名规则:
a.数字不能开头,且用字符、数字、字母组成;
b.严格区分大小写;
c.不能使用关键字。
关键字:一些标有特殊功能的字,可使用以下代码查看:
import keyword
print(keyword,kwlist)
命名规范:
a.有意义(易读性);
b.驼峰命名法
b.1小驼峰命名法:第一个单词的首字母小写,后续的单词的首字母大写;
b.2大驼峰命名法:每一个单词的首字母均用大写;
c.以下划线“ _ ”来连接所以单词。
2.变量的多次赋值
当多次赋值之后,变量名会指向新的空间。
3.变量类型
int、float、bool、str、list、tuple、dict。可以用 type() 查看数据类型。
(1)int——整数类型
牵涉到进制内容。python中用 0b 的前缀表示二进制, 0o 表示八进制, 0x 表示十六进制。十进制转换二进制并且保存为字符串类型:
a = 985
print(bin(a)) #0b1111011001(十进制转二进制)
print(oct(a)) #0o1731(十进制转八进制)
print(hex(a)) #0x3d9(十进制转十六进制)
(2)float——浮点类型
a.由整数部分+小数部分构成;
b.float存储不准确(由于计算机是以二进制存储数据的,底层问题)
使用浮点数进行运算时,可能出现小数位数不确定的情况
解决办法:导入decimal:from decimal import Decimal
print(1.1+2.2) # 3.3000000000000003
print(1.1+2.1) # 3.2
# 解决方法:导入decimal
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2')) # 3.3
(3)bool——布尔型
要不为True,要不为False;
可转换位数字:True -> 1,False -> 0。
(4)str——字符串
不可变的字符序列;
可用单引号、双引号、三引号定义。
4.类型转换
不同类型的数据在进行拼接时需要进行类型转换。
(1)str() :其他数据类型 -> 字符串
可用引号转换。例如 str(123) == '123'。
(2)int() :其他数据类型 -> 整数
文字类和小数类字符串不可转换成整数;
浮点数转换成整数:直接抹零。
(3)float() :其他数据类型 -> 浮点
文字类不可转换成浮点;
整数转换成浮点:直接加.0。
三、运算符
1.input() 函数
变量名 = input('......')(“......”表示需要输入的内容,最终得到的是字符串类型的变量)
2.算术运算符
+、-、*、/、//、%、**、()
(1)//(整除运算符)
结果取商的整数部分。需注意的是当遇到一正一负的整除运算时,结果向下取整。例如 -9//4=-3。
(2)%(取余运算符)
结果取商的余数。需注意的是当遇到一正一负的取余运算时,余数用公式计算:
余数 = 被除数 - 除数*商
(3)**(幂运算)
(4)()——可用于提高运算优先级
(5)当算术运算符用于字符串时,需注意:
a.两字符串使用 "+" ,表示将两字符串拼接成一个字符串;
b.数字 + 字符串,则报错;
c.字符串 * 整数,则表示重复该整数遍字符串。
3.赋值运算符
=、+=、-=、*=、/=、//=、**=、%=
支持系列解包赋值。例如
a,b,c = 1,2,3
print(a,b,c) #1 2 3
4.比较运算符
==、!=、>、>=、<、<=、is、is not(结果均为布尔值)
(1)==、!=、>、>=、<、<=
比较的是变量的值即value。
(2)is、is not
比较的是变量的id。
a = 10
b = 10
print(a == b) #True
print(a is b) #True
print(a is not b) #False
#但是以下为例外:
list1 = [1,2,3]
list2 = [1,2,3]
print(list1 == list2) #True
print(list1 is list2) #False
5.逻辑运算符(布尔运算符)
and、or、not、in、not in
(1)逻辑运算符的短路问题
a = 20
a > 10 and print('Hello World') #Hello World
a < 10 and print('Hello World') #无输出
a > 10 or print('你好世界') #无输出
a < 10 or print('你好世界') #你好世界
str1 = 'Hello World'
print('H' in str1) #True
print('l' not in str1) #False
6.位运算符
&、|、<<、>>(需要将数据转换成二进制,再计算)
(1)&——按位与
同为1为1,否则为0。
(2)|——按位或
只要有一个为1,则为1。
(3)<<——左移
高位溢出舍弃,低位补0。
(4)>>——右移
低位溢出舍弃,高位补0。
7.运算符优先级
三、结构
1.对象的布尔值
Python一切皆对象,所以对象均有一个布尔值。获取对象布尔值,可以使用内置函数bool()。以下对象的布尔值均为False:False、数值0、None、空字符串、空列表、空元组、空字典、空集合。除此之外,其余对象的布尔值均为True。
2.选择结构
程序根据判断条件的布尔值选择性地执行部分代码。
(1)单分支结构
if 条件表达式:
条件执行体
(2)双分支结构
if 条件表达式:
条件执行体1
else:
条件执行体2
(3)多分支结构
if 条件表达式1:
条件执行体1
elif 条件表达式2:
条件执行体2
...
elif 条件表达式n:
条件执行体n
else:
条件执行体n+1
(4)嵌套if
if 条件表达式1:
if 内嵌条件表达式1:
内嵌条件执行体1
else:
内嵌条件执行体2
else:
条件执行体1
(5)条件表达式
实质上就是 if......else 的缩写。
x if 判断条件 else y
注:
a.判断条件布尔值为True,返回x;b.判断条件布尔值为False,返回y。
3.pass语句
什么都不做,只是一个占位符,用到需要写语句的地方。