Python学习笔记第一课

本笔记详细介绍了Python的基础知识,包括变量定义与使用、输入输出操作、循环与条件判断、列表与元组操作,以及模块的使用。通过实例演示了如何创建简单的程序,适合Python初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python入门笔记

我是按照金角大王的关于Python的学习博客进行学习和笔记的,原作者属于金角大王,侵权立删。

按照常规,入门后的第一个程序应该是“世界,你好”代表着自己进入了程序的新世界

print(“hello world”)

对于变量的应用

(1)变量:通俗的讲就是用来存储数据,以便后续调用。
(2)变量定义的规则
① 变量名智能是字幕、数字或者下划线的任意组合
② 变量名的第一个字符不能是数字
③以下关键字不能声明为变量名
[‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
(3)对于变量的赋值

name = “LiMing” #将LiMing赋值给name变量
print(“My name is”,name)#对于变量的调用

name2=name
print(name2)#将name变量中存储的内容赋值给name2变量

其中,一些不成文的规定
① 变量尽量用容易读懂的英文表示,中文作为变量名称也可以
② 常量可以用全大写的英文表示,但是只是表示,实际是可以修改的
ps:只看到了这些,如果有的话后续补充

注释

对于程序的注释,
如果是单行注释,用 # 开头,如上的程序所示
如果是对多行进行注释,可以利用单行的方法,也可以三个单引号 ‘’’ 开始,三个单引号 ‘’’ 结束

用户输入

想要实现通过用户自行输入来记录一些用户的数据,该程序如下所示。
首先可以有

MSG =“I am LiMing”

但是这样一旦程序运行,就不可以修改,除非修改程序。那么,在这里就需要一个程序可以运行,然后信息由用户输入的接口,那么就是:

username = input(“username”)
password = input(“password”)#输入用户名和密码
name = input(“name:”)#输入姓名
age = input(“age:”)#输入年龄
information='''---------------info of %s-------------
name:%s
age:%s
'''%(name,name,age)#这样就将%(name,name,age)的内容和前边的三个%s的内容进行了对应,顺序必须一致,进行整体赋值。
print(information)

对于整体赋值,还有一种形式是这样的:

info ='''----------------info of {_name}-----------
name:{_name}
age:{_age}
'''.format(_name=name,_age=age)#_name里加下划线是为了和name区分,可以不加

fomat前边有个点,不要忘记。这种方式比较方便对应,只要变量名字对应即可,而第一种方式必须顺序对应。我认为这个方式不容易出错。
输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

import getpass  
pwd = getpass.getpass("请输入密码:")   # 将用户输入的内容赋值给 name 变量
# 打印输入的内容
print(pwd)         

认识模块

模块的意思就是有很多已经写好的代码,并且封装成了一体,可以直接调用

sys

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import sys
 
print(sys.argv)
 
 
#输出
$ python test.py helo world
['test.py', 'helo', 'world']  #把执行脚本时传递的参数获取到了

os

import os
 
os.system("df -h") #调用系统命令

记录的一些程序

while循环和if判断

age_of_LiMing=25

count = 0
while count<3:
    guess_age = int(input("guess age:"))
    if guess_age ==age_of_LiMing:
       print("yes,you got it")
       break
    elif guess_age > age_of_LiMing:
       print("think smaller...")
    else :
       print("think bigger!")
    count = count + 1
else:
    print("you have tried too many times,fuck off !")

该程序的作用是猜年龄,并且提示猜的数字是偏大还是偏小,同时设定了只能猜三次。

for循环

for i in range10):
print(“loop”,i)

上述程序实现的功能是i循环加一并且打印i

for i in range0,10,2):
print(“loop”,i)

上述程序实现的功能是i从0到10,隔一个打印一个,即打印0.2.4.6.8.10

元素和列表

定义列表可以用以下方法:

names = ['A',"B",'C']

通过下标访问列表中的元素,下标从0开始计数

>>> names[0]
'A'
>>> names[2]
'C'
>>> names[-1]
'C'
>>> names[-2] #还可以倒着取
'B'

切片:取多个元素 (以下内容均取自金角大王博客)

>>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
>>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
['Tenglan', 'Eric', 'Rain']
>>> names[1:-1] #取下标1至-1的值,不包括-1
['Tenglan', 'Eric', 'Rain', 'Tom']
>>> names[0:3] 
['Alex', 'Tenglan', 'Eric']
>>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
['Alex', 'Tenglan', 'Eric']
>>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
['Rain', 'Tom', 'Amy'] 
>>> names[3:-1] #这样-1就不会被包含了
['Rain', 'Tom']
>>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
['Alex', 'Eric', 'Tom'] 
>>> names[::2] #和上句效果一样
['Alex', 'Eric', 'Tom']

追加

>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy']
>>> names.append("我是新来的")
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

插入

>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
>>> names.insert(2,"强行从Eric前面插入")
>>> names
['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

>>> names.insert(5,"从eric后面插入试试新姿势")
>>> names
['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

修改

>>> names
['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
>>> names[2] = "该换人了"
>>> names
['Alex', 'Tenglan', '该换人了', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

删除

>>> del names[2] 
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
>>> del names[4]
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
>>> 
>>> names.remove("Eric") #删除指定元素
>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', '我是新来的']
>>> names.pop() #删除列表最后一个值 
'我是新来的'
>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']

扩展

>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
>>> b = [1,2,3]
>>> names.extend(b)
>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

拷贝

>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

>>> name_copy = names.copy()
>>> name_copy
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

统计

>>> names
['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
>>> names.count("Amy")

排序

>>> names
['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
>>> names.sort() #排序
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: int() < str()   #3.0里不同数据类型不能放在一起排序了,擦
>>> names[-3] = '1'
>>> names[-2] = '2'
>>> names[-1] = '3'
>>> names
['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
>>> names.sort()
>>> names
['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']

>>> names.reverse() #反转
>>> names
['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']

获取下标

>>> names
['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']
>>> names.index("Amy")
2 #只返回找到的第一个下标

元组

元组和列表相似,但是元组不可以修改

names = ("alex","jack","eric")

程序:购物车程序

需求:

启动程序后,让用户输入工资,然后打印商品列表
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额

product_list = [
    ('iphone',5800),
    ('mac pro',9800),
    ('bike',800),
    ('watch',10600),
    ('coffee',31),
    ('alex python',120)
               ]
shopping_list = []
salary = input("input your salary:")

if salary.isdigit():
    salary = int(salary)
    while True:
        #for item in product_list:
         #    print(product_list.index(item),item)
        for index,item in enumerate(product_list):
            print(index,item)
        user_choice = input("选择要买的商品编号:")
        if user_choice.isdigit():
            user_choice=int(user_choice)
            if user_choice < len(product_list) and user_choice >=0 :#判断输入的数字和长度的关系
                p_item = product_list[user_choice]
                if p_item[1] <= salary:#买得起
                   shopping_list.append(p_item)
                   salary-=p_item[1]
                   print("added %s into shopping cart,your current balance is %s "%(p_item,salary) )
                else:
                    print("\033[41;1m你的余额只剩%s了,买不起了\033[0m"%salary)
            else:
                 print("product code [%s] is not exist"%user_choice)
        elif user_choice == 'q':
              print("============shopping list============")
              for p in shopping_list:
                  print(p)
              print("your current balance is %s"%salary)
              exit()
        else:
            print("invalid option")

以上是我最近学到的内容,仅仅在这里做一个笔记,只为我以后翻看笔记方便。如果有不对的地方,还请批评指正。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值