系统自动化~01 Python入门

本文介绍了Python编程的基础知识,包括字符串操作、序列(如列表和元组)、字典、控制与循环、函数以及集合操作。还展示了猜数字游戏的实现,强调了变量赋值、条件判断和循环控制在程序设计中的应用。此外,文章还涵盖了时间表示、注释、常量定义以及序列解包等概念。
摘要由CSDN通过智能技术生成

系统自动化~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))
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值