系统自动化~01 Python入门
Posted 菠萝菠萝蜜丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统自动化~01 Python入门相关的知识,希望对你有一定的参考价值。
系统自动化~01 Python入门
第一个Python程序
print('hello world')
注释与赋值
#行注释
'''
列注释
'''
#使用\\行连接符
str = 'hello my nam' \\
'e is alvin'
print(str)
#链式赋值
a = b = c = 123
print(a)
print(b)
print(c)
#系列解包赋值
a,b,c = 1,2,3
print(a)
print(b)
print(c)
#使用系列解包赋值实现变量交换
a,b = 1,2
a,b = b,a
print(a)
print(b)
常量
Python 不支持常量,即没有语法规则限制改变一个常量的值。我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值作出修改。
MAX = 100
print(MAX) #实际上可以改,但是代码规范不要改
时间的表示
计算机中时间的表示是从“1970 年 1 月 1 日 00:00:00”开始,以毫秒(1/1000 秒)进行计算。我们也把 1970 年这个时刻成为“unix 时间点”。
python 中可以通过 time.time() 获得当前时刻,返回的值是以秒为单位,带微秒(1/1000 毫秒)精度的浮点值。例如:1530167364.8566。
import time
a = int(time.time())
print(a)
year = time.localtime(time.time())
print(year)
#2021-08-21 12:19:26
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
#Sat Aug 21 12:19:26 2021
print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))
#日历
import calendar
cal = calendar.month(2021, 8)
print("以下输出2021年8月份的日历:")
print(cal)
字符串操作
'''
使用内置函数 ord()可以把字符转换成对应的 Unicode 码;
使用内置函数 chr()可以把十进制数字转换成对应的字符。
'''
print(ord('A'))
print(chr(65))
#len 获取字符串的长度
st= "from this day forward it's going to be ..."
print(len(st))
#字符串拼接
a = 'alvin' + ' is' + ' my' + ' best friend'
print(a)
#字符串的复制
a = 'alvin' * 3
print(a)
#不换行打印
'''
通过参数 end = “任意字符串”。实现末尾添加任何内容
'''
print('alvin' ,end=" is ")
print('today' ,end= ' is special')
#从控制台读取字符串
a = input("请输入 :")
print(a)
#str()实现数字转型字符串
a = 9.654
b = str(a)
print(b)
转义字符
#提取单个字符
a = "hello world"
b = a[4]
print(b)
#使用replace替换
a = a.replace('l','g')
print(a)
#split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)。
a = 'hello world'
print(a.split())
print(a.split('l'))
#join()的作用和 split()作用刚好相反,用于将一系列子字符串连接起来。
print('*'.join(a))
字符串的格式化
#format()基本用法
a = '名字是:{1},年龄是:{0}'
#名字是:alvin,年龄是:19
print(a.format(19,'alvin'))
#今天是:2021年:8月21日
print("今天是:{2}年:{0}月{1}日".format(8,21,2021))
#填充与对齐
#*****245
print("{:*>8}".format("245"))
序列
列表
range()创建整数列表
#range()可以帮助我们非常方便的创建整数列表,这在开发中及其有用。语法格式为: range([start,] end [,step])
arr = list(range(10))
arr1 = list(range(5,15))
arr2 = list(range(1,15,2))
print(arr)
print(arr1)
print(arr2)
'''
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
[1, 3, 5, 7, 9, 11, 13]
'''
推导式生成列表
#[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
a = [x * 2 for x in range(10)]
print(a)
#[0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190]
a = [x * 2 for x in range(100) if x%5==0]
print(a)
del 删除
#del坐标删除
arr = [100,200,300,500,600]
del arr[2]
print(arr)
#remove()删除首个指定元素
arr.remove(500)
print(arr)
#pop() 删除最后一个
arr.pop()
print(arr)
'''
[100, 200, 500, 600]
[100, 200, 600]
[100, 200]
'''
#count()获得指定元素在列表中出现的次数
arr = [100,100,100,200,300,500]
print(arr.count(100))
#列表的遍历
arr = [9,6,5,4,3,2,8,7]
for i in arr:
print(i)
列表排序
import random
arr = [1,3,5,7,9,2,4,6,8]
#默认升序
arr.sort()
print(arr)
#降序
arr.sort(reverse=True)
print(arr)
#打乱
random.shuffle(arr)
print(arr)
建新列表的排序
arr = [1,3,5,7,9,2,4,6,8]
a = sorted(arr)
b = sorted(arr,reverse=True)
print(arr)
print(a)
print(b)
#reversed返回迭代器
c = reversed(arr)
print(c)
print(list(c))
元组
#元组的值不可修改
arr = (1,3,5,7,9)
brr = [1,3,4,5,6,8]
c = zip(arr,brr)
print(list(c))
字典
字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”,包含:“键对象”和“值对象”。可以通过“键对象”实现快速获取、删除、更新对应的“值对象”。列表中我们通过“下标数字”找到对应的对象。字典中通过“键对象”找到对应的“值对象”。“键”是任意的不可变数据,比如:整数、浮点数、字符串、元组。但是:列表、字典、集合这些可变对象,不能作为“键”。并且“键”不可重复。“值”可以是任意的数据,并且可重复。
字典的创建
#字典的创建
drc = {1:"张飞",2:"刘备"}
drc2 = {(1,2):("曹操","关羽")}
print(drc)
print(drc2)
#通过ZIP创建字典对象
key = (1,2,3)
value = ("小明","小张","小红")
num = dict(zip(key,value))
print(num)
#通过 fromkeys 创建值为空的字典
a = dict.fromkeys(['name','age','job'])
print(a)
字典的访问
dic = {(1,2,3): "张飞" , "p" : "曹操" , 9 : "九"}
#通过 [键] 获得“值”。若键不存在,则抛出异常。
print(dic[(1,2,3)])
print(dic[9])
#通过 get()方法获得“值”。推荐使用。优点是:指定键不存在,返回 None
print(dic.get((1,2,3)))
#列出所有的键值对
print(dic.items())
#
print(dic.keys())
print(dic.values())
#len键值对的个数
print(dic.__len__())
字典的增删查改
dic = {(1,2,3): "张飞" , "p" : "曹操" , 9 : "九"}
#给字典新增“键值对”。如果“键”已经存在,则覆盖旧的键值对;如果“键”不存在,则新增“键值对”。
dic[6] = "六"
print(dic)
#使用 update()将新字典中所有键值对全部添加到旧字典对象上。如果 key 有重复,则直接覆盖。
a = {1 : "刘备" , 2 : "张飞" , 3 : "关云长"}
dic.update(a)
print(dic)
#字典中元素的删除,可以使用 del()方法;或者 clear()删除所有键值对;pop()删除指定键值对,并返回对应的“值对象”;
del(dic[1])
print(dic)
dic.pop('p')
print(dic)
#popitem() :随机删除和返回该键值对。
dic.popitem()
print(dic)
dic.clear()
print(dic)
序列解包
#序列解包可以用于元组、列表、字典。序列解包可以让我们方便的对多个变量赋值。
a,b,c = [1,2,3]
print(b)
[a,b,c] = (4,5,6)
print(b)
集合
#使用{}创建集合对象,并使用 add()方法添加元素
a = {3,5,7}
a.add(9)
print(a)
#使用 set(),将列表、元组等可迭代对象转成集合。如果原来数据存在重复数据,则只保留一个。
b = [2,65,9]
c = set(b)
print(c)
#remove()删除指定元素;clear()清空整个集合
c.remove(65)
print(c)
c.clear()
print(c)
交集并集差集
a = {1,2,3,4,5,6}
b = {4,5,6,7,8,9}
#并集
print(a | b)
#交集
print(a & b)
#差集
print(a - b)
#第二种方法的并集交集差集
print(a.union(b))
print(a.intersection(b))
print(a.difference(b))
控制与循环
猜数字游戏
import random
while True:
b = random.randint(0, 9)
while True:
a = int(input("请输入数字 0 ~ 9 "))
if a > b:
print("猜大了")
elif a < b:
print("猜小了")
else:
print("正确!")
break
for 循环
#常规用法
for i in range(1,100,2):
print(i , end=" ")
print()
#遍历列表
arr = [1,5,7,9,6]
for i in arr:
print(i * 3 , end=" ")
print()
#遍历字符串
str = "alvin"
for i in str:
print(i , end=" ")
print()
#遍历字典
dic = {1 : "张飞" , 2 : "关于" , 3 : "赵云"}
for i in dic:
print(i , end = " ") #遍历所有键
print()
for i in dic.keys():
print(i , end = " ") #遍历所有键
print()
for i in dic.values():
print(i , end = " ") #遍历所有值
print()
for i in dic.items():
print(i , end = " ") #遍历所有键值对
print()
函数
猜数字游戏函数版
import random
#返回指定大小随机数
def getRandom(min,max):
return random.randint(min,max)
#用户输入数
def setNumber():
return int(input("请输入数字 : "))
#比较函数
def game(a , r):
flag = True
#比较
if(a > r):
print("猜大了")
elif(a < r):
print("猜小了")
else:
print("正确!")
flag = False
return flag
#主函数
def menu():
#True代表死循环,当它变成False之后就会停止循环
flag = True
# 获取随机数
r = getRandom(0, 9)
while flag:
# 调用输入函数
a = setNumber()
flag = game(a,r)
#调用主函数
menu()
lambda 表达式和匿名函数
arr = lambda a,b,c : a+b+c
print(arr(1,2,3))
以上是关于系统自动化~01 Python入门的主要内容,如果未能解决你的问题,请参考以下文章
入门python:《Python编程快速上手让繁琐工作自动化》中英文PDF+代码
Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示(代码片段