Python介绍

  Python是一种高级的、动态类型的多范型编程语言。现在常用的Python版本是Python3.x。

Python代码通常被认为是伪代码,因为在简明易懂的几行代码中可以表达出非常强大的思想。

举例说明,下面是Python中经典的快速排序算法的实现:

>>> def quicksort(arr):if len(arr)<=1:return arrpivot = arr[len(arr)//2]left = [x for x in arr if x < pivot]middle = [x for x in arr if x == pivot]right = [x for x in arr if x > pivot]return quicksort(left) + middle + quicksort(right)>>> print(quicksort([3,6,8,10,1,2,1]))
[1, 1, 2, 3, 6, 8, 10]

基本数据类型

  • python的基本数据有整型、浮点型、布尔类型、strings类型,用法与其他编程语言相似。
  • python没有自加自减的操作符,即python中不存在x++或是x–。
  • ‘/ ‘就表示浮点数除法,返回浮点结果,’ // ‘表示整数除法,**表示幂次方。
  • python的单行注释是以 # 开头,多行注释是用三引号”’ ”’包含的。

数值计算

>>> x=3>>> print(type(x))
<class 'int'>>>> print(x)
3
>>> print(x+1)
4
>>> print(x-1)
2
>>> print(x*2)
6
>>> print(x**2)         # 2次方
9
>>> print(x**3)         # 3次方
27
>>> print(x/2)          # 浮点数除法
1.5
>>> print(x//2)         # 整数除法
1>>> x+=1
>>> print(x)
4
>>> x*=2
>>> print(x)
8>>> y = 2.5
>>> print(type(y))
<class 'float'>>>> print(y,y+1,y*2,y**2)
2.5 3.5 5.0 6.25

布尔型:

  python中有布尔类型boolean,以英文表示而非字符如&&、||等。布尔类型区分大小写,正确写法是True、False而非true、false。

>>> t = True
>>> f = False>>> print(type(t))
<class 'bool'>>>> print(t and f)      # 与
False>>> print(t or f)       # 或
True>>> print(not t)        # 非
False>>> print(t!=f)
True

Strings:

>>> hello = 'hello'           # 入门第一步,hello world!
>>> world = "world">>> print(hello)
hello>>> print(len(hello))
5>>> hw = hello + ' ' + world
>>> print(hw)
hello world>>> hw12 = '%s %s %d' % (hello,world,12)
>>> print(hw12)
hello world 12>>> s = "hello"
>>> print(s.capitalize())     # 首字母大写
Hello>>> print(s.upper())          # 全部大写
HELLO>>> print("HELLO".lower())    # 全部小写
hello>>> print(s.rjust(7))         # 占7位,右对齐hello>>> print(s.ljust(7))         # 占7位,左对齐
hello  >>> print(s.center(7))        # 占7位,中间对齐hello >>> print(s.replace('l','o')) # 替换
heooo>>> print(' hello  world '.strip()) # 去除首尾空白符
hello  world

列表

Python含有几个内置的容器类型:列表、字典、集合和元组。

列表List能包含多种不同类型的元素。在Python中相当于数组,但它的大小可以改变。不同于元组的是,列表可动态增加,删除,更新。

列表基本操作

>>> xs = [3,1,2]              # []定义列表>>> print(xs,xs[2])           # 列表下标以0开始计数
[3, 1, 2] 2>>> print(xs[-1])             # 负索引从列表的末尾开始计算
2
>>> print(xs[-2])
1>>> xs[2] = 'foo'
>>> print(xs)
[3, 1, 'foo']>>> xs.append('bar')          # 添加元素
>>> print(xs)
[3, 1, 'foo', 'bar']>>> x = xs.pop()              # 删除元素
>>> print(x,xs)
bar [3, 1, 'foo']

切片Slicing

>>> nums = list(range(5))>>> print(nums)
[0, 1, 2, 3, 4]>>> print(nums[2:4])          # 不含末位!
[2, 3]>>> print(nums[2:])
[2, 3, 4]>>> print(nums[:2])
[0, 1]>>> print(nums[:])
[0, 1, 2, 3, 4]>>> print(nums[:-1])          # 下表-1对应元素为4
[0, 1, 2, 3]>>> nums[2:4] = [8,9]         # 替换
>>> print(nums)
[0, 1, 8, 9, 4]

列表循环

>>> animals = ['cat','dog','monkey']
>>> for animal in animals:                    # 循环print(animal)cat
dog
monkey>>> for idx,animal in enumerate(animals):     # 枚举循环print('#%d: %s' % (idx + 1,animal))#1: cat
#2: dog
#3: monkey

列表推导式List comprehensions

>>> nums = [0,1,2,3,4]
>>> squares = []
>>> for x in nums:squares.append(x ** 2)
>>> print(squares)
[0, 1, 4, 9, 16]>>> nums = [0,1,2,3,4]
>>> squares = [x ** 2 for x in nums]
>>> print(squares)
[0, 1, 4, 9, 16]>>> nums = [0,1,2,3,4]
>>> even_squares = [x ** 2 for x in nums if x % 2 == 0]
>>> print(even_squares)
[0, 4, 16]

字典

  字典是无序的,存储键值对数据。最外面用大括号,每一组用冒号连起来,然后各组用逗号隔开。

字典基本操作

>>> d = {'cat':'cute','dog':'furry'}          # 定义字典>>> print(d['cat'])                           # 输出cat对应的值
cute>>> print('cat' in d)                         # 判断cat是否在字典里
True>>> d['fish'] = 'wet'                         # 为字典添加新元素
>>> print(d['fish'])
wet>>> print(d['monkey'])                        # monkey不在字典内
KeyError: 'monkey'>>> print(d.get('monkey','N/A'))              # 获取失败则输出缺省值'N/A'
N/A>>> print(d.get('fish','N/A'))                # 获取成功则输出相应值
wet>>> del d['fish']                             # 删除元素
>>> print(d.get('fish','N/A'))
N/A

字典循环

>>> d = {'person':2,'cat':4,'spider':8}
>>> for animal in d:legs = d[animal]print('A %s has %d legs' % (animal,legs))A person has 2 legs
A cat has 4 legs
A spider has 8 legs# 获取键值和相应值可以使用items方法
>>> d = {'person':2,'cat':4,'spider':8}
>>> for animal,legs in d.items():print('A %s has %d legs' % (animal,legs))A person has 2 legs
A cat has 4 legs
A spider has 8 legs

字典推导式Dictionary comprehensions

>>> d = {'person':2,'cat':4,'spider':8}
>>> nums = [0,1,2,3,4]
>>> even_num_to_square = {x: x ** 2 for x in nums if x % 2 == 0}
>>> print(even_num_to_square)
{0: 0, 2: 4, 4: 16}

集合

  集合是一个无序不重复元素集。

集合基本操作

>>> animals = {'cat','dog'}                   # 定义集合           >>> print('cat' in animals)                   # 判断cat是否在集合内
True
>>> print('fish' in animals)                  # 判断fish是否在集合内
False>>> animals.add('fish')                       # 添加元素
>>> print('fish' in animals)
True
>>> print(len(animals))
3>>> animals.add('cat')                        # cat在集合内,故不作改变
>>> print(len(animals))
3>>> animals.remove('cat')                     # 删除元素
>>> print(len(animals))
2

集合循环,由于无序,所以不能使用for…in…方法进行循环。

>>> animals = {'cat','dog','fish'}
>>> for idx,animal in enumerate(animals):print('#%d: %s' % (idx+1,animal))#1: dog
#2: cat
#3: fish

集合推导式Set comprehensions

>>> from math import sqrt
>>> nums = {int(sqrt(x)) for x in range(30)}
>>> print(nums)
{0, 1, 2, 3, 4, 5}

元组
  元组是一个(不可变的)有序的值列表。元组在许多方面与列表相似,最重要的区别之一是,元组可以用作字典中的键,也可以作为集合的元素,而列表则不能。

  元组一旦定义其长度和内容都是固定的。一旦创建元组,则这个元组就不能被修改,即不能对元组进行更新、增加、删除操作。

元组基本操作

>>> d = {(x,x+1): x for x in range(10)}       # 字典>>> t = (5,6)                                 # 元组
>>> print(type(t))
<class 'tuple'>>>> print(d[t])
5
>>> print(d[(1,2)])
1

函数

>>> def sign(x):if x > 0:return 'positive'elif x < 0:return 'negative'else:return 'zero'>>> for x in [-1,0,1]:print(sign(x))negative
zero
positive
>>> def hello(name,loud = False):if loud:print('HELLO, %s!' % name.upper())else:print('Hello, %s' % name)>>> hello('Bob')
Hello, Bob>>> hello('Fred',loud = True)
HELLO, FRED!

class Greeter(object):def __init__(self, name):self.name = name  # Create an instance variabledef greet(self, loud=False):if loud:print('HELLO, %s!' % self.name.upper())else:print('Hello, %s' % self.name)g = Greeter('Fred')
g.greet()
g.greet(loud=True)   # 运行结果:
# Hello, Fred
# HELLO, FRED!

【Python】Python简单入门相关推荐

  1. Python爬虫简单入门教程

    这篇 Python 爬虫教程主要讲解以下 5 部分 了解网页结构: 使用 requests 库抓取网站数据: 使用 Beautiful Soup 解析网页: 清洗和组织数据: 爬虫攻防战: 了解网页结 ...

  2. python爬虫简单入门(爬网页文本信息)

    环境 python 3.8.2 Shell 也可以使用PyCharm 一.爬网页文本基本步骤 1.请求目标网页,用requests请求,如果还没有安装,打开cmd,输入下面命令进行安装 pip ins ...

  3. 爬取每日必应图片,python爬虫简单入门

    爬取每日必应图片: 网址:微软必应搜索 第一步,打开网站: 右键,查看网页源代码: 初看有点吓人,不过幸运的是图片地址就在开头几行显眼的位置 ![在这里插入图片描述](https://img-blog ...

  4. 机器人 python 极客入门_机器人Python极客编程入门与实战

    Python是一种面向对象.解释型的计算机程序设计语言,其简洁实用.高效,拥有众多模块库,可移植,跨平台,简单易学,易于上手.随着计算机深入发展,Python逐渐成为最适合青少年做创意设计的语言,也同 ...

  5. python tornado教程_Tornado 简单入门教程(零)——准备工作

    前言: 这两天在学着用Python + Tornado +MongoDB来做Web开发(哈哈哈这个词好高端).学的过程中查阅了无数资料,也收获了一些经验,所以希望总结出一份简易入门教程供初学者参考.完 ...

  6. 很多都是python很简单吗,但是要如何才能入门python并精通呢?

    1,python怎么学 一般来说,Python几个月应该是可以入门了.如果你几个月还没有入门,一定是方法不对,要么就是偷懒了.我在公众号里面有一篇文章详细写过 '初学者上来不要学爬虫',爬虫虽然非常有 ...

  7. python如何读取mat文件可视化_python Matplotlib数据可视化(1):简单入门

    1 matplot入门指南 matplotlib是Python科学计算中使用最多的一个可视化库,功能丰富,提供了非常多的可视化方案,基本能够满足各种场景下的数据可视化需求.但功能丰富从另一方面来说也意 ...

  8. python基础一入门必备知识-python基础教程#菜鸟也能看懂的超简单入门必备知识...

    python基础语法教程 python一直是一门非常火爆的编程语言,从简洁的语法,全面的功能,也是得到许多编程萌新的重视,在刚刚接触编程不久的人来说,python就像是代码编程的入门语言,但其实想成为 ...

  9. Python 简单入门指北(二)

    Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...

  10. 一步一步学python爬虫_初学Python之爬虫的简单入门

    初学Python之爬虫的简单入门 一.什么是爬虫? 1.简单介绍爬虫 爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等. 网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的数据 ...

最新文章

  1. Oracle表空间管理
  2. python类装饰器详解-Python 装饰器详解
  3. 有了这款Python神器,新手也会调试代码!
  4. Ubuntu14.04 更新源 方法 提升更新的下载速度
  5. java基础之HashTable和HashMap的区别
  6. 基于etcd实现大规模服务治理应用实战
  7. iOS开发-类簇(Class Cluster)
  8. POJ2806 Square
  9. 多媒体计算机辅助英语教学,多媒体计算机辅助英语教学的探究.pdf
  10. Windows的快捷方式、符号链接、目录联接、硬链接的区别
  11. 一些软件的安装(cherrytree,mplayer,flash插件)
  12. 外贸电子商务网站的网络广告推广方案
  13. PMBOK及PMP考试精要
  14. 阿里图标在IE浏览器上不显示的问题
  15. 基于STM32的农业灾害监测系统设计
  16. 聚类时需要标准化吗_【小提琴】初学小提琴时都需要注意哪些?你知道吗?
  17. 随笔荟萃 | sincerity
  18. 这个饭店每天只卖一道菜,月入百万?
  19. Linux系统上没有scp命令,bash scp:未找到命令的解决方法
  20. uniapp 广播 pda 扫描设备

热门文章

  1. 好用的数据增强工具Augmentor(原图和mask扩充)
  2. js调用天地图api
  3. opencv文件路径问题
  4. EPR | 制药业的AI:利用宝贵的资源
  5. python-字符串和文本
  6. nginx 集群部署_入门级实操教程!从概念到部署,全方位了解K8S Ingress!
  7. netty发送数据_【Netty】JAVA IO模型
  8. 零基础入门学习Python(35)面向对象编程
  9. iMeta:西农韦革宏团队焦硕等-土壤真菌驱动细菌群落的构建(全文翻译/PPT/视频解读)...
  10. GCB:生态中心邓晔组-增温改变了微生物相互作用关系