Python入门2

python入门2


2018年6月26日笔记

复习print函数

if __name__ =="__main__":
    name = input("请输入姓名:")
    age = input("请输入年龄:")
    profession = input("请输入职业:")
    school = input("请输入学校:")
    hometown = input("请输入家乡:")
    print("姓名:" + name)
    print("年龄:" + age)
    print("职业:" + profession)
    print("学校:" + school)
    print("家乡: " + hometown)

运行结果如下图所示:

复习print.png-4.2kB

用面对对象的方法实现上面的功能

class People(object):
    def __init__(self):
        self.name = input("请输入姓名:")
        self.age = input("请输入年龄:")
        self.profession = input("请输入职业:")
        self.school = input("请输入学校:")
        self.hometown = input("请输入家乡:")
        self.details = dict(
            name = self.name,
            age = self.age,
            profession = self.profession,
            school = self.school,
            hometown = self.hometown
        )
    def print(self):
        print("姓名:{name}\n年龄:{age}\n职业:{profession}\n"
              "学校:{school}\n家乡:{hometown}".format(**self.details))

if __name__ == "__main__":
    peopel = People()
    peopel.print()

python容器数据类型-列表List

定义:列表是最常用的python数据类型,一个列表中可以存储多个不同类型的数据。 语法:[]可以是number、string、bool等

1.创建列表

创建一个列表,只需要把逗号分隔的不同数据用方括号括起来。例如:list1 = ['h','e','l','l','o'] 通过函数list()创建:list2 = list('hello')

2.访问列表元素

list1 = ['python', 'hello', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7]
print(list1[0])
print(list2[1:5])

以上一段代码的输出结果:

python [2, 3, 4, 5]

3.更新列表

list1 = []
list1.append('news')
list1.append('paper')
print(list1)

以上一段代码的输出结果:

['news', 'paper']

4.更新列表2

list1 = [1,'python',2]
list1.extend([3,'java'])
print(list1)

以上一段代码的输出结果:

[1, 'python', 2, 3, 'java']

5.更新列表3

list1 = [1,'python',2]
list1.insert(0, 'hello')
print(list1)

以上一段代码的输出结果:

['hello', 1, 'python', 2]

6.删除列表

list1 = ['python','java',1997,2000] 
del list1[2]
print(list1)

以上一段代码的输出结果:

['python', 'java', 1997, 2000] ['python', 'java', 2000]

7.列表脚本操作符

out = len([1,2,3])
print('len函数获取列表长度:', out)
out2 = [1,2,3] + [4,5,6]
print('列表相加:', out2)
out3 = ['Hi!'] * 4
print('列表重复n次:', out3)
out4 = 3 in [1,2,3]
print('in关键字判断是否存在列表中:', out4)

以上一段代码的输出结果:

len函数获取列表长度: 3 列表相加: [1, 2, 3, 4, 5, 6] 列表重复n次: ['Hi!', 'Hi!', 'Hi!', 'Hi!'] in关键字判断是否存在列表中: True

8.列表切片,截取

list1 = "I love python".split(' ')
print(list1)
print("读取列表中的第三个元素",list1[2])
print("读取列表中倒数第二个元素",list1[-2])
print("从下标为1开始截取列表",list1[1:])
print("从下标为0开始截取到下标为2列表",list1[0:2])

以上一段代码的输出结果:

['I', 'love', 'python'] 读取列表中的第三个元素 python 读取列表中倒数第二个元素 love 从下标为1开始截取列表 ['love', 'python'] 从下标为0开始截取到下标为2列表 ['I', 'love']

python容器数据类型--元组tupple

定义:python的元组与列表相似,不同在于元组的元素不能修改 语法:()的元素可以是任意的任意的python数据

1.创建元组

tup1 = ('python', 'java', 1997, 2000)
tup2 = 'a', 'b', 'c', 'd'
tup3 = tuple('hello')
tup4 = tuple([1, 2, 3])
print(tup1)
print(tup2)
print(tup3)
print(tup4)

以上一段代码的输出结果:

('python', 'java', 1997, 2000) ('a', 'b', 'c', 'd') ('h', 'e', 'l', 'l', 'o') (1, 2, 3)

特殊情况:创建一个元素的元组必须要加逗号,观察下面的输出结果,可以发现('Hi')的类型为str

type(('Hi!')) Out[18]: str type(('Hi!',)) Out[19]: tuple

2.访问元组

元组中的元素值是不允许修改的,但可以对元组进行连接组合。

tup1 = ('python', 'java', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7)
tup3 = tup1 + tup2
print(tup1[0])
print(tup2[1:5])
print(tup3)

以上一段代码的的输出结果:

python (2, 3, 4, 5) ('python', 'java', 1997, 2000, 1, 2, 3, 4, 5, 6, 7)

3.元组运算符

out1 = len((1, 2, 3))
print("计算元素个数:",out1)
out2 = (1, 2, 3) + (4, 5, 6)
print("用+号连接元组:",out2)
out3 = ('Hi!',) * 4
print("复制元组:",out3) 
out4 = 3 in (1, 2, 3)
print("元素是否存在:",out4)

以上一段代码的输出结果:

计算元素个数: 3 用+号连接元组: (1, 2, 3, 4, 5, 6) 复制元组: ('Hi!', 'Hi!', 'Hi!', 'Hi!') 元素是否存在: True

4.元组索引,截取(切片)

元组是一个序列,可以通过索引访问元组中的指定位置的元素,也可以截取索引中的一段元素。 访问方式与列表相同

python容器数据类型--字典dictionary

定义:python的字典是一种可变容器模型,且可以存储任意类型对象。 字典的每个键值(key->value)对用冒号:分隔。 每个对之间用逗号,来分隔,整个字典包括在花括号{}中。

1.字典的特点

键必须是唯一的,但值则不必。 值可以取任何数据类型,但是键必须是不可变的,如字符串、数字或者元组。

2.创建字典

people1 = {}
people1['age'] = 20
people2 = {'age':20}
people3 = dict(age=20)
print(people1,people2,people3,sept='\n')

以上一段代码为创建dict的三种方法,上面程序的输出结果如下:

{'age': 20} {'age': 20} {'age': 20}

3.访问字典

people = {'name':'jack','language':'python'}
print(people['name'])
print(people['language'])

上面一段代码运行结果如下:

jack python

因为是键与值得映射,所以在读值时不需要考虑排序问题,比如说列表,python需要从头开始读。 因为这个特性,字典读取的效率比较高,数据规模越大,越明显。 所以,mongdb这种非关系型数据库在大的数据方面比较流行。

4.修改字典

people = {'name':'LeiKun','age':23,'Class':'python'}
people['age'] = 18
people['class'] = 'artificial intelligence'
print(people)

上面一段代码的运行结果如下:

{'name': 'LeiKun', 'age': 18, 'Class': 'python', 'class': 'artificial intelligence'}

5.删除字典元素

people = {'name':'LeiKun','age':23,'Class':'python'}
del people['age']
print(people)
people.clear()
print(people)

上面一段代码的运行结果如下:

{'name': 'LeiKun', 'Class': 'python'} {}

练习

1.使用python创建列表python,并任意给出5个数值 2.调用append函数在score列表中追加5个数值 3.输出第三个元素的数值 4.输出第2-4个元素的数值 5.调用insert,在列表第三个元素之前追加一个数值 6.调用len函数,计算列表中元素的个数

score = list(range(90,95))
score.append(85)
print(score[2])
print(score[1:4])
score.insert(2,60)
print(score)
print(len(score))

上面一段代码运行结果如下:

92 [91, 92, 93] [90, 91, 60, 92, 93, 94, 85] 7

python容器数据类型--集合set

数据类型分类: 1.能够索引的:list、str,其中的元素可以重复 2.可变的:dict、list,其中的键值对可以原地修改 3.不可变的:str、int,不能原地修改 4.无索引序列的:dict,其中的元素没有排序排列 set是一个无序且不重复的元素集合 可以使用大括号或者set()函数创建集合

1.创建集合

s1 = set('python')
print(s1)
s2 = {1,1,3,1}
print(s2)
s3 = set([123, 'python', 'face', 'book', 'face'])
print(s3)

上面一段代码的运行结果为:

{'h', 'n', 'o', 'y', 'p', 't'} {1, 3} {'face', 'python', 123, 'book'}

2.集合增加元素

    s = {1, 'love', 'python'}
    s.add('hello')
    print(s)
    s1 = s
    s2 = {123,'java','face'}
    s1.update(s2)
    print(s1)
    print(s)

上面代码的运行结果是:

{'python', 1, 'hello', 'love'} {1, 123, 'face', 'java', 'python', 'hello', 'love'} {1, 123, 'face', 'java', 'python', 'hello', 'love'}

所以可以用add、update两个函数进行函数增加元素,s1和s其实指向的是同一块内存地址。

3.集合删除元素

删除元素的三个函数:discard()remove()pop() 删除不存在的元素时discard不会报错,remove会报错,pop可以移除末尾元素并返回此元素值

4.集合基本操作

计算元素个数:len(s) 清空:s.clear() 判断:'c' in s

5.集合的转换

se = {3, 2, 1, 4, -3, -2, 0}
li = list(se)
tu = tuple(se)
st = str(se)
print(li, type(li))
print(tu, type(tu))
print(st, type(st))

上面一段代码运行结果如下:

[0, 1, 2, 3, 4, -3, -2] <class 'list'>
(0, 1, 2, 3, 4, -3, -2) <class 'tuple'>
{0, 1, 2, 3, 4, -3, -2} <class 'str'>

python运算符

1.算术运算符

运算符图示.png-5.4kB

**表示幂运算,//表示除法取商运算,%表示除法取余运算 上面一段代码运行结果如下:

13 9 22 5.5 1 121 5

2.关系运算符

6个关系运算符:> < == != >= <= 返回值为True或False

3.赋值运算符

8个赋值运算符,知道算术运算符的含义则可以理解赋值运算符的含义:

=            
+=
-=
*=
/=
%=
**=
//=

4.逻辑运算符

3个逻辑运算符: and or not

逻辑运算符图示.png-6.1kB

上面一段代码的运行结果如下:

False True True False

5.成员运算符

2个成员运算符:in 和 not in

成员运算符.png-5.9kB

上面一段代码的运行结果如下:

True False False True

6.身份运算符

2个身份运算符: is 和 is not is的功能是判断两个标识符是不是引用自一个对象, x is y类似于id(x) == id(y)

7.运算符优先级

**幂运算最高优先级 算术运算符>关系运算符>赋值运算符>身份运算符>成员运算>逻辑运算符

8.python运算表达式

数学运算表达式、逻辑运算表达式、关系运算表达式,python表达式都有值,其值为表达式运算后的结果

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏BY的专栏

Swift 的懒加载和计算型属性

41750
来自专栏程序员互动联盟

【编程基础】Java初始化有何玄机?

对于Java的初始化顺序大家应该清楚,之前在网站上面有专门的讲解,大家可以通过文章下面的“查看原文”来阅读。 初始化顺序总结起来就是: 1、无继承情况的初始化顺...

37390
来自专栏Jerry的SAP技术分享

聊聊JavaScript和Scala的表达式 Expression

函数f的实现,会检查这两个参数的类型,如果是函数,则执行函数调用,再打印其返回值,否则直接打印传入的表达式的值。

9320
来自专栏锦小年的博客

python学习笔记7.3-内建模块collections

Python的内建模块collections为我们提供了一系列的优化操作,本质上就是元组、字典、集合、列表的特殊功能版。 1. namedtuple name...

23450
来自专栏小白的技术客栈

Python之解析式您知多少?

解析式 解析式 今天给大家介绍Python中的解析式。 ? 解析式简单介绍 解析式, 列表解析 # Python2只有列表解析 生成器解析 # Python...

46650
来自专栏Java帮帮-微信公众号-技术文章全总结

【选择题】Java基础测试二(15道)

【选择题】Java基础测试二(15道) 11.对于构造方法,下列叙述正确的是:(AC) A. 构造方法的方法名必须与类名相同; B. 构造方法必须用void...

435100
来自专栏闪电gogogo的专栏

Python——正则表达式特殊符号及用法

由于正则表达式的内容比较多,所以单独写成一系列文章,主要内容是根据小甲鱼所讲的内容综合一下正则表达式的笔记。 贴上小甲鱼的《Python3 如何优雅地使用正则表...

230100
来自专栏java一日一条

java提高篇之关键字static

在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中static表示“全局”或者“静态”的意思,用来修饰成员...

10120
来自专栏java达人

JSON.stringify(), JSON.parse(), toJSON()方法使用

1 JSON.stringify() 将value(Object,Array,String,Number...)序列化为JSON字符串 即:把原来是对象的类型...

318100
来自专栏破晓之歌

如何创建对象以及jQuery中创建对象的方式(推荐)

在实际使用当中,字面量创建对象虽然很有用,但是它并不能满足我们的所有需求,我们希望能够能够和其他后台语言一样创建一个类,然后声明类的实例就能够多次使用,而不用每...

15420

扫码关注云+社区

领取腾讯云代金券