Python第二节

模块初识  

  • Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的。
  • 标准库:不需要安装直接导入
  • 第三方库:必须安装下载

标准库模块:

  • sys模块
# Author:XP
import sys
print(sys.path) #打印环境变量
print(sys.argv) #打印相对路径print(sys.argv[2])
  • os模块
# Author:XP
import os
cmd_res = os.system("dir") #执行命令不保存结果
cmd_res = os.popen("dir").read()#执行命令保存结果
print("-->",cmd_res)
os.mkdir("new_dir") #创建目录哭

pyc是什么

简述Python的运行过程

在说这个问题之前,我们先来说两个概念,PyCodeObject和pyc文件。

我们在硬盘上看到的pyc自然不必多说,而其实PyCodeObject则是Python编译器真正编译成的结果。我们先简单知道就可以了,继续向下看。

当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。

当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。

所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。

数据类型:

int:(整形)
long:(长整形)《--(python3没有)
float:(小数and浮点数)浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。

布尔值:【True:真(1)】或【False:假(0)】

列表:

创建列表:

names = [‘ZhangYang‘‘GuYun‘‘xp‘,‘liangcheng‘]

    print(names[1],names[2])

#切片:(查)

    print(names[1:3])

    GuYun xp

#反向取值切片:

    print(names[-2:])

    xp liangcheng

提示:前后(正负)取值 下标为0时可以省略这个0如:[2:]、[-2:]

#不长切片

    print(names[::2])

#插入(增)

    names.insert(1,"nihao")

    names.insert(3,"keyi")

#改

    names[2] ="xiedi"

#删

    del names[1]

    names.remove(xp)

#查找一个用户的位置点

    print(names.index("xp"))

    print(names[names.index("xp")])

#查找统计列表中的重复字符串的数量

    print(names.count("xp"))

#清空列表

    names.clear()

#反转列表:

    names.reverse()

#按字母顺序排序【特殊符号-->数字-->大写字母-->小写】

    names.sort()

#列表合并:

    names2 = [1,2,3,4]

    names.extend(names2)

##copy模块:

      import copy

names = [‘ZhangYang‘‘GuYun‘‘xp‘,‘liangcheng‘]

#三种浅拷贝:

      n1=copy.copy(names)

      n2=name[:]

      n3=list(names)

#深拷贝:

    name2 = copy.deepcopy(names)

元组

(不可变列表)

创建元组:

ages = (1122334455)

程序练习

请闭眼写出以下程序。

程序:购物车程序

需求:

  1. 启动程序后,让用户输入工资,然后打印商品列表
  2. 允许用户根据商品编号购买商品
  3. 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
  4. 可随时退出,退出时,打印已购买商品和余额
#Author:XP
product_list = [
    (‘Iphone‘,5800),
    (‘Mac Pro‘,9800),
    (‘Watch‘,10600),
    (‘Bike‘,800),
    (‘Coffee‘,31),
    (‘Alex Python‘,120),
]
shopping_list=[]
salary = input("输入工资:")
if salary.isdigit():
    salary = int(salary)
    while True:
        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 \033[31;1m%s\033[0m"%(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:",salary)
            exit(1)
        else:
            print("invalid option") 

字符串常用操作:

name = "My name is Xp"
print(name.capitalize()) #首字母大写
print(name.count("a")) #查看有几个相同的字符串
print(name.center(50,"-"))#打印50个字符不够的话用‘-’补全
print(name.endswith("xp")) #以什么结尾
print(name.expandtabs(tabsize=30))#转成多少个"这里是30个"空格
print(name.find(name))#找字符串的索引
print(‘Xp‘.lower()) #大写转换成小写
print(‘Xp‘.upper())#小写转换成大写
print(name.format(name=‘Xp‘,year=123))
#print(name.format_map( {‘name‘;‘Xp‘,‘year‘;12}  ))
print(‘ab23‘.isalnum())
print(‘abA‘.isalpha())
print(‘1.23‘.is_integer())
print(‘a 1A‘.isidentifier())#判断是不是一个合法的标识符

字典操作:

字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

语法:

info = {
    ‘stu1101‘: "TengLan Wu",
    ‘stu1102‘: "LongZe Luola",
    ‘stu1103‘: "XiaoZe Maliya",
}
# info["stu1101"] ="武藤兰" #改# info["stu1104"] ="CangJinKong"#该字符串存在就修改不存在就添加#print(info["stu1101"])    #查#del info["stu1101"] #删除#info.pop("stu1101") #判断字典里是否有数据#info.popitem("stu1101")#随机删除也可指定#print(info.get(‘stu1104‘))#在字典里精确查找#print(‘stu1104‘ in info)#判断字典里是否有此字符串#info has_key(‘1103) #py2.7里判断字典里是否有此字符串

字典的特性:

  • dict是无序的
  • key必须是唯一的,so 天生去重

循环:

info = {
    ‘stu1101‘: "TengLan Wu",
    ‘stu1102‘: "LongZe Luola",
    ‘stu1103‘: "XiaoZe Maliya",
}
for i in (info):
    print(i,info[i])

  

时间: 2024-10-17 08:10:30

Python第二节的相关文章

Python第二节课(操作系统简介)

1.为何要有操作系统 先从操作系统的定义说起,操作系统是协调,管理和控制计算机硬件资源和软件资源的控制程序.也就是承接我们的软件应用和硬件调用的中间人. 操作系统位于计算机硬件和应用软件之间,本质也是一个软件,只不过可能他会有几百万行的代码,今天的我们已经不用费尽力气去研究他.准确的说,操作系统分为内核部门和系统调用两大部分,操作系统时而与软件交互,时而调用硬件进行工作,所以我们单纯的说操作系统始终处于内核态是不正确的. 那么内核态和系统调用具体为程序员们带来了什么便利呢,我们一点点的去分析一下

python第二节作业

1. 2.答案:数字+字符串相加会报错,原因两者不属于一个类型,不能相加.需转换其中一个后可以加或组合: 3.序列类型可以相互转换,要注意字符串str.列表list.元组tuple

python第二节课

import turtle turtle.shape('turtle') turtle.speed(5) turtle.color('green') var=1 while var == 1: for i in range(5): turtle.forward(200) turtle.right(144) 无限循环的五角星 from turtle import* for i in range(5): up() goto(0,-20*i) down() circle(20*i) 用循环画同心圆 i

萌新向Python数据分析及数据挖掘 第一章 Python基础 第一节 python安装以及环境搭建 第二节 变量和简单的数据类型

本文将参考<Python编程 从入门到实践>的讲述顺序和例子,加上自己的理解,让大家快速了解Python的基础用法,并将拓展内容的链接添加在相关内容之后,方便大家阅读. 好了!我们开始第一章的学习. 第一章 Python基础 第一节 Python安装以及环境搭建 Python的安装和环境变量的配置通过百度查询即可解决,这里不作赘述. IDE的选择:因为后期需要用来做数据分析,所以直接安装Anaconda会是一个不错的选择. Anaconda详细安装使用教程 https://blog.csdn.

【软件构造】第二章第二节 软件构造的过程、系统和工具

第二章第二节 软件构造的过程.系统和工具 Outline 广义的软件构造过程 编程 静态代码分析 动态代码分析 调试与测试 重构 狭义的软件构造过程 构造系统:经典BUILD场景 构造系统的组件 构造过程和构造描述 Java编译工具 子目标和结构变体 构造工具 Notes ## 广义的软件构造过程 [编程(Coding)] 开发语言:如Java.C.Python 使用IDE(集成开发工具)的优势(组成) 方便编写代码和管理文件(有代码编辑器,代码重构工具.文件和库(Library)管理工具) 能

杨森翔:春节文化大观上编 第三章 春节古诗词 目录 第一节:春节诗词概述 一、 除夕诗词概述 二、元日诗词概述 三、 元宵诗词概述 第二节:春节古诗词拾萃

杨森翔:春节文化大观上编 第三章 春节古诗词 目录 第一节:春节诗词概述 一. 除夕诗词概述 二.元日诗词概述 三. 元宵诗词概述 第二节:春节古诗词拾萃 一.腊祭诗词 二.祭灶诗词 三.除夕诗词 四.元旦诗词 五.人日诗词 六.元宵诗词 第一节:春节古诗词概述 中国的春节,作为除旧迎新的节日,时间相当长,从年前的腊月二十三,天空中就似乎弥漫了节日的气息.这种节日的气氛,在保持传统风俗较好的地方,甚至会持续到二月二龙抬头的时候,但欢度春节的高潮,应该说是自除夕始一直到上元之夜.因此,历代歌咏和反

centos单用户 救援 运行级别 第二节课

centos单用户 救援 运行级别 第二节课 yum工具在minimal安装级别就已经安装 yum list:列出远程服务器端的所有的包的列表 安装桌面套件,安装图形化桌面 yum groupinstall -y "desktop"yum groupinstall -y "X window system" 临时显示英文 LANG=en

第二节 分支结构

在程序开发中,分支结构的使用频率要多于循环结构,10次分支,4次循环. 程序开发三种情况:分支,循环,分支 (1) if的三种格式: int a = 10; if(a > o) { printf("%d",a) } 当条件表达式的条件成立时,或为真时,执行大括号内的语句,否则执行if之后的语句. (2) char sex = 0; printf("请输入你的性别:m或者f"); scanf("%c",&sex); if(sex ==

Centos7 Openstack - (第二节)添加认证服务(Keystone)

Centos7 install Openstack - (第二节)添加认证服务(Keystone) 我的blog地址:http://www.cnblogs.com/caoguo 根据openstack官方文档配置 官方文档地址: http://docs.openstack.org/juno/install-guide/install/yum/content/# 0x01.认证服务安装与配置(控制节点) [[email protected] ~]# mysql -uroot -p MariaDB