一、标识符与保留字
标识符用来识别变量、函数、类、模块及对象的名称,可以包含字母、数字、下划线。
(1)第一个字符必须是字母或下划线,并且名称中不能有空格。
(2)Python的标识符是区分大小写的。
(3)在Python3中,非ASCII标识符也是允许使用的。
(4)保留字不可以用作标识符。
保留字也叫关键字,可以在控制台使用以下命令查看:
>>>import keyword
>>>keyword.kwlist
import keyword
import math
# 打印系统关键字
print(keyword.kwlist)
# 可以同时给多个变量赋相同的值
x = y = z = 100
print(x, y, z)
# 也可以同时给多个变量赋不同类型的值
a, b, c = 1, 2, "three"
print(a, b, c)
# 交换两个变量的值
a, b = b, a
print(a, b)
二、Python的标准数据类型
Number(数字):用来表示数据的一些数字。
Python 3 支持int、float、bool、complex(复数)4种数字类型。
String(字符串):用来表示文本的一些字符。
List(列表):用来表示一组有序的元素,后期还可以更改。
Tuple(元组):用来表示一组有序的元素,后期不可以更改。
Sets(集合):用来表示一组无序不重复的元素。
Dictionary(字典):用键值对的形式保存一组元素。
前面两种属于简单数据类型,后面四种属于结构数据类型。
# ---------------------------------------------------
# python3支持4种数字类型:int、float、bool、complex(复数)
# ---------------------------------------------------
# int 整数,为长整型
number_int1 = 10
# 内置的 type() 函数可以用来查询变量所指的对象类型
print(type(number_int1))
# 向下取整,将浮点型强制转换为整型,去掉全部小数位,取整数部分
number_int2 = int(10.95)
print(number_int2)
# 向上取整,需要导入math模块
number_int3 = math.ceil(10.15)
print(number_int3)
# 四舍五入
number_int4 = round(10.55)
print(number_int4)
# 字符串强制转换为整型,不可以包含小数点
string = "100"
number_int5 = int(string)
print(number_int5)
# float 浮点数
number_float1 = 10.25
# 两个整数相除,不管是否能整除,结果都是浮点型
number_float2 = 25 / 5
print(number_float2)
# 整型to浮点型
number_float3 = float(100)
print(number_float3)
# 字符串to浮点型
number_float4 = float("100.5")
print(number_float4)
# bool 布尔值:True和False,与整数中的1和0对应。
number_bool = True
# 布尔型可以用于数值运算
print(number_bool+5)
# complex 复数 实部和虚部都为浮点数,虚数部分必须使用后缀字母j或J
number_complex = 5.58 + 3.25j
# 使用real属性取出复数的实部
print(number_complex.real)
# 使用imag属性取出复数的虚部
print(number_complex.imag)
# ---------------------------------------------------
# 字符串可以用单引号、双引号或三引号括起来
# ---------------------------------------------------
version = "Version: python 3.6.4"
print(version)
# 使用反斜杠(\)转义特殊字符,比如:\n、\r、\f、\v、\t
version = "Version: \n python 3.6.4"
print(version)
# 不想让反斜杠(\)发生转义,可以使用\\,或者在字符串前面添加一个前缀r,表示原始字符串
version = "Version: \\n python 3.6.4"
print(version)
version = r"Version: \n\r python 3.6.4"
print(version)
# 将整型强制转换为字符串
i = 2018
date1 = str(i)
print(date1)
# 将浮点型强制转换为字符串
f = 2018.5
date2 = str(f)
print(date2)
# 如果字符串中包含单引号,使用双引号进行定义
str1 = "It‘s very good!"
print(str1)
# 如果字符串中包含双引号,使用单引号进行定义
str2 = ‘字符串“Hello”是由5个字符组合而成‘
print(str2)
# 当字符串长度超过一行时,必须使用三引号
str3 = """沁园春·雪
北国风光,千里冰封,万里雪飘。
望长城内外,惟余莽莽;大河上下,顿失滔滔。
山舞银蛇,原驰蜡象,欲与天公试比高。
须晴日,看红装素裹,分外妖娆。 """
print(str3)
str4 = "沁园春·雪\n北国风光,千里冰封,万里雪飘。\n望长城内外,惟余莽莽;大河上下,顿失滔滔。\n山舞银蛇,原驰蜡象,欲与天公试比高。\n须晴日,看红装素裹,分外妖娆。"
print(str4)
# ---------------------------------------------------
# 列表List表示一组有序的元素,与其他语言中的数组类似
# ---------------------------------------------------
# 定义一个全是数字的成绩列表
score = [90, 92, 88, 79, 95, 82]
# 可以通过索引值来访问列表中的元素,从左到右,起始值为0,最后一个元素为n-1
first_one = score[0]
# 也可以从右到左通过一个负数索引值进行访问,第一个元素为-1,最后一个元素为-n
last_one = score[-1]
# 列表中的元素可以是不同的数据类型
student = [‘1001‘, ‘张晓晓‘, ‘女‘, 12, [86, 88, 92]]
# ---------------------------------------------------
# 元组Tuple表示一组有序的元素,使用方法与列表类似。定义后不可更改
# ---------------------------------------------------
# 用小括号定义一个全是字符串的元组
subject = (‘语文‘, ‘数学‘, ‘英语‘, ‘政治‘)
# 也可以省略小括号,直接进行赋值
student_info = ‘1001‘, ‘张晓晓‘, ‘女‘, 12
# ---------------------------------------------------
# 集合Sets是一组无序的不能重复的元素,无法使用索引进行访问
# ---------------------------------------------------
# 使用大括号{}创建集合,并自动清除重复的元素
fruits = {‘苹果‘, ‘香蕉‘, ‘桔子‘, ‘草莓‘, ‘苹果‘}
# 可以先创建一个列表,然后使用set()函数将列表转化为集合
types = [‘数字‘, ‘字符串‘, ‘列表‘, ‘元组‘, ‘集合‘, ‘字典‘, ‘集合‘]
type_set = set(types)
# 创建一个空集合,必须使用set(),不能使用{}
null_set = set()
# -------------------------------------------------------
# 字典Dictionary是另一种可变容器模型,可以存储任意类型的对象
# 语法格式:d = {key1: value1, key2: value2, key3: value3}
# 由若干个键(key)-值(value)对组成。键必须是唯一的,但值可以不唯一。
# -------------------------------------------------------
stud = {‘学号‘: ‘1001‘, ‘姓名‘: ‘张晓晓‘, ‘性别‘: ‘女‘, ‘年龄‘: 12}
print(stud[‘姓名‘])
print(stud[‘年龄‘])
stud[‘年龄‘] = 13
print(stud)
三、Python语言支持以下类型的运算符&运算符的优先级(从高到低):
# ----------------------------------------
# 算术运算符:+、-、*、/、%、**、//
# ----------------------------------------
a = 10
b = 3
# + 加,两个对象相加
c = a + b
print("a + b =", c)
# - 减,取负数或两个对象相减
c = -a
print("-a =", c)
c = a - b
print("a - b =", c)
# * 乘,两个数相乘或返回一个被重复若干次的字符串
c = a * b
print("a * b =", c)
c = ‘abc‘ * 3
print("‘abc‘ * 3 =", c)
# / 除,返回两个数相除的结果,得到浮点数
c = a / b
print("a / b =", c)
# % 取模,返回两个数相除的余数
c = a % b
print("a % b =", c)
# ** 幂,a**b表示返回a的b次幂
c = a ** b
print("a ** b =", c)
# // 取整除,返回两个数相除后商的整数部分
c = a // b
print("a // b =", c)
input()
# ----------------------------------------
# 比较(关系)运算符:==、!=、>、<、>=、<=
# ----------------------------------------
# == 等于,比较两个对象是否相等
if a == b:
print("a等于b")
else:
print("a不等于b")
# != 不等于,比较两个对象是否不相等
if a != b:
print("a不等于b")
else:
print("a等于b")
# > 大于,如果a大于b,返回True;否则,返回False
if a > b:
print("a大于b")
else:
print("a小于b")
# < 小于,如果a小于b,返回True;否则,返回False
if a < b:
print("a小于b")
else:
print("a大于b")
# >= 大于等于,如果a大于等于b,返回True;否则,返回False
if a >= b:
print("a大于等于b")
else:
print("a小于b")
# <= 小于等于,如果a小于等于b,返回True;否则,返回False
if a <= b:
print("a小于等于b")
else:
print("a大于b")
input()
# ----------------------------------------
# 赋值运算符:=、+=、-=、*=、/=、%=、**=、//=
# ----------------------------------------
# = 简单的赋值运算符
c = a + b
print("a + b =", c)
# += 加法赋值运算符 c += a 等效于 c = c + a
c += a
print("c += a, c =", c)
# -= 减法赋值运算符 c -= a 等效于 c = c - a
c -= a
print("c -= a, c =", c)
# *= 乘法赋值运算符 c *= a 等效于 c = c * a
c *= a
print("c *= a, c =", c)
# /= 除法赋值运算符 c /= a 等效于 c = c / a
c /= a
print("c /= a, c =", c)
# %= 取模赋值运算符 c %= a 等效于 c = c % a
c %= a
print("c %= a, c =", c)
# **= 幂赋值运算符 c **= a 等效于 c = c ** a
c **= a
print("c **= a, c =", c)
# //= 取整除赋值运算符 c //= a 等效于 c = c // a
c //= a
print("c //= a, c =", c)
input()
# ----------------------------------------
# 逻辑运算符:and、or、not
# ----------------------------------------
a = True
b = False
# and 与运算,当所有条件都为True时才返回True,否则返回False
if a and b:
print("变量a和b都为True")
else:
print("变量a和b其中一个为False,或者都为False")
# or 或运算,只要满足其中一个条件为True就返回True,否则返回False
if a or b:
print("变量a和b其中一个为True,或者都为True")
else:
print("变量a和b都为False")
# not 非运算,当变量为True时返回False,变量为False时返回True
if not a:
print("变量a为False")
else:
print("变量a为True")
input()
# ----------------------------------------
# 位运算符:&、|、^、~、<<、>>
# ----------------------------------------
a = 60 # 60 = 0011 1100 60的二进制数
b = 13 # 13 = 0000 1101 13的二进制数
# & 按位与运算符:参与运算的两个值,如果两个相应的二进制位都为1,则该位的结果为1,否则为0
c = a & b # 12 = 0000 1100
print("a & b的值为:", c)
# | 按位或运算符:只要对应的两个二进制位有一个为1,该结果位就为1,否则为0
c = a | b # 61 = 0011 1101
print("a | b的值为:", c)
# ^ 按位异或运算符:当两个对应的二进制位相异时,该结果位为1,否则为0
c = a ^ b # 49 = 0011 0001
print("a ^ b的值为:", c)
# ~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1
c = ~a # -61 = 1100 0011
print("~a的值为:", c)
# << 左移动运算符:把左边运算数的各二进位全部进行左移,移动的位数由右边的运算数指定。高位丢弃,低位补0
c = a << 2 # 240 = 1111 0000
print("a << 2的值为:", c)
# >> 右移动运算符:把左边运算数的各二进位全部进行右移,移动的位数由右边的运算数指定。低位丢弃,高位补0
c = a >> 2 # 15 = 0000 1111
print("a >> 2的值为:", c)
input()
# ----------------------------------------
# 成员运算符:in、not in
# ----------------------------------------
a = ‘荷花‘
b = ‘黄花‘
flowers = [‘桂花‘, ‘菊花‘, ‘玫瑰‘, ‘牡丹‘, ‘荷花‘]
# in 如果指定的元素在后面的序列中则返回True,否则返回False
if a in flowers:
print("变量a在列表flowers中")
else:
print("变量a不在列表flowers中")
# not in 如果指定的元素不在后面的序列中则返回True,否则返回False
if b not in flowers:
print("变量b不在列表flowers中")
else:
print("变量b在列表flowers中")
input()
# ----------------------------------------
# 身份运算符:is、is not
# ----------------------------------------
a = ‘Python2‘
b = ‘Python3‘
# is 判断两个标识符是不是引用自同一个对象。如果引用的是同一个对象则返回True,否则返回False
if a is b:
print("a和b有相同的标识")
else:
print("a和b没有相同的标识")
# is not 判断两个标识符是不是引用自不同的对象。如果引用的不是同一个对象则返回True,否则返回False
if a is not b:
print("a和b没有相同的标识")
else:
print("a和b有相同的标识")
原文:https://www.cnblogs.com/Teachertao/p/11204349.html