自行研究的python基础的一些操作,写成了小demo,记录一下,以防忘记
分别包含:
随机数
逻辑运算符
条件判断
while循环 + break
for循环
continue跳出当前循环执行下一循环
列表
时间
全局变量
文件 IO
JSON
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import random
import time
import calendar # python3安装命令:pip3 install chineseCalendar
import os
import json
# 这是一个全局变量
param1 = 1
# 随机数
def random__():
# 随机生成0-1的实数
print(random.random())
# 随机生成1-2的实数
print(random.uniform(1, 2)) # uniform(x, y)
# 随机获取序列的元素
num = [1, 5, 4, 6, 77, 34]
print(random.choice(num))
# 随机获取0-9其中一个元素
print(random.choice(range(10)))
# 字符串截取
def string__():
text = 'hello,fine!'
# 获取下标是6的字符
print(text[6])
# 获取下标2-4的字符
print(text[2:5])
# 判断是否不相等
print(text not in 'hello,fine')
# %s 格式化字符串,%d 格式化整数
print("我叫 %s 今年 %d 岁!" % ('小明', 10))
print("我叫 {0} 今年 {1} 岁!".format('小明', 10))
print("输出:我叫 小明 今年 10 岁!")
# 逻辑运算符
def logic__():
# 逻辑运算符 and/ or/ not/ is
if 1<2 and 2<3:
print('全部满足')
if (1<2 or 3<2):
print('其中一条满足')
if not(1 > 2):
print("1没有大于2")
c = [1, 2, 3]
d = [1, 2, 3]
if c is d:
print("判断的是地址,故这里不相等")
if c == d:
print("判断的是值,这里相等")
# 条件判断
def if__():
a = 10
b = 20
c = 30
if a > b:
print('a 大于 b')
elif a > c:
print('a 大于 c')
else:
print('a 最小')
# while循环 + break
def while__():
nums = [34, 55, 79, 22, 3, 10, 25, 67, 88]
even = []
odd = []
while len(nums) > 0:
# 删除并获取最后一位
num = nums.pop()
if num % 2 == 0:
even.append(num)
else:
odd.append(num)
else:
print('这里也可以添加else,while结束啦!偶数:', even, ',奇数:', odd)
# 嵌套循环-求质数
num = 0
i = 2
while i < 100:
j = 2
while j < 100:
if i % j == 0 and i != j:
num = i
break
j += 1
if i != num:
print('质数:', i)
i += 1
# for循环
def for__():
names = ['张三', '李四', '王五', '赵六']
# 直接获取
for name in names:
print(name)
# 通过序列索引获取
for index in range(len(names)):
print(names[index])
# 9*9 乘法表 (break时不会进入else)
for i in range(1, 10):
for j in range(1, 10):
if i <= j:
print('%d * %d = ' % (i, j), i * j)
else:
print('-------%d 以内的乘法结束END' %i)
# continue跳出当前循环执行下一循环
def continue__():
nums = [1, 21, 42, 6, 78, 85]
for num in nums:
if num % 2 == 0:
continue
print(num)
# 列表
def list__():
city = ['长沙', '湘潭', '邵阳', '株洲', '娄底']
# 追加一个元素
city.append('常德')
# 根据下标删除元素
del(city[4])
print('city长度为:', len(city))
# 判断元素是否存在
if '长沙' in city:
print('长沙存在于列表中')
city1 = ['岳阳', '张家界', '益阳', '永州', '邵阳', '......']
# 组合列表
city += city1
print('获取倒数第二个元素:', city[-2])
print('邵阳一共出现了 %d 次' % city.count('邵阳'))
print('邵阳第一次的出现的下标位置: %d' % city.index('邵阳'))
print(city)
print('移除最后一个元素 %s , 当前列表为 %s' % (city.pop(), city))
# 删除邵阳第一个匹配项
city.remove('邵阳')
print(city)
# 倒序
city.reverse()
print('倒序显示:', city)
# 时间
def time__():
ticks = time.time()
print('当前时间戳为:%s' % ticks)
time.localtime(time.time())
localtime = time.strftime('%Y-%m-%d %x', time.localtime())
print('格式化后当前时间为:%s' % localtime)
time.sleep(3)
print('强制睡眠3秒')
month = calendar.month(2021, 7)
print('2021年7月的日历打印:%s' % month)
isleap = calendar.isleap(2021)
print('2021年是否是闰年,是返回true,否返回false:%s' % isleap)
# 全局变量
def global__():
# global:全局变量, 全部变量是数字类型且不添加global的情况下直接赋值会报错
global param1
param1 = param1 + 1
print('改变后的全局变量值是:%d' % param1)
# 文件 IO
def file__():
content = input("请输入:")
print('控制台输入的内容是:%s' % content)
file = open('F:\\1.txt', 'r') # r:以二进制格式打开一个文件用于只读 w:写入 a:追加 带+表示可读写
print('文件名是:%s' % file.name)
print('访问模式是:%s' % file.mode)
with file as f:
print('记事本内容是:%s' % f.read())
file2 = open('F:\\2.txt', 'a')
file2.write('写入了内容。(文件不存在则会自动创建)\n')
# 刷新文件
file2.flush()
file3 = open('F:\\2.txt', 'r+')
with file3 as f2:
print('记事本追加后的内容是:%s' % f2.read())
print('是否关闭:%s' % file.closed)
file.close()
file2.close()
file3.close()
print('再次检查是否关闭:%s' % file.closed)
# 重命名文件
os.rename('F:\\2.txt', 'F:\\new-2.txt')
# 删除文件
os.remove('F:\\new-2.txt')
# 进入指定目录
os.chdir('F:\\temp')
# 获取当前目录
print('当前目录是:%s' % os.getcwd())
# 删除文件夹(只能删除空文件夹)
os.rmdir('F:\\temp')
os.close()
def json__():
data = [{'name': 'Tom', 'sex': '男', 'age': '25'}]
# ensure_ascii处理编码
data2 = json.dumps(data, ensure_ascii=False)
print(data2)
if __name__ == '__main__':
file__()
pass