Python基本操作

Python基本操作

阿成整理
# 1.函数定义
# def counter_letter_number(string):
#     m = 0
#     n = 0
#     for s in string:
#         if s in 'abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ':
#             m += 1
#         elif s in '0123456789':
#             n += 1
#     return m, n
#
# print(counter_letter_number("bihb"))
# # 直接返回结果
#
# def main(): # 无返回结果,因为又是一个函数
#     print(counter_letter_number('a1b2c3d4'))
#     print(counter_letter_number('a123456b'))
#     print(counter_letter_number('123456!!'))
#
# main()  # 调用

# #######################################################################################################################

# 2.函数定义升级版
# def counter_letter_number(string):
#     letter_counter = 0
#     digit_counter = 0
#     alist = []
#     blist = []
#     for ch in string:
#         if 'a' <= ch <= 'z' or 'A' <= ch <= 'Z':
#             letter_counter += 1
#             alist.append(ch)
#         elif '0' <= ch <= '9':
#             digit_counter += 1
#             blist.append(ch)
#     return letter_counter, alist, digit_counter, blist
# # 无返回
# # def main():
# #     print(counter_letter_number('a1b2c3d4'))
# #     print(counter_letter_number('a123456b'))
# #     print(counter_letter_number('123456!!'))
# # 返回
# print(counter_letter_number('a1b2c3d4'))
# print(counter_letter_number('a123456b'))
# print(counter_letter_number('123456!!'))

# ########################################################################################################################

# 3.写函数
# import numpy as np
# def read():
#     fp = open("txt2.txt", "w")
#     for i in range(1, 101):
#         n = np.random.randint(1, 1000)
#         fp.write(str(i) + "->" + str(n) + "\n")
#     fp.close()
#
# def main():
#     read()
#
# if __name__ == '__main__':
#     main()

# ########################################################################################################################

# 4.写函数升级版
# import random
# def read():
#     fp = open("txt3.txt", "w")
#     for i in range(1, 101):
#         n = random.randint(1, 1000)
#         fp.write(str(i) + "->" + str(n) + "\n")
#     fp.close()
#
# def main():
#     read()
#
# if __name__ == '__main__':
#     main()

# ########################################################################################################################

# 5.读函数
# def read():
#     fp = open("txt2.txt")
#     lines = fp.readlines()
#     fp.close()
#     return lines
# def main():
#         for line in read():
#           print(line)
# if __name__ == '__main__':
#     main()

# ########################################################################################################################

# 6.数的转换
# dec = int(input("输入数字:"))
# print("十进制数为:",dec)
# print("转换为二进制:",bin(dec))

# ########################################################################################################################

# 7.集合运算
# alist = ['a','b','c','d','e','f']
# blist = ['x','y','z','d','e','f']
# result = list(set(alist).union(set(blist)))
# print(result)
# result.sort()            # 排序
# print(result)
# result.reverse()
# print(result)

# ########################################################################################################################

# 8.字符串倒序排列
# 因字符串无法直接倒序排列,所以先把字符串转化为列表,然背对列表倒序排列
# s = 'asjhjhjnl'
# clist = list(s)          # 字符串转列表
# print(clist)             # 已经转换成了列表
# clist.reverse()          # 倒序排列
# print("".join(clist))    # 列表转字符串#####################################
# print(clist)             # 打印字符串

# ########################################################################################################################

# 9.列表计算
# a = ['abc']
# b = ['def']
# a.append('g')
# print(a)
# c = a.append(b)
# print(a)

# ########################################################################################################################

# 10.列表生成式
# l2 = [x*x for x in range(1,11) if x%2==0]
# print(l2)

# ########################################################################################################################

# 11.格式输出函数
# c = (250,250)
# s2 = "坐标:%s"%(c,)
# print(s2)
# s3 = "坐标:{}".format(c)
# print(s3)

# ########################################################################################################################

# 12.字符串操作
# a1=[]
# b1=[]
# c1=[]
# def find1(string):
#     for i in string:
#         if 'a' <= i <= 'z':
#             a1.append(i)
#         elif 'A' <= i <= 'Z':
#             b1.append(i)
#         elif '0' <= i <= '9':
#             c1.append(i)
#     return a1,b1,c1
#
# print(find1("qnhjTG89"))          # 返回a1,b1,c1三个单独列表
# print("小写字母",",".join(a1))    # 列表转换为字符;字符直接转化为列表 a=list(string)
# print("大写字母",",".join(b1))
# print("数字",",".join(c1))

# ########################################################################################################################

# 13.字典操作
# dict={'k': '1', 'k1': '2', 'k2': '3', 'k3': '4', 'k4': '5'}
# print(dict['k2'])

# ########################################################################################################################

# 切片
# str1 = "k:1*k1:2*k2:3*k3:4*k4:5"
# print(str1.split('*'))   # 返回列表

# ########################################################################################################################

# 字典生成
# dict1 = {}
# str1='k:1'
# key,value = str1.split(':')
# dict1[key] = value
# print(dict1)

# ########################################################################################################################

# 14.字符转字典
# str1 = "k:1|k1:2|k2:3|k3:4|k4:5"
# def str2dict(str1):
#     dict1 = {}
#     for iterms in str1.split('|'):     # |处切片进行迭代,返回列表,相当于列表迭代 ['k:1', 'k1:2', 'k2:3', 'k3:4', 'k4:5']
#         key,value = iterms.split(':')  # :处切片进行定义                      iterms = 'k:1'
#         dict1[key] = value             # 新字典生成
#     return dict1
# print(str2dict(str1))  # 调用函数

# ########################################################################################################################
# 15.列表生成
# li = list(range(10))                  ####################################################################################
# print([x for x in range(10)])         ####################################################################################
# print(range(10))
# print(li)
# print(li[1::])

# ########################################################################################################################

# 16.大小写转化
# L = ['HH','Jjjj','JJJPOPOkkk']
# f='njnwNJNJKKkmKMk;;Mm;'
# print([s.lower() for s in L])  # 大写转小写
# print([s.upper() for s in L])  # 小写转大写
# print(f.lower())

# ########################################################################################################################

# 17.斐波拉且数列
# a = 0
# b = 1
# while b < 10:
#     print(b)
#     a, b = b, a+b             # a,b=b,a+b这个表达式的意思就是说先计算=号的右边b的值,a+b的值,然后再分别赋值给a 和b
#     # a = b
#     # b = a + b               #

# ########################################################################################################################

# 18.打印星星
# def printGraph(n):                  # n为行数
#     for i in range(1, n+1):         # i为行数
#         for j in range(1, n-i+1):   # 计算每行行首空格数
#             print(' ', end='')      # 打印每行行首空格数
#         for k in range(1, 2*i):     # 计算每行星星数
#             print('*', end='')      # 打印每行星星数
#         print('')                   # 每行行尾打印空行
# printGraph(8)


# 18.打印星星升级版
# def printGraph(n):
#     for i in range(1,n+1):
#         print(    ' '*(n-i)    +     '*'*(2*i-1)     )
#
# printGraph(8)

# ########################################################################################################################

# 19.查看当前目录下的文件
# import os
# for d in os.listdir('.'):
#     print(d)

# ########################################################################################################################

# 20.查看当前目录下的文件升级版
# import os
# [print(d) for d in os.listdir('.')]

# ########################################################################################################################

# 21.生成随机数,写入到文件中
# import random
# fp=open("abc.txt","w")
# for i in range(1,101):
#     n=random.randint(1,1000)
#     fp.write(     str(i)     +"->"    +str(n)    +    "\n")
# fp.close()

# ########################################################################################################################

# 22.查看某个目录下的文件
# import os
# def print_dir(input1):
#     #filepath=input("请输入路径:")
#     filepath = input1
#     if filepath=="":
#         print("请输入正确路径")
#     else:
#         for i in os.listdir(filepath):
#             print(os.path.join(filepath,i))    # print("".join(clist))    # 列表转字符串
#
# print(print_dir(input("请输入路径:")))

# ########################################################################################################################

# 23.打印九九乘法表
# for i in range(1,10):       # 行
#     for j in range(1,i+1):  # 列
#         print('%d*%d=%d'%(j,i,j*i),end='\t')
#     print('')

# ########################################################################################################################

# 24.打印倒三角
# def printGraph(n):
#     for i in range(1,n+1):
#         print(     ' '*(i-1)      +    '*'*(2*(n-i)+1)    )
# printGraph(8)

# ########################################################################################################################

# 25.os和sys,os与操作系统有关,sys与程序和解释器有关
# 1,2,3,4,5生成互不相同的无重复三位数
# i=0
# for x in range(1,6):
#     for y in range(1,6):
#         for z in range(1,6):
#             if (x!=y) and (y!=z) and (z!=x):
#                 i+=1  # i 表示生成三位数的个数
#                 if i%6:
#                     print("%d%d%d"%(x,y,z),end="|")
#                 else:
#                     print("%d%d%d"%(x,y,z))

# ########################################################################################################################

#############
# 类->无参数 #
#############

# class Student:
#     def __init__(self):  # 无参数占位
#         self.name='zhangsan'
#         self.age=12
#         self.dda='sss'
#
#     def shopping(self,item):
#         print('buy %s'%item)
#
# s=Student()  # 实例化,无参数
# print(s.name)
# print(s.dda)
# print(s.age)

#############
# 类->有参数 #
#############

# class Student:
#     def __init__(self,sss):  # 参数占位
#         self.name='zhangsan'
#         self.age=12
#         self.dda=sss
#
#     def shopping(self,item):
#         print('buy %s'%item)
#
# s=Student('cvdecv')  # 实例化,有参数
# print(s.name)
# print(s.dda)
# print(s.age)


# 26.pickle序列化和反序列化

# import pickle
#
# class Student:
#     def __init__(self):
#         self.name='zhangsan'
#         self.age=12
#                                ##############
#     def shopping(self,item):   # 不知道有啥用 #
#         print('buy %s'%item)   # 不知道有啥用 #
#                                ##############
# s=Student()
# print(s.name)
# info=pickle.dumps(s)
# print(info)
#
# s2=pickle.loads(info)
# print(s2.name)

# ########################################################################################################################

# 27.pickle序列化和反序列化升级版
# import pickle
#
# class Student:
#
#     def __init__(self):
#         self.name = 'zhangsan'     # 属性
#         self.age = 12              # 属性
#
#     def shopping(self, item):      # 方法
#         print('buy%s'%item)        # 方法
#
# s = Student()
#
# with open('stu2.data','wb') as fr:
#     pickle.dump(s,fr)
#
# with open('stu.data', 'rb') as fr:
#     s1=pickle.load(fr)
#
# print(s.age)
# print(s.name)
# print(s.shopping('cai'))

# ########################################################################################################################

# 28.with打开文件自动带了异常处理
# import os
#
# baseDir=r'C:\Users\Administrator\PycharmProjects\python进阶'
# filename='abc.txt'
#
# file_path=os.path.join(baseDir,filename)
#
# with open(file_path,'r') as f:
#     for line in f.readlines():
#         print(line)

# #######################################################################################################################

# 29.列出当前目录下所有文件和文件夹名
# import os
# for d in os.listdir('.'):
#     print(d)
#
# #######################################################################################################################

# 30.获取字符串中某个字符的个数
# from collections import Counter             ####### 统计每个字符出现个数 ########
# s='vhjvvc cjk kuebvuce'
# c1=Counter(s)
# print(type(c1))
# print(dict(c1))
# print(Counter([2,4,2,5,6,2]))

# ########################################################################################################################

# 31.用python标准库实现输入某年某月某日,判断这一天是这一年的第几天
# import datetime
# def dayofyear():
#     year =input("请输入年份:")
#     month=input("请输入月份:")
#     day  =input("请输入天:  ")
#     date1 = datetime.date(year=int(year), month=int(month), day=int(day))
#     date2 = datetime.date(year=int(year), month=1, day=1)
#     return (date1-date2).days
#
# print(dayofyear())

# ########################################################################################################################

# 32.计算一个数的阶乘
# num=int(input("请输入一个正整数:"))
# result=1
# for i in range(2,num+1):  # 从2开始循环,最后一个数不参与循环 #
#     result *= i  # result=result*i
# print("%d的阶乘为:"%num,result)

# #######################################################################################################################

# 33.使用json数据处理方式查找字符串{"person":[{"name":"yu","age":"23"},{"name":"zhang","age":"34"}]}第一个姓名
# 无法运行
# import json
# j=json.loads('{"person":[{"name":"yu","age":"23"},{"name":"zhang","age":"34"}]}')
# print(j.values()[0][0]['name'])

# #######################################################################################################################

# 34.定义函数
# def hello():
#     print("hello world!")
# hello()

# #######################################################################################################################

# 35.lamda函数,匿名函数;def用来创建有名称的函数。

# #######################################################################################################################

# 36.单下划线和双下划线的区别
            # 类的定义是否继承object,有什么区别,
            # 不继承object对象,只拥有了__doc__ , __module__ 和 自己定义的name变量
            # 承了object对象,拥有了好多可操作对象,这些都是类中的高级特性

# class Method(object):
#
#     def __init__(self,name,age,sex):
#         # self.__name=name   # 私有
#         self.name = name     # 公有
#         self.age  = age      # 公有
#         self.sex  = sex      # 公有
#
#     def sayhello(self):
#         print("Method say hello!")
#
#     def __sayhi(self):
#         print("Method say hi!")
#
# m=Method('axsa','acs','cacsa')
#
# m.sayhello()
# # m.__sayhi()
# # print(m.__name)
# print(m.name)

# #######################################################################################################################

# 37.字符串的倒序排列
# def string_reverse(input_str):
#     return input_str[::-1]
#
# print(string_reverse("abcdefg"))

# #######################################################################################################################

# 38.字符串的倒序排列
# string="abcdefg"
# clist=list(string)
# clist.reverse()
# print("".join(clist))  # 列表转字符串

# #######################################################################################################################

# 39.随便编写
# class A(object):
#     def __init__(self,a,b):
#         self.a1=a
#         self.a2=b
#         print('init')
#
# a1=A(1,'s')

# #######################################################################################################################

# 40.计算x的n次方

# def power(x,n): # x=2 n=4 说明x 乘3次   (n-1)次
#     s=1
#     while n>0:
#         n=n-1
#         s=s*x
#     return s
#
# print(power(2,4))

# #######################################################################################################################

# 形参,实参问题
# def funcF(a, **b):
#   print(a)
#   for x in b:
#     print(x + ":" + str(b[x]))
#
# funcF(100, c='你好', b=200)

# 定义函数不确定有多少参数时,可用*来表示多个参数
# 41.计算a*a+b*b+c*c+
# def calc(*numbers):
#     sum=0
#     for n in numbers:
#         sum=sum+n*n
#     return sum
#
# print(calc(2,4,5,6))

# #######################################################################################################################

# 42.打印1-10的数字及每个数的平方
# from math import factorial  # 阶乘 factorial
# def main():
#     print('%-10s%-10s%-10s%-10s'%('数字','平方','几何级数','阶乘'))
#     for num in range(1,11):
#         print('%-12d%-12d%-12d%-12d'%(num,num**2,2**num,factorial(num)))
#
# if __name__ == '__main__':
#     main()

# #######################################################################################################################

# 43.生成验证码
# from random import randint
# # def generate_code(length=4):
# #     code_string='qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890'
# #     code=''
# #     for _ in range(length):
# #         code += code_string[randint(0,len(code_string)-1)]
# #     return code
# #
# # def main():
# #     for _ in range(10):
# #         print(generate_code())
# #
# # if __name__ =='__main__':
# #     main()

# #######################################################################################################################

# 44.统计字符串中中英文出现的次数
# def count_letter(string):
#     m=0
#     n=0
#     for s in string:
#         if s in 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM':
#             m+=1
#         elif s in '1234567890':
#             n+=1
#     return m,n
#
# def main():
#     print(count_letter('bjjnjn3j-=-jk44j43'))
#     print(count_letter('by87387=-t48'))
#     print(count_letter('hjbNN 99  PPU*Y77'))
#
# if __name__ =='__main__':
#     main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值