python 学习第二天 (上)

##课前思想
###GENTLEMEN CODE 1

* 着装得体
* 每天洗澡
* 适当用香水
* 女士优先
* 不随地吐痰、不乱扔垃圾、不在人群众抽烟
* 不大声喧哗
* 不插队、碰到别人要说抱歉
* 不在地铁上吃东西
* 尊重别人的职业和劳动
* 尊重别人隐私、不随便打听别人工资
* 与人保持安全距离(1米)
* 不要随便评价别人

###GENTLEMEN CODE 2

* 多去旅行,一年至少一个国家
* 多看数,电影,一年15本书,50+部电影
* 学好英语
* 保持不甘心、保持正能量
* 做事情一定要学会换位思考,要想此事会不会给别人造成不好的困扰
* 积极影响身边的人

###上节课回顾

1.变量

2.用户输入
username = raw_input() 2.7 alex

3.密码模块

LINUX VIM里的 TAB 键 和 WIN下的不一样 TAB不等于四个空格

4.基本流程处理

if username == user and password == passwd:
    print("welcome !")
else:
    print("wrong username and password!")

5.猜年龄游戏

6.常量

python 无法限制变量被修改

常量名:全部大写 规则

const NAME ‘ALEX‘

MYSQL_CONNECTION = ‘192.168.1.23‘

7.环境变量

导入模块

1.标准库

import os

os.system("ipconfig")

os.popen("ipconfig").read()

2.第三方库 需要装上才能导入

pip命令 安装python 各种模块的命令

pip install

pip uninstall

import sys.path


正式上课

###什么是pyc

pyc是python的字节码文件

编译语言和解释性语言

python也是先编译后解释的语言

其实Python和Java/C#一样,也是一门基于虚拟机的语言,我们先来从表面上简单地了解一下Python程序的运行过程吧。

当我们在命令行中输入python hello.py时,其实是激活了Python的“解释器”,告诉“解释器”:你要开始工作了。可是在“解释”之前,其实执行的第一项工作和Java一样,是编译。

**简述Python的运行过程**

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

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

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

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

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

**手动执行一个程序不会生成pyc文件**

导入的程序才会生成pyc 执行之前会比对pyc和源文件的修改时间,如果源文件改了时间会比pyc文件时间新,这个时候会重新编译生成pyc

###数据类型知识

####1、数字

* int(整型)

32位机器 -2^31 -- 2^31-1

64位系统上,-2^63 -- 2^63-1

* long(长整型)

跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。

* float(浮点型)

浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。

* complex(复数)

####2、布尔值

真或假 1或0

判断 0 是真还是假

>>> 0 is True
False

或者

>>> 0 == True
False

####3、字符串

"hello wirld"

**万恶的字符串拼接**

方法1:

>>> name = ‘alex‘
>>> print("my name is " +name+ " and you?")
my name is alex and you?

*python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。*

####字符串格式化输出

name = "alex"
print "i am %s " % name

#输出: i am alex

##列表

为了解决在多个变量里存储信息的繁琐,和在一个变量中存取大量格式相近信息的效率问题

语法:

name = ["MingLong","MingHu","Jack",22]

显示所有元素

    >>> name
    [‘MingLong‘, ‘MingHu‘, ‘Jack‘, 22, 9, 23, 3, 4, 5, 6, 7, 87, 89, 9, 9,   4]

列表不仅可以存数字 字符串 还可以存变量

    age = 9
    name = ["MingLong","MingHu","Jack",22,age]
    name
    [‘MingLong‘, ‘MingHu‘, ‘Jack‘, 22, 9]

###列表切片

####列表下标从0开始,第一个元素下标为0

    >>> name[0]
    ‘MingLong‘

-1 代表最后一个值,-2代表倒数第二个,以此类推

    >>> name = ["MingLong","MingHu","Jack",22,age,23,3,4,5,6,7,87,89,9,9,4]
    >>> name
    [‘MingLong‘, ‘MingHu‘, ‘Jack‘, 22, 9, 23, 3, 4, 5, 6, 7, 87, 89, 9, 9, 4]
    >>> name[-1]
    4
    >>> name[-2]
    9

array[起始下标:结束下标+1] 取 2到5个元素 name[1:5]

取数组前两个元素

    name[0:1]
     [‘MingLong‘, ‘MingHu‘]

取最后4个元素

    >>> name[-4:]
    [89, 9, 9, 4]

取前 5个元素

    >>> name[:5]
    [‘MingLong‘, ‘MingHu‘, ‘Jack‘, 22, 9]

取前5个元素,再取后3个元素,还后再去第一个元素的第2个字母

    >>> name[:5]
    [‘MingLong‘, ‘MingHu‘, ‘Jack‘, 22, 9]
    >>> name[:5][2:5]
    [‘Jack‘, 22, 9]
    >>> name[:5][2:5][1]
    22
    >>> name[:5][2:5][0]
    ‘Jack‘
    >>> name[:5][2:5][0][1]
    ‘a‘

###列表的增删改

####修改某个元素的值

    >>> name[1] = "WangMingHu"
    >>> name
    [‘MingLong‘, ‘WangMingHu‘, ‘Jack‘, 22, 9, 23, 3, 4, 5, 6, 7, 87, 89, 9, 9, 4]

####在指定下标插入元素

>>> name
[‘MingLong‘, ‘MingHu‘, ‘MingGou‘, ‘Jack‘, 22, 9, 23, 3, 4, 5, 6, 7, 87, 89, 9, 9, 4]

####在列表结尾插入元素

>>> name.append("alex")
>>> name
[‘MingLong‘, ‘MingHu‘, ‘MingGou‘, ‘Jack‘, 22, 9, 23, 3, 4, 5, 6, 7, 87, 89, 9, 9, 4, ‘alex‘]

####从列表中移除某个元素

remove

    >>> name.remove("MingGou")
    >>> name
    [‘MingLong‘, ‘MingHu‘, ‘Jack‘, 22, 9, 23, 3, 4, 5, 6, 7, 87, 89, 9, 9, 4, ‘alex‘]

del 删除  可以同时删除多个元素

del name[4:6] 

###课间作业

写个列表,列表里包含本组所有成员名字
往中间插入两个临组成员的名字
取出第3-8的人列表
删除第7个人
把刚才加入的那2个其他组的人一次性删掉
把组长的名字加上组长备注
要求你隔一个人打印一个人

解答:

时间: 2024-12-22 12:29:51

python 学习第二天 (上)的相关文章

Python学习第二天数组

1:Python定义数组:a=[0,1,2,3,4] ;   打印数组list(a); 这时:a[0]=0, a[1]=1, a[[2]=2...... 1.1:如果想定义一个很长的数组可以用到python函数range a=range(1000)生成1000个元素的一维数组, list(a) 打印数组显示 1.2:给生成的数组赋初始值:a = [0 for x in range(0, 1000)] 0表示初始值  x表示数组中的元素 range(995,1000)表示从995开始生成到1000

python学习第二讲,pythonIDE介绍以及配置使用

目录 python学习第二讲,pythonIDE介绍以及配置使用 一丶集成开发环境IDE简介,以及配置 1.简介 2.PyCharm 介绍 3.pycharm 的安装 二丶IDE 开发Python,以及配置IDE 1.初始化IDE 2.打开python项目. 3.pycharm设置python的默认解释器版本. 4.pycharm设置为所有用户可以使用,以及启动pycharm 5.设置pycharm启动图标(快捷方式) 6.卸载之前的pycharm python学习第二讲,pythonIDE介绍

Python学习-第二天-字符串和常用数据结构

Python学习-第二天-字符串和常用数据结构 字符串的基本操作 def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的拷贝 print(str1.capitalize()) # Hello, world! # 获得字符串变大写后的拷贝 print(str1.upper()) # HELLO, WORLD! # 从字符串中查找子串所在位置 print(str1.find('o

python学习第二天

python学习的第二天就是个灾难啊,这天被打击了,自己写的作业被否认了,不说了,写博客还是个好习惯的,要坚持下去,就不知道能坚持到什么时候.呵呵!!! 这天教的知识和第一天的知识相差不大,区别在于比第一天讲的更细了(我们是两个老师教的,风格是不一样的),这次也写那些比较细的知识点. python的简介 (1)你的程序一定要有个主文件. (2)对于python,一切事物都是对象,对象基于类创建.#似懂非懂,不过有那么点似懂. 知识点 #__divmod__ 会把两个数字相除的商和余数以元组的方式

python学习第二天:数字与字符串转换及逻辑值

1.数字与字符串的转化 #1.数字转字符,使用格式化字符串: *1.demo = ‘%d’  %  source *2.%d整型:%f 浮点型 :%e科学计数  *3.int('source') #转化为int型 #2.字符串转化为数字 *1.导入string :import string *2.demo = atoi(source)  #转换为整型’ atof()    #转为浮点型 2.逻辑值: and  #与 or  #或 not #非 python学习第二天:数字与字符串转换及逻辑值

python学习第二周(数据类型、字符串、列表、元祖、字典)

一.模块.库 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持. 模块初始化:模块就是库,库可以是标准库或者是第三方库. sys模块 os模块 Sys.path 导入模块的时候,先从当前目录下面查找. 我们起名字时候不能和导入的模块名字相同. Python的第三方库 E:\\python_path\\base\\lib\\site-packages Python的标准库位置 E:\\python_path\\base Sys.ar

python学习教程,史上最全面的python学习路线图

Python 是Web 开发.游戏脚本.计算机视觉.物联网管理和机器人开发的主流语言之一,随着Python用户可以预期的增长,它还有机会在多个领域里登顶.Python学习路线分享给你. 阶段一是Python语言(用时5周,包括基础语法.面向对象.高级课程.经典课程): 阶段二是Linux初级(用时1周,包括Linux系统基本指令.常用服务安装): 阶段三是Web开发之Diango(5周+2周前端+3周diango): 阶段四是Web开发之Flask(用时2周): 阶段五是Web框架之Tornad

PYTHON学习第二模块 python内置模块介绍

1 >>> import time 2 >>> time.time() 3 1491064723.808669 4 >>> # time.time()返回当前时间的时间戳timestamp(定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数)的方法,无参数 5 >>> time.asctime() 6 'Sun Apr 2 00:39:32 2017' 7 >>> # time.asctim

Python 学习第二十三天 django 知识(五)

一,django 的model操作 1,字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True 注:当model中如果没有自增列,则自动会创建一个列名为id的列 from django.db import models class UserInfo(models.Model): # 自动创建一个列名为id的且为自增的整数列 us