重拾一些以前学过的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()

七、网络编程

  1. 服务端
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()




  1. 客户端
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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值