python笔记

print

print(" ") #输出字符串

 

print(520)   print(3+1) 

输出到文件里

fp = open('D:/text.txt', 'a+') # 'a+'的意思是如果文件不存在就创建一个并输出,存在的话就在文件里输出一次
print("hello world", file = fp)
fp.close()

 

print('hello', 'world') // hello world

 

转义字符

\n 换行 

\r 回车

\t 一个制表位

\b 退格

要想输出特殊字符时,在前面加上\

print('\'') # '
print('\\') # \

 不希望转义字符在print中起作用,用r或R在’‘前

print(r'hello\nworld') # hello\nworld     注:最后一个字符不能是\, 会报错

 变量的定义和使用

name = ''
print(id(name)) #name的地址
print(type(name)) # name的类型
print(name) #name的内容

 字符串

print('hello world')
printf("hello world")
#单引号和双引号一样,都表示字符串,只能在一行输出
print("""hello
world""")
print('''hello
world''')#三引号可以分隔两行来输出


 

input()返回值是str()类型

str() 将其他类型转换成字符串类型    '  ' 也有同样的效果

int()将其他类型(字符串必须为纯数字且数字为整数)转换成整数类型

float()将其他类型(字符串必须为纯数字)转换成浮点类型

 注释

# 是注释一行的

''' '''是注释多行的

算术运算符

print(11/2)   #5.5

print(11//2) # 整除  5

print(2**3) # 2的3次方(幂运算)

print(-9//4) # -3  向下取整

print(-9%4) # 3            余数 = 被除数 - 除数 * 商       -9-4*(-3)=3

print(9%-4) #-3             9-(-4)*(-3)

 

赋值运算符

a,b=10,20 # a= 10, b = 20

a, b = b, a #交换a,b的值,不需要中间变量

 布尔运算符

and (与)

or (或)

not (非)

s = "hello world"
print('w' in s)   #in是查询在没在s里面
print('w' not in s)

 分支结构_多分支结构


num = int(input('输入一个数'))
if num >= 0 and num < 10:
    print('c')
elif num >= 10 and num < 20:
    print('b')
elif num >= 20 and num < 30:
    print('a')
else:
    print('输入有误')
#if -- elif -- else的使用方法

 else 

while--else 时用break才能不执行else 语句里的内容。否则当while里的条件不满足时,就会执行else里的语句

for--in--else同理

 

列表

lst = list(["hello", "world", "99"])
print(lst[0], lst[-2])
#  list特点:可以多类型混合
# 可以储存重复数据
# 从前往后索引是0,1,2... # 从后往前索引是-1,-2,-3...

index()    

当有搜索的元素在list中有多个时,只返回第一个的位置

index(" ",1, 3) #在1到2位置中查找元素

切片操作

list[start:stop:step]

lst = ["hello", "world", "99", "hello"]
print(lst[1:3:1])
# ['world', '99']

lis[1:3]省略step默认为1

step可以为负数

省略start时,默认从list头部开始

省略stop时,默认到list尾部

添加操作

append()  向list末尾增加一个数

lst = list(["hello", "world", "99", "hello"])
lst.append(10)
print(lst)
#  ['hello', 'world', '99', 'hello', 10]

 

lst = list(["hello", "world", "99", "hello"])
lst1 = [10, 20, 30]
lst.append(lst1)
print(lst)
#  ['hello', 'world', '99', 'hello', [10, 20, 30]]
#当数为列表时,用append()当作一个数添加进去了

extend() 向list末尾添加至少一个元素

lst = list(["hello", "world", "99", "hello"])
lst1 = [10, 20, 30]
lst.extend(lst1)
print(lst)
#   ['hello', 'world', '99', 'hello', 10, 20, 30]
# 当数为列表时,用extend()把list1的每个元素加到lst中

 insert() 向list中任意位置插入一个元素

lst = [10, 20, 30]
lst.insert(1, 100)  #向位置1插入100这个元素
print(lst)
# [10, 100, 20, 30]

 切片操作   向任意位置加入元素

lst = [10, 20, 30]
lst1 = ["hello", "world"]
lst[1:] = lst1
print(lst)
#  [10, 'hello', 'world']

 删除操作

remove() 移除某一个元素,当有多个重复元素时,只移走元素出现的第一个

lst = [10, 20, 30, 40, 50, 10]
lst.remove(10)
print(lst)
#   [20, 30, 40, 50, 10]

pop() 根据索引移除元素

lst = [10, 20, 30, 40, 50, 10]
lst.pop(2)
print(lst)
#  [10, 20, 40, 50, 10]
lst = [10, 20, 30, 40, 50, 10]
lst.pop()  #默认移除最后一个元素
print(lst)
#  [10, 20, 30, 40, 50]

切片操作

lst = [10, 20, 30, 40, 50, 10]
lst1 = lst[1:3]
print(lst1)
#  [20, 30]

lst[1:3] = [] # 不产生新的列表对象,而是删除列表中的内容
print(lst)
#  [10, 40, 50, 10]

clear() 清楚list中的元素

del 将列表对象删除

修改操作

修改单个元素

list[2] = 100

修改多个元素

lst = [10, 20, 30, 40, 50, 10]
lst[1:3] = [100, 200, 300, 400]  #将位置1,2元素修改
print(lst)
#  [10, 100, 200, 300, 400, 40, 50, 10]

 列表排序

lst = [20, 10, 11, 2, 55, 33]
lst.sort()
print(lst)
# 默认升序排序
lst.sort(reverse = True) #倒序排序
print(lst)

 列表生成式

lst = [i for i in range(1, 10)]
print(lst)
#  [1, 2, 3, 4, 5, 6, 7, 8, 9]
lst = [i*i for i in range(1, 10)]
print(lst)
#  [1, 4, 9, 16, 25, 36, 49, 64, 81]

 字典

特点

1.key不允许重复

2.元素是无序的

创建

score = {"张三":100, "李四": 200, "王五":300}
print(score) 
s = dict(name = "张三", age = 200)
print(s) # {'name': '张三', 'age': 200}

获取

score = {"张三":100, "李四": 200, "王五":300}
print(score["张三"]) #100
print(score[""]) # Keterror 会报错

#get()使用
print(score.get("张三")) #100
print(score.get("")) #None  不会报错

判断元素是否在字典里

score = {"张三":100, "李四": 200, "王五":300}
print("张三" in score) # True

添加

score = {"张三":100, "李四": 200, "王五":300}
score[""]= 50
print(score)
#  {'张三': 100, '李四': 200, '王五': 300, '我': 50}

修改

score = {"张三":100, "李四": 200, "王五":300}
score["张三"] = 50
print(score)  # {'张三': 50, '李四': 200, '王五': 300}

 

删除

score = {"张三":100, "李四": 200, "王五":300}
del score["张三"]
print(score)  # {'李四': 200, '王五': 300}

清除

score = {"张三":100, "李四": 200, "王五":300}
score.clear()
print(score)  # {}

获取字典视图

score = {"张三":100, "李四": 200, "王五":300}
s = score.keys()  获取键
s1 = scor.values() 获取值
s2 = score.items() 获取键值对
print(s) #dict_keys(['张三', '李四', '王五']) print(type(s)) #<class 'dict_keys'> # 类型转换 print(list(s)) #['张三', '李四', '王五']

 zip()

item = ["张三", "李四", "王五"]
value = [100, 200, 300]
d = {item: value for item, value in zip(item, value)}  # 用zip()函数创建一个字典
print(d)

 元组

创建方式

it = ("hello", "world")  #第一种
print(type(it))
print(it)

it1 = tuple(("helle", "world"))   #第二种
print(it1)
it3 = "hello", "world"
print(type(it3))
print(it3)  #  <class 'tuple'>
            #  ('hello', 'world')

 

注:创建一个元素时,需要在元素后面加上,

it = ("hello")
print(type(it)) # <class 'str'>
it = ("hello", )
print(type(it)) # <class 'tuple'>

 集合

特点:

1.无序

2.无重复元素

创建

it = {"hello", "world"}
print(type(it))
it1 = set(range(6))
it2 = set([1, 2, 3])  # 类型转换

定义一个空集合

it = set()
print(type(it))
print(it)

增加

add()  增加一个元素

update()  增加至少一个元素

删除

remove()   删除某一个元素,元素不存在则出现keyerror

discard()   删除一个元素,元素不存在不报错

pop()  任意删除一个元素

clear() 清除集合内的元素

集合间的关系

issubset  一个集合是否是另一个集合的子集

issuperset  一个集合是否是另一个集合的超集

isdisjoint 判断两个集合有没有交集

==和!= 判断两个集合是否相等

数据操作

s1.intersection(s2)   交集

s1.union(s2)  并集

s1.difference(s2)  差集

s1.symmtric_difference(s3)   对称差集 

集合生成式

it = {i for i in range(10)}
print(it)

 字符串

驻留机制

用is判断时通过id判断

用==判断时通过对象的值来判断

 查询

大小写转换

内容对齐操作

劈分

判断字符串的类型

 

 替换与合并

格式化字符串

 

 

 

encode() 将str转换成字节型

posted @ 2021-01-27 12:59  ATKevin  阅读(117)  评论(0编辑  收藏  举报