1、常用数据类型及内置方法

1.列表(list)

定义:在中括号[]内存放任意多个值,用逗号隔开.

具体函数和内置方法如下:

#定义学生列表,可存放多个学生
students=['a','b','c','d']
print(students[1])
student_info=['e',18,'mele',['喝酒','泡吧']]
print(student_info[3])
print(student_info[3][1]) #2 切片(顾头不顾尾,步长)
print(student_info[0:4:2])
#3 长度
print(len(student_info))
#4 成员运算
print('e' in student_info)
print('e' not in student_info)
#5 追加
student_info=['e',18,'mele',['喝酒','泡吧']]
student_info.append('合肥学院')
#6 删除
del student_info[2]
print(student_info)
#7 index获取某个值的索引
student_info_1=['h',17,'femele','尬舞','喊麦','']
print(student_info_1.index(17))
#8 获取某个值的数量
print(student_info_1.count(17))
#9 pop取值 默认取列表中最后一个值 有索引就取索引的值
student_info_1.pop()
print(student_info_1)
#
sex=student_info_1.pop(2)
print(sex)
print(student_info_1) #10 remove
student_info_1=['h',17,'femele','尬舞','喊麦','']
student_info_1.remove(17)#从左到右删除第一个遇到的值
print(student_info_1)
name=student_info_1.remove('h')
print(name)
print(student_info_1)
#11 insert 插入
student_info_1.insert(3,'合肥学院')
print(student_info_1)
#12 extend 合并列表
student_info_a=['h',17,'femele','尬舞1','喊麦2','']
student_info_b=['g',17,'femele','尬舞1','喊麦2','']
student_info_a.extend(student_info_b)
print(student_info_a)
#13 循环
for student in student_info_1:
print(student)

2.元组(tuple)

定义:在中括号()内存放任意多个值,用逗号隔开.

注意:元组与列表不一样的是,只能在定义的时候初始化,不能对其进行修改.

优点:在内存中占用的资源比列表要小.

#tuple元组
tuple1=(1,2,3,'四','five')
print(tuple1)
#1 按索引取值
print(tuple1[2])#取第三个值
#2 切片(顾头不顾尾,步长)
print(tuple1[0:5:2])
#3 长度
print(len(tuple1))
#4 成员运算
print(1 in tuple1)
print(1 not in tuple1)
#5 循环
for line in tuple1:
print(line)
print(line,end='')

3.可变和不可变类型

''''
#不可变类型
数字类型
int
float
字符串类型
str
元组
tuple
#可变类型
列表list
字典dict
集合可变和不可变都有'''
number=100
print(id(number))
number=111
print(id(number))
print() sal=100.1
print(id(sal))
sal=111.1
print(id(sal))
print() str1='hello python'
print(id(str1))
str2=str1.replace('hello','like')
print(id(str2))
#可变类型 #list1与list2指向同一个内存地址
list1=[1,2,3]
list2=list1
list1.append(4)
print(id(list1))
print(id(list2))

4.字典(dict)

定义:在{}内,可存放多个值,以key-value存取,取值速度快,key是不可变,value可变

#字典dict
dict1=({'age':18,'name':'peke'})
print(dict1)
print(type(dict1))
#取值 字典名+[] 括号内是对应的值
print(dict1['age'])
#2 存储一个level:9到字典中
dict1['level']=9
print(dict1) #3 len
print(len(dict1)) #
print('name'in dict1)#值判断key
print('peke'not in dict1) #5 删除
del dict1['level']
print(dict1) #6 key value items
print(dict1.keys())
print(dict1.values())
print(dict1.items()) #7 循环
for key in dict1:
print(key)
print(dict1[key]) #8 get
print(dict1.get('age'))
''''''
#print(dict1['sex'])#KeyError: 'sex' cant find
dict1=({'age':18,'name':'peke'})
print(dict1.get('sex')) dict2=(dict1.get('sex','mele'))
print(dict2)

2、文件处理

#文件处理
'''
写文件
wt
读文件
rt
追加写文件
at
#指定字符编码 以什么方式写就得以什么方式打开
执行代码的过程
1 先启动python解释器
2 把写好的python文件加载到解释器中
3 检测python的语法 执行代码
'''
#参数1 文件的绝对路径
#参数2 操作文件的模式
f=open('file.txt',mode='wt',encoding='utf-8')
f.write('tank')
f.close()#关闭操作系统文件资源 #2 读文本文件
f=open('file.txt','r',encoding='utf-8')
print(f.read())
f.close() #3 追加
f=open('file.txt','a',encoding='utf-8')
f.write('\n 合肥学院')
f.close()
#参数1 文件的绝对路径
#参数2 操作文件的模式
f=open('file.txt',mode='wt',encoding='utf-8')
f.write('tank')
f.close()#关闭操作系统文件资源 #2 读文本文件
f=open('file.txt','r',encoding='utf-8')
print(f.read())
f.close() #3 追加
f=open('file.txt','a',encoding='utf-8')
f.write('\n 合肥学院')
f.close()

3、函数

#函数
#1 解决代码冗余的问题
#2 使代码结构更清晰
#3 方便管理
先定义后调用
def 函数名(参数1,参数2,.....):
逻辑代码
返回值(可有可无) 函数定义的三种方式
1 无参函数
2 有餐函数
3 空函数 pass
#
def login(): user=input('请输入用户名').strip()
pwd=input('请输入密码').strip()
if user=="cheng" and pwd=="":
print("login successful")
else:
print("login error")
print(login)
login()#调用 #
def login(username,password):
if username== "cheng" and password == "":
print("login successful")
else:
print("login error")
login('cheng','') # '''
ATM
1:提现
2:...
...
....
..
.. '''
def register():
pass #在定义阶段x,y为形参 #在调用阶段x,y为实参
#关键数参数
def func(x,y):
print(x,y)
func(x=100,y=10)
#传参数的时候不能多传也不能少传 #默认参数
'''
在定义阶段,为参数设置默认值 '''
def foo(x=10,y=10):
print(x,y) foo()
foo(11,22) '''
函数的嵌套定义
函数的对象
函数的名称空间 在python中顶格写的全部称为全局名称空间
在函数内部定义的为局部名称空间
python解释器自带的都称为内置名称空间
加载顺序
内置—>全局—>局部
查找顺序
局部->全局—>内置 '''
# 1 在函数内部定义函数
def func1():
print('from func1')
def func2():
print('form func2')
# 2 函数对象
def f1():
pass
def f2():
pass
dic1={'':f1,'':f2} ch =input("请选择功能")
if ch=='':
print(dic1[ch])
dic1[ch]()
elif ch=='':
print(dic1[ch])
dic1[ch]() # 3 函数的名称空间
x=10
def func1():
print('from func1...')
x=20
print(x)
def func2():
print('form func2...')

三、总结

今天是python从零开始学习的第二天(day2),昨天把python的数据类型中的字符串学了,今天则把列表,字典,元组数据类型进行学习,然后又复习了文件操作和函数基本操作,其他有诸如with来处理上下文,省略了文件操作中的close()函数,和函数的命名空间的区别。

python学习(day2)的更多相关文章

  1. Python学习-day2

    这周时间充裕,把第一周的两个作业登陆验证和三级菜单做完后又用零零散散的时间看完了第二周的课程,不得不说老男孩这个教育方式感觉还是不错的,其实说白了就是花钱找个人监督自己学习呗,而且还强行让我们养成一些 ...

  2. python学习day2

    一.模块初识 python模块 模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用 ...

  3. python学习day2(二)

    1.类与对象的关系 对于Python,一切事物都是对象,对象基于类创建 type是获取类的 dir是获取这个类里面的成员 2.int内部功能介绍 bit_length:返回表示当前数字占用的最少位数: ...

  4. python学习day2(一)

    一.上周作业回顾 1.登陆接口: 思路流程: 1.登陆,三次锁定用户 2.用户信息文件,黑名单文件 3.检测黑名单,如输入账号在黑名单中存在,不允许登陆 4.用户密码判断 主要知识点:while,fo ...

  5. python学习Day2 python 、pycharm安装及环境变量配置

    复习 进制转换:二进制&十六进制转换(从左往右1248机制,每四位二进制对应一位16进制) 二进制&十进制转换   2n-1幂次方相加 十进制到二进制转化  将十进制除以2,把余数记下 ...

  6. python学习 day2 (3月2日)

    .if if else 和 if elif else 的区别是: 前者 判断第一个 判断完第二个 之后还会执行else: 后者是只有满足条件(即都不符合if.elif里的条件时才会进入else) 不清 ...

  7. Python学习Day2笔记(字符编码和函数)

    1.字符编码 #ASCII码里只能存英文和特殊字符 不能存中文 存英文占1个字节 8位#中文编码为GBK 操作系统编码也为GBK#为了统一存储中文和英文和其他语言文字出现了万国码Unicode 所有一 ...

  8. Python学习Day2笔记(集合和文件操作)

    1.集合的使用 列表是有序的可包含重复内容的 集合是无序的不可包含重复内容的 1) 集合关系测试 #列表去重list_1=[1,4,5,6,7,8,9,7,5,4,23,2] #有重复数据 list_ ...

  9. Python学习day2 while循环&格式化输出&运算符

    day2 运算符-while循环 1.while循环 while循环基本结构; while 条件:      结果    # 如果条件为真,那么循环则执行    # 如果条件为假,那么循环不执行 de ...

  10. Python学习日记 --day2

    Python学习日记 --day2 1.格式化输出:% s d  (%为占位符 s为字符串类型 d为数字类型) name = input('请输入姓名') age = int(input('请输入年龄 ...

随机推荐

  1. Linux shell 脚本中变量的数学计算【转】

    本文转载自:http://blog.csdn.net/qinghezhen/article/details/9194287 首先从一个例子说起: x=1+1 echo $x 你是不是期待着输出2啊?让 ...

  2. 安装tensorflow的最简单方法(Ubuntu 16.04 && CentOS)

    先说点题外话:在用anaconda安装很多次tensorflow失败之后,我放弃了,如果你遇到这样的问题:Traceback (most recent call last)-如果不是因为pip版本,就 ...

  3. baiduTemplate 基本知识总结

    html <div id="tem1"></div> <div id="tem2"></div> <!-- ...

  4. js追加子元素

    在页面加载完毕后,向div元素追加span子元素 <html><head><title>js</title><script type=" ...

  5. c语言和c++栈的简单实现以及构造器的原理

    也就是训练将原来的c语言 用类表示出来.. 关于构造器: //1与类名相同 没有返回值 被系统生成对象时自动调用,用于初始化 //2 可以有参数 构造器重载 默认参数 //3 重载和默认不能同时存在, ...

  6. c语言struct和c++的class的暧昧

    c语言风格的封装 数据放在一起,以引用和指针的方式传给行为c++ 认为封装不彻底 1数据和行为分开 对外提供接口 2没有权限设置 看看struct的一个例子 //data.h //c语言风格的封装 数 ...

  7. Workflow 规则大全 最新版

    ​对于怎么操作Workflow我就不重复说明了 大家可以搜索我的另一条微博.Workflow,作为一款提高效率的软件,我觉得很有必要进行推广,当然我比较需要这里面的很多规则,先为己再为公.首先我只是出 ...

  8. 《Windows核心编程系列》十三谈谈在应用程序中使用虚拟内存

    在应用程序中使用虚拟内存 Windows提供了以下三种机制对内存进行操控: 一:虚拟内存.最适合来管理大型对象数据或大型结构数组. 二:内存映射文件.最适合用来管理大型数据流,以及在同一机 器上运行的 ...

  9. jQuery查找

    导航查找方法: 向下查找兄弟标签: $().next() $().nextAll() 向上查找兄弟标签: 可以查找所有兄弟标签: 查找子标签 查找父级标签: $().parent() $().pare ...

  10. Poj 3436 ACM Computer Factory (最大流)

    题目链接: Poj 3436 ACM Computer Factory 题目描述: n个工厂,每个工厂能把电脑s态转化为d态,每个电脑有p个部件,问整个工厂系统在每个小时内最多能加工多少台电脑? 解题 ...