Record study record life
Python学习笔记
Python学习笔记

Python学习笔记

python基础语法学习笔记

一、变量和简单数据类型

print("hello world")
message = "hello pycharm "
print(message)

message="hello"
print(message)
print("*********************************")

name="ada loveLace"
print(name)
print(name.title())#令首字母大写
print(name.upper())#令全部字母大写
print(name.lower())#令全部字母小写
print("*********************************")

first_name="ada"
last_name="lovelace"
full_name=first_name+" "+last_name
print(full_name)
full_name=f"{first_name} {last_name}" #f是fomat(设置格式的缩写)
print(full_name)
message=f"Hello, {full_name.title()}"
print(message)
print("*********************************")

favorite_language=" python  "
print(favorite_language)
favorite_language=favorite_language.rstrip()
print(favorite_language)
print("*********************************")

message="One of Python's strengths is its diverse community."
print(message)
message= 'One of Python\'s strengths is its diverse community. '  #单引号需要转译
print(message)
print("*********************************")

number=19_000_000_000#下划线可以提高可读性,不影响最终的值
print(number)

MAX_CONECTIONS = 5000   #python没有内置的常量类型,一般用全大写来表示某个变量为常量
print(MAX_CONECTIONS)

import this     #Python之禅

二、列表简介

#打印自行车列表
bicycles=['trek','cannondale','redline','specialized']
print(bicycles)

#访问列表元素
print(bicycles[0]+" "+bicycles[3].title())

#修改添加和删除
bicycles[0]="fenghuang"#修改
print(bicycles)
bicycles.append("yueye")#增加
print(bicycles)
bicycles.insert(1,"yundong")#插入
print(bicycles)
del bicycles[0]#删除
print(bicycles)
poped=bicycles.pop()#pop删除最后一个,赋予给变量poped
print(bicycles)
print(poped)
bicycles.remove('yundong')#根据值删除元素
print(bicycles)

#排序
bicycles.append("aaa")
print(bicycles)
print(sorted(bicycles))#sorted暂时性排序
print(bicycles)
bicycles.sort()#sort永久性排序
print(bicycles)

#反序
bicycles.reverse()
print(bicycles)

#确定列表长度
print(len(bicycles))

三、操作列表

#遍历整个列表
magicians=['alice','david','carolina']
for magician in magicians:
    print(magician)

for magician in magicians:
    print(f"{magician.title()},that was a great trick!")
    print(f"I can't wait to see your next trick,{magician.title()} \n")
print("Think you,every.That was great magic show!")###Python根据缩进来判断代码和前一行代码之间的关系

for value in range(0,8):
    print(value)
#用range函数创建数字列表
number=list(range(1,9))#用list()函数将range()的结果直接转换为列表
print(number)

squares=[]
for value in range(1,11):
    square = value**2
    squares.append(square)
print(squares)

#对数字列表执行简单的统计计算
digits=[1,2,3,4,5,6,7,8,9,0]
print(min(digits))
print(max(digits))
print(sum(digits))
print(digits[2:7])#切片
#复制列表
a=digits[:]
print(a)

#元组:和列表雷士但是列表是可以修改的,元组内的值是不可变的--->不可便的列表被称为元组
dimensions=(20,50)
print(dimensions[0])
print(dimensions[1])

#dimensions[0]=111#这是错的,元组内容是不可修改的
for dimension in dimensions:
    print(dimension)

四、if语句

cars = ['audi', 'bmw', 'subaru', 'toyota']
for car in cars:
    if car == 'bmw':
        print(car.upper())
    elif car == 'subaru':
        print(car.lower())
    else:
        print(car.title())

五、字典

#字典
info={"name":"吴彦祖","age":18}

#字典的访问
print(info["name"])
print(info["age"])

#访问了不存在的键
#print(info["gender'])   #直接访问,会报错

print(info.get("gender"))  #使用get方法,没有找到对应的键,默认返回:None

print(info.get("age","m"))
print(info.get("gender","m"))   #没有找到的时候,可以设定默认值

#增删改查

#增
newID=input("请输入ID:")
info["id"]=newID

print(info)


#删
#[del]
print("删除前:",info)

del info["id"]
print("删除后:%s"%info)

#clear
info.clear()
print("清空后:%s"%info)

#改
info={"name":"吴彦祖","age":18}
info["age"]=30
print(info["age"])

#查
print(info.keys())   #得到所有的键(列表)

print(info.values()) #得到所有的值(列表)

print(info.items())  #得到所有的项(列表),每个键值对是一个元组

#遍历所有的值
for key in info.keys():
    print(key)

for value in info.values():
    if value == 30:
        print("年龄:%d"%value)
    else:
        print("姓名:%s"%value)
#遍历左右键值对
for key,value in info.items():
    print("key=%s,value=%s"%(key,value))

#使用枚举函数,同时拿到列表中的下标和元素内容

mylist=["a","b","c","d","e","f","g"]

for i,x in enumerate(mylist):
    print(i+1,x)

六、函数

##函数

def printinfo():
    print("--------------------")
    print("心有猛虎,细嗅蔷薇!")
    print("-"*20)

printinfo()
#-------------------------------------------------
#带参函数

def add2Num(a,b):
    return a+b

print(add2Num(11,22))

#返回多个值的函数
def divid(a,b):
    shang=a/b
    yushu=a%b
    return shang,yushu      #多个返回值用逗号分隔
sh,yu=divid(5,2)          #需要使用多个值来保存返回内容
print("商是:%d\n余数是:%d"%(sh,yu))
print(divid(5,2))

#---------------------------------------------------------
#全局变量和局部变量
def test1():
    a=300
    print("test1----修改前:a=%d"%a)
    a=100
    print("test1----修改后:a=%d" % a)
a=1
test1()
print(a)
def test2():
    global a     #global代表生命全局变量在函数中的标识符
    a=666
    print(a)

test1()
print(a)
test2()
print(a)#全局变量a在test2中被修改了
#以下是输出结果
'''
test1----修改前:a=300
test1----修改后:a=100
1
test1----修改前:a=300
test1----修改后:a=100
1
666
666
'''

七、文件操作

模式描述
r以只读⽅式打开⽂件。⽂件的指针将会放在⽂件的开头。这是默认模式。
rb以⼆进制格式打开⼀个⽂件⽤于只读。⽂件指针将会放在⽂件的开头。这是默认模式。
r+打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。
rb+以⼆进制格式打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。
w打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则打开⽂件,并从开头开始编辑,即原有内容会被删除。如果该⽂件不存在,创建新⽂件。
wb以⼆进制格式打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则打开⽂件,并从开头开始编辑,即原有内容会被删除。如果该⽂件不存在,创建新⽂件。
w+打开⼀个⽂件⽤于读写。如果该⽂件已存在则打开⽂件,并从开头开始编辑,即原有内容会被删除。如果该⽂件不存在,创建新⽂件。
wb+以⼆进制格式打开⼀个⽂件⽤于读写。如果该⽂件已存在则打开⽂件,并从开头开始编辑,即原有内容会被删除。如果该⽂件不存在,创建新⽂件。
a打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。
ab以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。
a+打开⼀个⽂件⽤于读写。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。⽂件打开时会是追加模式。如果该⽂件不存在,创建新⽂件⽤于读写。
ab+以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。如果该⽂件不存在,创建新⽂件⽤于读写。
#文件操作


f=open("test.txt","a+")      #打开文件,w模式(写模式),文件不存在就新建
f.write("心有猛虎,细嗅蔷薇!\n")   #将字符串写入文件当中
f.close()   #关闭文件


#read 方法 读取指定的字符,开始时定位在文件头部,每执行一次向后移动指定字符数
f=open("test.txt","r")
s=f.read(5)
print(s)
s=f.read(5)
print(s)
f.close()

#---------------------------------------------
f=open("test.txt","r")
content=f.readlines()   #一次性读取全部文件为列表,每行一个字符串元素
print(content)

i=1
for temp in content:
    print("%d:%s"%(i,temp))
    i+=1
f.close()
#----------------------------------------------
#readline 一次读取一行
f=open("test.txt","r")
s=f.readline()

print("1:%s"%s)

s=f.readline()
print("2:%s"%s)
f.close()
#-----------------------------------------------
#修改文件名
import os
os.rename("test.txt","修改后的名字.txt")
#删除文件
import  os
os.remove("修改后的名字.txt")

八、异常处理

import time

try:
    print("-----test---1-----")

    open('123.txt', "r")
    print("-----test---2-----")
except IOError:
    open('123.txt', "w")
    pass

#变量没有声明
try:
    print(num)
except NameError:
    print("产生错误了!")


#多种异常
try:
    print("-----test---1-----")
    print(num)
    open('123.txt', "r")

    print("-----test---2-----")
except (IOError,NameError) as result:   #将可能产生的所有异常类型,都放到下面的小括号中,result是自己定义被变量,显示产生异常的类型
    print("产生错误了!")
    print(result)
finally:
    print("结束!")


#捕获所用异常
#        except Exception as result:

try:
    f=open("123.txt","r")
#接下来若文件存在打开后,每秒两次打印一行
    try:
        while True:
            content = f.readline()
            if len(content) == 0:
                break
            time.sleep(2)
            print(content)
    finally:
        f.close()
        print("文件关闭")

except Exception as result:
    print("发生异常。。。")

正则表达式

赞赏

微信赞赏 支付宝赞赏

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注