目录
- 基本语法
- 控制台打印
- 简单的加减运算
- 求一个数的N次方
- 定义变量
- 字符串的定义
- 注释
- 查看变量当前的类型
- 查看变量指向的物理地址
- 获取函数的描述信息
- 判断一个变量是否为指定类型
- 逻辑判断
- 字符串操作
- 获取字符串长度
- 字符串拼接
- 字符串分隔
- 去掉字符串两边的空格和回车符
- 字符串大小写转化
- 字符串更改
- 循环
- for循环
- while循环
- if操作
- 三元表达式
- 数据结构
- list
- 定义列表
- list的切片
- list浅拷贝
- list 常用操作
- tuple
- tuple定义
- tuple分片
- set
- set定义
- set中添加一个list 或 tuple 或set
- 删除指定元素
- 从set中取出最后一个元素
- 判断两个集合是否相等
- 判断是否是子集
- 求两个集合之间的交集
- 求两个集合之间的并集
- 求差集
- 异或
- frozenset
- 定义frozenset
- dict
- 定义一个dict
- 获取所有的key
- 获取所有的value
- 获取所有的item
- 添加一个item
- 通过key获取value
- 判断key是否存在
- 删除一个变量
基本语法
控制台打印
print("python hello")
简单的加减运算
(5*2+3-1)/2
求一个数的N次方
# 求2的100次方
2**100
# 求3的3次方
3**3
定义变量
# 定义变量,不需要向其它语言一样声明类型或者使用val、var等关键字声明变量,直接使用一个变量名即可
# 多变量复值
a,b,c = '定义变量',1,6.6
print(a)
print(b)
print(c)
字符串的定义
# python 字符串定义
# 1、单引号
print('"单引号字符串定义",单引号内部可以直接使用双引号,而不用转义')
# 2、双引号
print("'双引号定义,双引号内部可以直接使用单引号,而不用转义")
# 3、多行字符串
print('''\
第一行
'',多行字符串中可以包含单引号,不需要转义
"",多行字符串中可以包含双引号,不需要转义
第四行
第五行
第六行\
''')
注释
# 就是一个单行注释
# 通常使用一个多行字符的当做代码注释,如下:
'''\
作者:菜鸟
时间:2019-09-05 \
'''
查看变量当前的类型
# 查看变量类型
a = 1
print(type(a))
a= "菜鸟"
print(type(a))
查看变量指向的物理地址
print(id(a))
获取函数的描述信息
help(id)
help(type)
help(help)
判断一个变量是否为指定类型
# 判断变量a是否为str类型
isinstance(a,str)
逻辑判断
print(not ((20<30 or 20>30) and 10>2))
字符串操作
获取字符串长度
c = "菜鸟"
len(c)
字符串切片
c = "hello python"
print(c[2])
print(c[-2])
print(c[2:])
print(c[-2:])
print(c[:3])
print(c[1:3])
print(c[:])
print(c[::])
print(c[::2])
# 字符串翻转
print(c[::-1])
字符串拼接
a,b = "this", "is 菜鸟"
print(a*20)
print(a+ "\t" +b)
print(" {0}---{1}".format(a,b))
print(" {a}---{b}".format(a="this",b="is 菜鸟"))
print(" %s....%s"%(a,b))
字符串分隔
# 将一个字符串按都好分隔为一个list
a = "a,b,c,d".split(",")
print(a)
# 将一个list转为一个字符串,元素之间以点分隔
print(".".join(a))
去掉字符串两边的空格和回车符
# 去掉左右两边的
print(" \tabcd\n \t".strip())
print("--"*20)
# 去左边的
print(" \tabcd\n \t".lstrip())
print("--"*20)
# 去掉右边的
print(" \tabcd\n \t".rstrip())
字符串大小写转化
# 转大写
print("aDDbb".upper())
# 转小写
print("aDDbb".lower())
字符串更改
# 字符串本身是不支持修改的,如 a[1]='w' 是会直接报错的
# 但是可以借助字符串的切片和字符串拼接功能,模拟需改
a = "hello word!"
print(a[:5]+"-"+a[6:])
# 还可以将字符串转为一个list,修改list元素,然后在将list转为字符串
a = "hello word"
l = list(a)
l[5]="--"
print("".join(l))
循环
for循环
# 循环
for i in range(5):
if i < 3:
print(i)
else:
print("循环结束")
print("--"*20)
for i in range(5):
if i < 3:
print(i)
else:
#break 后,不会执行 循环后面的else语句
break
else:
print("循环结束")
print("--"*20)
# 优雅的遍历一个字符串
str = "我想有个女朋友"
for index,element in enumerate(str):
print("{0},{1}".format(element,index))
while循环
# while循环
count = 0
while count < 3:
print(count)
count+=1
else:
print("有限循环")
if操作
# if 操作
if 30 > 40:
print("30 > 40")
elif 50 < 30 :
print("50 > 30")
else:
print("其它")
三元表达式
a = 2
b = 3
x = a if a > b else b
print(x)
数据结构
list
定义列表
# 列表定义
my_list = ["秦时明月","天行九歌","武庚纪","斗罗大陆","一人之下",66,True]
print(my_list)
list的切片
# 与字符串的切片相似
my_list = ["秦时明月","天行九歌","武庚纪","斗罗大陆","一人之下",66,True]
print(my_list[1])
print(my_list[1:])
print(my_list[:3])
print(my_list[1:3])
print(my_list[0:6:2])
print(my_list[::])
print(my_list[::-1])
list浅拷贝
my_list1 = my_list.copy()
print(id(my_list1),id(my_list))
my_list1[6]=True
print(my_list1,my_list)
print(id(my_list1),id(my_list))
list 常用操作
# list 追加
M = ['秦时明月', '天行九歌']
M.append("武庚纪")
print(M)
# list取出最后一个数据
print(M.pop())
print(M)
# 将两个list结合为一个list
M.extend(["秦时明月","一人之下","斗罗大陆"])
print(M)
# 删除指定元素,如果包含多个相同的元素,只会删除第一元素。删除元素不存在时会报错
M.remove("秦时明月")
print(M)
# list 乘法
print(M*2)
# list 加法
print(M+M)
print(M)
# 查看list 是否包含指定元素
print("一人之下" in M)
tuple
tuple 与 list作用和操作差不多。只是list可以修改,tuple一旦创建就不可以修改
tuple定义
t = ('天行九歌', '秦时明月', '一人之下', '斗罗大陆',True)
print(type(t))
tuple分片
t = ('天行九歌', '秦时明月', '一人之下', '斗罗大陆',True)
print(t+t)
print(t*2)
print(t[1:])
set
set 中不会出现相同元素,set 不支持切片
set定义
s = {'天行九歌', '秦时明月', '一人之下', '斗罗大陆', True}
print(type(s))
set中添加一个list 或 tuple 或set
s.update(["斗破苍穹"])
s.update(("武庚纪","火影忍者"))
s.update({"海贼王"})
print(s)
删除指定元素
# 删除指定元素,元素不存在时报错
s.remove("海贼王")
从set中取出最后一个元素
print(s.pop())
判断两个集合是否相等
s = {'天行九歌', '秦时明月', '一人之下', '斗罗大陆', True}
ss = s.copy()
print(id(ss),id(s))
print(ss == s)
判断是否是子集
#判断是否子集
s = {'天行九歌', '秦时明月', '一人之下', '斗罗大陆', True}
ss = {'天行九歌', '秦时明月', '一人之下', '斗罗大陆'}
print(s > ss)
求两个集合之间的交集
s = {'天行九歌', '秦时明月', '一人之下', '斗罗大陆', True}
ss = {'天行九歌', '秦时明月', '一人之下', }
print(s & ss)
求两个集合之间的并集
s = {'天行九歌', '秦时明月', '一人之下', '斗罗大陆', True}
ss = {'天行九歌', '秦时明月', '一人之下','斗破苍穹' }
print(s | ss)
求差集
#求差集
s = {'天行九歌', '秦时明月', '一人之下', '斗罗大陆', True}
ss = {'天行九歌', '秦时明月', '一人之下','斗破苍穹' }
print(s - ss)
异或
s = {'天行九歌', '秦时明月', '一人之下', '斗罗大陆', True}
ss = {'天行九歌', '秦时明月', '一人之下','斗破苍穹' }
print(ss ^ s)
frozenset
一个不可变的set
定义frozenset
s = {'天行九歌', '秦时明月', '一人之下', '斗罗大陆', True}
# frozenset(s) 可以传入一个set、list、tople、frozenset
ss = frozenset(s)
print(id(s),type(s),s)
print(id(ss),type(ss),ss)
dict
定义一个dict
student = {"name":"张三","age":18,12:"我就看看"}
print(type(student),student)
获取所有的key
print(student.keys())
获取所有的value
print(student.values())
获取所有的item
# 及获取所有的(key,value)
print(student.items())
添加一个item
# key 不存在为新增,key 存在时则修改
student[12]="随便测试下,看看key的类型是否必须一致"
print(student[12])
通过key获取value
# student["name"] 这种方式取值,key不存在时报错
print(student[name])
# 通过get获取数据。不存在时,返回为 None 。也添加默认值,当key不存在时,返回添加的默认值
print(student.get(name,"不存在就给个默认值"))
判断key是否存在
print("name" in student)
删除一个变量
# 是直接从物理地址删除的
del a