重拾一些以前学过的Python笔记
一、字符串、列表、元组、字典操作
"""
===================
==== 字符串操作 ====
===================
"""
# 截取下标为1到3之间的字符串,默认下标从0开始
# === 结果:el ===
Str = 'helloWorld!'
print(Str[1:3])
# ===没有下标默认从头开始截取或截取到尾部 结果:hello oWorld! ===
print(Str[:5])
print(Str[4:])
# === 重复打印字符串四次 *代表重复 结果:helloWorld!helloWorld!helloWorld!helloWorld! ===
print(Str * 4)
# 字符串拼接 helloWorld!yes
print(Str + "yes")
"""
=======================
==== 列表、元组操作 ====
=======================
"""
# 定义列表,也可以用于字符串类似的截取功能
List = ['L', 'O', 'V', 'E']
# 访问及打印列表的元素 结果:V ['L', 'O', 'V', 'E']
print(List[2])
print(List)
"""
增加元素几种方式
添加结果显示分别为:
['L', 'O', 'V', 'E', '!']
['L', 'i', 'O', 'V', 'E', '!']
['L', 'i', 'O', 'V', 'E', '!', 'm', 'e']
"""
# 在列表末尾追加元素
List.append('!')
print(List)
# 在指定位置插入元素
List.insert(1, 'i')
print(List)
# 将元素拆分成单个元素添加到末尾
List.extend("me")
print(List)
"""
删除元素几种方式
"""
# 按索引删除
List.pop(1)
print(List)
# 按元素删除
List.remove("V")
print(List)
# 清除所有
# List.clear()
"""
修改元素
"""
List[3] = "H"
print(List)
"""
元组与列表类似,唯一的区别是元组创建后不可以改变元素
"""
# 创建一个元组
array = ("1", "2", "3")
"""
=======================
==== 字典 ====
=======================
"""
# 定义字典
dist = {"name": "liuBei", "sex": "男", "age": 20}
# 根据键查询 结果:liuBei
print(dist["name"])
# 打印字典元素
print(dist)
# 遍历值
for key in dist:
print(dist[key])
# 修改
dist["name"] = "gunYu"
二、类
"""
============
==== 类 ====
============
"""
"""
单下划线、双下划线、头尾双下划线说明:
__foo__: 定义的是特殊方法,一般是系统定义名字 ,类似 __init__() 之类的。
_foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *
__foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。
"""
class User:
# 私有方法
__name = "liuBei"
__age = 14
__birth = "2010"
# 构造方法
def __init__(self, name, age, birth):
self._User__name = None
self.__name = name
self.__age = age
self.__birth = birth
# set方法
def setName(self, name):
self.__name = name
def setAge(self, age):
self.__age = age
def setBirth(self, birth):
self.__birth = birth
# get方法
def getName(self):
return self.__name
def getAge(self):
return self.__age
def getBirth(self):
return self.__birth
# 类似于Java中的toString方法
def __str__(self):
return 'name:%s age:%d birth:%s' % (self.__name, self.__age, self.__birth)
# 创建对象
user = User("liLa", 12, "2013")
# 获取私有属性方法1name
str = User.getName(user)
print(str)
print(user)
# 获取私有属性方法2name
print(user._User__age)
三、文件操作
"""
==================
==== 文件操作 =====
==================
"""
import os
# 打开文件,模式为读写,指针指向开始
text = open("hello.txt", "r+")
# 写入内容到文件
# text.write("人生苦短,我学python!")
# 读取文件内容 console:读取的文件内容为:人生苦短,我学python!
texts = text.read()
print("读取的文件内容为:" + texts)
# 定位文件中当前位置 console:当前位置 23
position = text.tell()
print("当前位置", position)
# 在文件中定位位置 参数1:要移动的字节数(一个汉字两个字节) 参数2:参考位置 (0表示开始,1表示当前,2表示末尾)
# console:生苦短,我学python!
find = text.seek(2, 0)
textr = text.read()
print(textr)
text.close()
# 文件重命名(oldFile,newFile)
# os.rename("hello.txt", "hello1.txt")
四、其他
import time
import calendar
# 输入函数input或者raw_input,区别是前者可以输入运算表达式
inputs = input("请输入")
print(inputs)
# 获取当前时间 Mon Jun 8 19:36:11 2020
localTime = time.asctime(time.localtime(time.time()))
print(localTime)
times = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(times)
calendars = calendar.month(2020, 6)
print(calendars)
# 定义函数
def prints(str):
print(str)
return
# 调用函数
prints("你好")
# 使用lambda表达式定义一个匿名函数类似于java中的lambda表达式 30
sums = lambda arg1, arg2: arg1 + arg2
print(sums(10, 20))
# 打印time模块的所有内置函数
content = dir(time)
print(content)
五、数据库操作(mysql)
import mysql.connector
# 连接数据库
cnn = mysql.connector.connect(user='root',
password='123456',
host='127.0.0.1',
database='login'
)
print("连接数据库成功")
# 建立游标
cursor = cnn.cursor()
# 定义sql
sql = """
select *from user
"""
try:
# 执行sql
cursor.execute(sql)
# 获取数据
results = cursor.fetchall()
List1 = []
List2 = []
# 遍历
for result in results:
print(result)
Id = result[0]
userName = result[1]
passWord = result[2]
List2.append("Id=" + str(Id))
List2.append("userName=" + userName)
List2.append("passWord=" + passWord)
List1.insert(-1, List2)
# 打印
# print("id=%d,username=%s,password=%s" % (Id, userName, passWord))
print(List1)
except:
print("没有获取数据")
# 关闭游标及数据库连接
cursor.close()
cnn.close()
六、多线程
import threading
import time
class MyThread(threading.Thread):
def __init__(self, ThreadId, name):
threading.Thread.__init__(self)
self.ThreadId = ThreadId
self.name = name
def run(self):
flag = 5
while flag:
time.sleep(2)
print(str(self.ThreadId) + self.name + time.ctime(time.time()))
flag -= 1
myThread1 = MyThread(1, "A")
myThread2 = MyThread(2, "B")
myThread1.start()
myThread1.join()
myThread2.start()
myThread2.join()
七、网络编程
- 服务端
import socket
"""
==== 服务端 ====
"""
# 创建socket对象
sockets = socket.socket()
# 绑定ip和端口
host = socket.gethostname()
post = 8083
sockets.bind((host, post))
# 监听连接
sockets.listen(5)
while True:
# 建立连接fd:连接,addr:客户端地址
fd, addr = sockets.accept()
print("地址:", addr)
data=fd.recv(1024)
print("recv:",data.decode())
fd.send("你好客户端".encode())
print("关闭连接")
break
fd.close()
- 客户端
import socket
client = socket.socket()
# 连接ip和端口
host = socket.gethostname()
post = 8083
client.connect((host, post))
while True:
msg = "你好呀服务器!"
client.send(msg.encode('utf-8'))
data = client.recv(1024)
print('data:', data.decode())
break
client.close()
本文来自博客园,作者:猿大佛,转载请注明原文链接:https://www.cnblogs.com/hushaoz/p/15484131.html

浙公网安备 33010602011771号