Python学习笔记

day1

#文件操作
fp = open('D:/text.txt','a+')
print('hello word',file = fp)
fp.close()

#变量有三个属性
name = '肖本杰'
print('内存',id(name))
print('类型',type(name))
print('值',name)

#变量字符串连接
name = '李四'
age = 378
print('我叫' +name+ '今年' +str(age)+ '岁')

#提示输入(默认变量为字符串类型)
input()返回值为str类型
a = int(input('请输入第一个加数'))
b = int(input('请输入第二个加数'))
print(a+b)

#整除运算
print(11//2) #//整除运算符  输出5

#次方运算
print(2**3)  #表示2三次方

#链式赋值
a=b=c=20

#解包赋值
a,b,c=20,30,40

#交换两变量值
a,b=20,30
a,b = b,a
print(a,b)  //输出30,20

#比较运算符(标识,类型,值)
>,<,>=,<=,!=,==是对vaue比较
is, is not 是对id比较
返回结果是布尔类型
a,b=20,30
print('a>b吗',a>b)  //输出false

#逻辑运算符
a,b=1,2
s='hello word'
print(a==1 and b==2) 
print(a==1 or b==3)   
print(not a)         //false
print('w' in s)      //true
print('w' not in s)  //false

#位运算
& | << >>

在这里插入图片描述

#分支结构
money=int(input('输入一个整数'))
if money<100:
    print('金额小于100')
    if money%2!=0:
        print('金额为奇数')
    else:
        print('金额为偶数')
elif money>100 and money<200:
    print('金额大于100小于200')
else:
    print('金额大于200')

day2

#条件表达式
'''
语法:
x if 判断条件 else y
运算规则:判断条件为true 返回值为x,判断条件为false 返回值为y
'''
num_a = int(input('输入a的值'))
num_b = int(input('输入b的值'))
print(str(num_a)+'大于'+str(num_b)  if num_a>num_b else str(num_a)+'小于或者等于'+str(num_b))

#pass语句
什么都不做,只是一个占位符,用到需要写语句的地方
answer = input('您是会员吗?')
if answer == 'y':
    pass
else:
    pass

#range()
r=range(10) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],默认从0开始,默认相差1成为步长
print(r) #输出 range(0,10)  返回值是一个迭代器
print(list(r)) #用于查看range对象中的整数序列  输出[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

r=range(1,10) #[1, 2, 3, 4, 5, 6, 7, 8, 9],1开始,10结束,默认步长为1

r=range(1,10,2) #[1, 3, 5, 7, 9],1开始到10结束,步长为2

print(10 in r) #false 判断10是否在r序列中
print(10 not in r) #true

#循环
#while循环
while 条件:
	循环体

#for循环
for item in 'Python':
    print(item)   //输出P y t h o n
    
for item in range(10):
    print(item)  //输出0,1,2,3,4,5,6,7,8,9
    
for _ in range(5):   //循环重复5遍
    print('人生苦短,我用Python')

#else搭配循环
当循环正常执行完(没有遇到break),会执行else语句
forelsewhile:
else:

###################################列表###########################################
#创建列表对象
lst = ['hello','world',98] #第一种方式,使用[]
lst2 = list(['hello','world',98]) #第二种方式,使用内置函数list()

#切片
#语法 列表名[start:stop:step]        不包括stop
#     列表名[::-1]  列表逆序

# 遍历
for item in lst:
    print(item,end=' ')
#=========================增
lst = [1,2,3,4,5,6,7]
#添加一个元素
lst.append(7)
#添加多个元素
lst.extend(lst2)
#在指定位置插入元素
lst.insert(1,90)   #在1的位置上插入90
#=========================删
lst = [1,2,3,4,5,6,7]
#移除列表中一个元素
lst.remove(6)
#根据索引移除元素
lst.pop(1)  #移除索引为1的元素,不指定参数删除最后一个
#利用切片删除元素
lst[1:3]=[]  #使用空列表替换
#清除列表
lst.clear()
#清除列表对象
del lst
#=========================改
lst = [1,2,3,4,5,6,7]
lst[1:3]=[4,7,3,4,5,6]  #利用切片批量修改
print(lst)
#=========================排序
lst = [1,4,2,7,5,3,8,9]
lst.sort()  #默认升序
lst.sort(reverse=True) #降序
lst2 = sorted(lst,reverse=True)  #原列表不变,产生新的列表对象

#列表生成式
lst = [i for i in range(1,9)]
print(lst)    #输出[1, 2, 3, 4, 5, 6, 7, 8]

===================================字典============================================
#字典创建方式
#第一种,创建多个字典对象
scores={'张三':100,'李四':98,'王五':45}

#第二种,创建一个字典对象
student=dict(name='张三',age=98)

#字典的获取
print(scores['张三'])  #第一种,键不存在报错
print(scores.get('张',0)) #第二种,若不存在返回0

#字典常见操作
print('张三' in scores)   #判断键值是否存在
print('张三' not in scores)
del scores['张三'] #删除指定的key-value对
scores['陈六']=100 #新增
scores['张三']=78 #修改
scores.clear()  #清空字典的元素

scores={'张三':100,'李四':98,'王五':45}
#获取所有的键
keys = scores.keys()
print(keys)   #输出 dict_keys(['张三', '李四', '王五'])
#将键值转化为列表
print(list(keys))  #输出 ['张三', '李四', '王五']

#获取所有的值
values = scores.values()
print(values) #输出 dict_values([100, 98, 45])
#将值转化为列表
print(list(values)) #输出 [100, 98, 45]

#获取所有的key-value对
items = scores.items()
print(items)  #输出 dict_items([('张三', 100), ('李四', 98), ('王五', 45)])

#字典遍历
for item in scores:
    print(item,scores[item])  #item为key

#字典列表生成式
items=['Fruits','Books','Others']
prices=[96,78,85]
d={item:price for item,price in zip(items,prices)}
print(d)

=============================元祖=================================
#元祖的创建方式
'''第一种,使用()'''
t = ('python','world',98)
'''第二种创建方式'''
t1 = tuple(('Python','world',98))

#空列表创建
lst = []
lst1 = list()
#空字典创建
d={}
d1=dict()
#空元祖创建
t=()
t=tuple()

=========================================集合========================================
#集合创建
'''第一种创建方法'''
s = {2,3,4,5,6,7,8}  #集合元素不允许重复
'''第二种创建方法'''
s1 = set(range(6))

s2 = set([1,2,2,3,3,4,4,5])  #列表转集合
s3 = set((1,1,2,2,5,5,6,7))  #元祖转集合
s4 = set('python') #字符串转集合
s5 = set() #创建空集合,只能使用此种方式与字典区别开

#集合相关操作
s = {10,20,30,40,50,60}
print(10 in s )  #判断
s.add(100) #添加一个元素
s.update({200,400,300}) #集合中添加多个元素、
s.remove(50) #删除,无报异常
s.discard(1000) #删除,无不报异常
s.pop() #随机删除一个元素
s.clear() #清空集合元素

'''集合关系'''
s1 = {10,20,30,40,50,60}
s2 = {10,20,30,40}
s3 = {10,20,90}
print(s2.issubset(s1)) #s2是否为s1的子集  True
print(s1.issuperset(s2)) #s1是否为s2的超集  True
print(s2.isdisjoint(s3)) #s2与s3是否没有交集  false
print(s1.intersection(s2)) #s1与s2的交集
print(s1 & s2) #s1与s2的交集
print(s1.union(s1)) #s1与s2的并集
print(s1 | s2)  #s1与s2的并集
print(s1.difference(s2)) #s1与s2的差集
print(s1 - s2) #s1与s2的差集
print(s1.symmetric_difference(s2)) #s1与s2的对称差集
print(s1^s2 ) #s1与s2的对称差集

#集合生成式
s = {i for i in range(10)}
print(s)

在这里插入图片描述

==================================字符串=========================================
#查询操作
s = 'hello hello'
print(s.index('lo')) #查询第一次出现位置,未找到抛异常
print(s.find('lo')) #查询第一次出现位置,未找到返回-1
print(s.rindex('lo')) #反向查询第一次出现位置
print(s.rfind('lo')) #方向查询第一次出现位置
#大小写转化
print(s.upper())  #转大写
print(s.lower())  #转小写
print(s.swapcase())  #大小写相反转换
print(s.capitalize()) #第一个字符大写,其余小写
print(s.title()) #每个单词第一个字符转换为大写,每个单词剩余字符转化为小写

#对齐
s = 'hello,python'
print(s.center(20,'#')) #宽度20,居中对齐,#填充   输出:####hello,python####
print(s.ljust(20,'#'))  #宽度20,左对齐,#填充    输出:hello,python########
print(s.rjust(20,'#'))  #右对齐

#分割字符串
s = 'hello world Python'
lst = s.split()   #默认按空格分割,返回一个列表
print(lst)  #输出 ['hello', 'world', 'Python']

s = 'hello|world|python'
lst = s.split('|')  #按照'|'分割
print(lst)   #输出  ['hello', 'world', 'python']

s = 'hello|world|python'
lst = s.split(sep = '|',maxsplit=1) #按照'|'分割,分割一个字符
print(lst) #输出 ['hello', 'world|python']

print(s.rsplit()) #从右往左分割

#字符串判断
s.isidentifier()  #判断是否合法标识符
s.isalpha() #判断是否全部由字母组成
s.isdecimal()  #判断是否全部由十进制数字组成
s.isnumeric() #判断是否全部由数字组成
s.isalnum() #判断是否由字母和数字组成

#字符串替换
s = 'hello,python'
print(s.replace('python','java'))  #python替换为java
s1 = 'hello,python,python,python'
print(s1.replace('python','java',2)) #前两个python替换为java

#字符串连接
lst=['hello','java','python']
print('|'.join(lst)) #用'|'将列表字符串连接   输出hello|java|python
print(' '.join(lst)) #用空格将列表字符串连接  输出hello java python
print('*'.join('Python')) #输出P*y*t*h*o*n

'''比较
> < == >= <= !=
'=='比较value值
is 比较id(内存地址) 
'''

#字符串也可以切片

#格式化字符串
name='张三'
age=20
print('我叫%s,今年%d岁' % (name,age))  #第一种占位  %d %s %f 和C语言使用一样        输出 我叫张三,今年20print('我叫{0},今年{1}岁,{0}是我的名字'.format(name,age)) #第二种占位使用format      输出 我叫张三,今年20,张三是我的名字
print('我叫{name},今年{age}岁') #第三种占位                                         输出 我叫{name},今年{age}=================================函数============================================
'''===============程序演示函数格式========================='''
def calc(a,b):
    return a+b
print(calc(10,20))
print(calc(b=100,a=200)) #指名道姓传参

'''===============程序演示返回值==========================='''
def fun(num):
    add=[] #存奇数列表
    even=[] #存偶数列表
    for i in num:
        if i%2==0:
            even.append(i)
        else:
            add.append(i)
    return add,even
lst = [23,45,64,24,67,45,42,76,57,59]
print(fun(lst))   #输出 ([23, 45, 67, 45, 57, 59], [64, 24, 42, 76])

#函数默认参数
def fun(a=10,b=20):
    print(a,b)
fun(100)    #输出 100 20
fun(20,30)  #输出 20 30

print('hello',end='|') #修改了默认值,结束为|

'''=================================演示个数可变位置形参============================================='''
def fun(*args):  #任意个数形参,结果为元祖
    print(args)
    print(args[0])
fun(10)          #输出 (10)  10
fun(20,30)       #输出 (20,30) 20
fun(30,405,50)   #输出 (30,405,50) 30

def fun2(**args): #任意个数形参,结果为字典
    print(args)
fun2(a=10)             #输出 {'a': 10}
fun2(a=20,b=30,c=40)   #输出{'a': 20, 'b': 30, 'c': 40}

def fun3(a,b,c):
    print(a,b,c)
lst = [10,20,30]
fun3(*lst)  #在函数调用时,将列表中的每个元素都转换为位置实参传入
dic = {'a':100,'b':300,'c':400}
fun3(**dic)  #输出  100 300 400

'''局部变量使用global 定义则为全局变量'''
def fun():
    global age
    age = 100
fun()
print(age)      #使用了global,age可作为全局变量使用
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值