1.只能由数字,字母和“_”构成
2.不能由数字开头
3.名字不能与关键字重合
4.Python区分大小写
5.变量命名要做到见名知义
+ - * / # 加减乘除
% # 取余
// # 向下取整
> < == >= <= != # 大于 小于 等于 大于等于 小于等于 不等于
<> # 比较两个数是否不相等
注:关系表达式的结果为布尔值
and # 与
or # 或
not # 非
= # 基本的赋值运算符
+= -= *= /= # 运算后再赋值
**= # 幂运算后赋值
%= # 取余后赋值
//= # 向下取整后赋值
# # 单行注释
‘’‘
’‘’ #多行注释
\ #转义字符
in
not in #判断是否在序列中
python基本数据类型的转化
整数的进制表示:
x = 0b1011 #二进制
y = 0o15 #八进制
z = 0x2f #十六进制
进制:二进制(binary)八进制(octonary)十进制(decimal)十六进制(hexadecimal)
x = 1.2345e3 # e前的数乘上10的e后的数次方(即1.2345*10**3)
y = 1.2345E3 # e也可以大写
z = 1.23e4-5
a = 1.23e-4 # 注意e后要有数,无数为复数类型
1.逻辑表达式的结果为布尔值
2.空值和0为False
complex(a,b) # a+bj
字符串,列表,元组,
序列行数据可进行遍历操作(除了集合,因为集合无序)
索引为[0,1,2,3,4,5,6,7,8,9,…]
字符串比较大小:
按位比较阿斯克码值的大小,若在某一位比较出来了,则不再向后比较
for i in range(len(s))
print(s[i])
for i in s
print(i)
s[a:b:c]
1.a为切片起始数据的索引,b为切片末尾的后一位索引,c为步长
2.a默认为0,即第一位,b默认为最后,c默认为1
3.切片为左闭右开
1.s.lower() s.upper() 将所有字母转为大写或小写
2.s.split(sep=‘’) 返回用sep分割的字符串(字符串默认为空格)
3.s.replace(s1,s2) s1和s2交换位置
4.s.strip(x) 在头尾移除制定字符(默认为空格)
5.a.join(s) 在字符之间加入a
6.s.ljust(n,”a”) s.rjust() s.center() n为字符串长度,a为补的符号
7.判断字符串:
? 1.isidentifier
8.格式化输出字符串:
print('Grade is %s'%A)
1.常用格式字符表达式:
? %s 输出字符串
? %c 输出字符 chr(num) (阿斯克码)
? %d 输出整数(十进制)
? %o 输出八进制数
? %x或%X 输出十六进制数
? %e或%E 输出科学计数法格式
? %[width][.precision]f 输出浮点数,长度为width,小数点后precision位,width默认为零,precision默认为6
2.字符串格式化方法调用:
str . format(索引:[填充字符][对齐方式][宽度])
str_a="{0}的年龄是{1}".format("张三",20)
str_b="{}的年龄是{}".format("张三",20)
str_c="{1}的年龄是{0}".format(20,张三)
print(str_a)
print(str_b)
print(str_c)
l = []
l = [{7, 8, 9}, 1, "a", [2, (5, "b")], {"a": 3, "b": 4}] #注:列表中的元素可以为任意数据类型
l.append(# 要添加的元素)
l.extend(# 为一个可迭代对象 )
l.insert(索引,元素) # 将元素添加到索引位置
# 注意:此处的索引为未添加前的索引
例如下面这道题:
aList = [1,2], aList.insert(-1,5) 为 ( ).
A、[1,2,5] B、[1,5,2] C、[5,1,2] D、[5,2,1]
本题将5添加到原列表-1的位置,而之前在-1位置的2自动向后一位
l.pop(索引) # 移除指定索引的元素,并返回(默认移除最后一个)
l.remove(元素) # 移除元素(从左往右第一个匹配元素)
l.clear() # 清除所有元素
l[索引] = 元素 # 将位于某索引的值改为指定元素
print(l[索引]) # 返回索引位置的值
l.index(元素) # 返回元素所在索引(从左往右第一个匹配元素)
l.index(元素,起始,结尾) # 从起始点到结尾点-1查找元素,返回索引(从左往右第一个匹配元素)
相比于列表,元组不可更改,因此元组无法实现增删改的操作,只能通过索引查询数据,或查询数据所在的索引。
字典以键值对为元素,键与值之间用冒号隔开,不同元素之间用逗号分开
注:字典是无序的无法用索引查询
dic = {} # 创建空字典
d = dict() # 用字典函数创建空字典
d = {"a":1,"b":2,"c":3,"d":4} # 在创建是就就添加键值对
d[键] = 值 # 若键不存在,则添加键值对;若键已存在,就将旧值改为新值
del d[键] # 删除键值对
d.clear() # 清空字典
d.pop(键) # 删除键值对,并返回删除的值
d.popitem() # 删除最后一个键值对,并以元组的形式返回该键值对
d[键] = 值 # 若键不存在,则添加键值对;若键已存在,就将旧值改为新值
d.update({"a":6}) # 可更新数据
d[键] # 返回键所对应的值,当键不存在时报错
d.get(键) # 返回键所对应的值,当键不存在时默认返回None
d.keys() # 返回所有键
d.values() # 返回所有值
d.items() # 返回所有键值对
注:字典迭代循环,默认为键
for i in d # 默认为键
for i in d.keys # 键
for i in d.values # 值
for i in d.items # 键值对
借助数学中集合概念来理解,集合具有无序性,互异性。
无序性,指集合中没有顺序,没有索引
互异性,即集合中任意两个元素都不相等,可借助此性质来去重,但由于无序性,无法保证去重前后的顺序
s = {1,2,3,4} # 直接创建集合,并初始化
s = set() # 用集合函数创建空集合,(注:若创建空集合只能用集合函数,因为用s = {}创建的是集合
s.add(元素) # 可添加元素
s.remove(元素) # 删除元素,若元素不存在,则报错
s.discard(元素) # 删除元素,若元素不存在,则返回None
s.pop() # 随机删除并返回该元素
s.clear # 清空
与数学类似的,Python中集合也有交,并,差等操作
集合1.intersection(集合2,...) # 交集
集合1.union(集合2,...) # 并集
集合1。differenc(集合2,...) # 差集
集合1.subset(集合2) # 判断集合1是否为集合2的子集
集合1.superset(集合2) # 判断集合2是否为集合1的子集
(注:列表,字符串,元组,集合均可使用len()函数来计算长度)
import random
random.random() # 生成一个0到1(左闭右开)的随机浮点数(不常用)
random.randint(start,stop) # 生成[start,stop]闭区间随机整数
random.randrange(start,stop,step) # 生成start到stop(左闭右开)随机整数
random.choice(seq) # 随机从序列性数据中挑选一个返回
random.shuffle(lst) # 将列表的数据随机重排
import math
math.fabs(数) # 返回数的绝对值
math.sqrt(数) # 返回数的平方根
math.pi # PI值
阿斯克码值:
48~57 对应 0~9
65~90 对应 大写A~Z
97~122 对应 小写a~z
(相同字母之间阿斯克码值,大写比小写小32)
ord(字符) # 将字符转化为阿斯克码值
chr(阿斯克码值) # 将阿斯克值转化为字符
import calendar
print(calendar.month(年,月)) # 输出该年改月的日历
first = float(input("请输入第一个数:"))
second = float(input("请输入第二个数:"))
third = float(input("请输入第三个数:"))
max = first
if max<second:
max = second
if max<third:
max = third
print("最大值为",max)
n = int(input("请输入一个整数:"))
i = 1
result = 1
while i<=n:
result *= i
i+=1
print("1到%d的乘积为:%d"%(n,result))
arris = 1
while (arris <= 10):
volume = arris ** 3
if volume > 100:
break
print("棱长为%d的立方体的体积为:%d" % (arris, volume))
arris = arris + 1 # 注意,应将判断语句放在输出语句前
f1 = 1
f2 = 1
for i in range(20):
print(f1,"\n",f2)
f1 = f1+f2
f2 = f1+f2
firNum = int(input("请输入第一个整数:"))
secNum = int(input("请输入第二个整数:"))
mulNum = firNum * secNum
if firNum < secNum:
firNum, secNum = secNum, firNum
while firNum % secNum != 0:
remNum = firNum % secNum
firNum = secNum
secNum = remNum
print("最大公约数为%d" % secNum)
print("最小公倍数为%d" % int(mulNum / secNum))
# 方法一
n = int(input("请输入一个数:"))
for i in range(2,n):
if n%i == 0:
print("该数不是素数")
break
else:
print("该数为素数")
# 方法二
import math
number = int(input("请输入需要判断的整数:"))
root = int(math.sqrt(number))
iNum = 2
while iNum <= root:
if number % iNum == 0:
break
iNum = iNum + 1
if iNum > root:
print("%d是素数" % number)
else:
print("%d不是素数" % number)
闰年:四年一闰百年不闰,每四百年再一闰
year = int(input("请输入年份:"))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print("%d是闰年" % year)
else:
print("%d不是闰年" % year)
内容为自己学习时所写,水平有限,内容仅供参考,如有错误,欢迎指正