Python学习之--python概要
1 Python的优点
Python语言类库齐全,语法简洁,而且在linux上自带安装,在处理大数据以及自动化方面有其独有的特点。
2 Python的解释器
Python解释器用来解释python代码,比较流行的python解释器有:
CPython, 使用C解释器,将python源码解释为.pyc文件(字节码)
JPython, 使用java解释器,将python源码解释为java识别的字节码
IronPython, 使用c#解释器解释为c#识别的字节码
PyPy,解释器解释为字节码后加了一步机器码,它的特点是快
3 Python编码
在Python中设计到的编码方式:
ASCII,用8位来表示部分字符和数字
Unicode,至少16位,包含了各国所能用到的字符。
Utf-8,会对unicode进行压缩,节省不必要的空间消耗。
4 基本的数据类型
Python中基本的数据类型有:
int 整型
long长整型
float 浮点型
布尔型: True 或者 False; 等价于1或0
字符串:“This is a string”
5 复杂的数据类型
Python中复杂的数据类型有:
list 列表: li=[1,2,3,4,]
tuple 元祖: t1=(1,2,3,4)
dict 字典: dic={'k1':'v1','k2','v2'}
set 集合: {'a','b','c'}
6 代码结构及基本的流程控制
使用#注释
使用\连接 (程序中一行太长,可以使用\分割成好几行)
>>> 1+2+ \
3 + \
4
10
>>>
if..else/ if..elif..else 用来选择控制流程
for,while循环 用来控制循环
break跳出循环
continue跳到循环开始
while...else结构,如果while 循环正常结束(没有使用break 跳出),程序将进入到可选的else 段。
zip()可以用来实现并行迭代,example 如下:
>>> days = ['Monday', 'Tuesday', 'Wednesday']
>>> fruits = ['banana', 'orange', 'peach']
>>> drinks = ['coffee', 'tea', 'beer']
>>> desserts = ['tiramisu', 'ice cream', 'pie', 'pudding']
>>> for day, fruit, drink, dessert in zip(days, fruits, drinks, desserts):
... print(day, ": drink", drink, "- eat", fruit, "- enjoy", dessert)
...
Monday : drink coffee - eat banana - enjoy tiramisu
Tuesday : drink tea - eat orange - enjoy ice cream
Wednesday : drink beer - eat peach - enjoy pie
zip() 函数在最短序列“用完”时就会停止。
7 变量和常量
常量一般用大写字母来表示,用以区分变量,如 PI=3.14
8 缩进
Python 需要通过缩进来判断作用域,同一级别的代码缩进的量必须是一样的,如:

两个print显然是同一级别,那么前面的缩进必须一直,官方推荐缩进4个空格量。当然,最好使用IDE工具来编写,会自动缩进,可以省掉不少麻烦。
推荐的代码缩进风格PEP-8(http://legacy.python.org/dev/peps/pep-0008/)
9 各种运算
9.1 基本算数运算
+, -, *, /, %, **, //
//是取整除,即返回商的整数部分
9.2 比较运算
==, !=, >, <, >=, <=
比较运算结果返回布尔值,比如 2>3 会返回 False
9.3 二进制位运算
& 按位与
| 按位或
^ 按位异或
<< 左移,比如 2<<1 ,会返回4
>>右移,比如2 >>1, 会返回1
10 python中的True 和 False
| 布尔 False null 类型 None 整型 0 浮点型 0.0 空字符串 '' 空列表 [] 空元组 () 空字典 {} 空集合 set() |
上述赋值都会被认为是False,除此之外,其他的为True.
11 其他
列表推导
格式1: [ expression for item in iterable ]
>>> new_li=[item for item in range(10)]
>>> new_li
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
格式2: [expression for item in iterable if condition]
>>> new_li = [item for item in range(10) if item %2 ==1]
>>> new_li
[1, 3, 5, 7, 9]
字典推导
格式:{ key_expression : value_expression for expression in iterable }
>>> word = 'letters'
>>> letter_counts = {letter: word.count(letter) for letter in word}
>>> letter_counts
{'l': 1, 'e': 2, 't': 2, 'r': 1, 's': 1}
Python学习之--python概要的更多相关文章
- Python学习day09 - Python进阶(3)
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习day05 - Python基础(3) 格式化输出和基本运算符
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习笔记—Python基础1 介绍、发展史、安装、基本语法
第一周学习笔记: 一.Python介绍 1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...
- python学习笔记-python程序运行
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
- Python学习(一) Python安装配置
我本身是Java程序猿,听说Python很强大,所以准备学习一下Python,虽说语言都是相同的,但java跟python肯定还是有区别的.希望在此记录一下自己的学习过程. 目前,Python分2.X ...
- python学习: 优秀Python学习资源收集汇总--转
Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl ...
- 总结:Python学习 和 Python与C/C++交互
本篇仅仅是Python的学习和Python和C++数据对接过程中的一些总结. 由于工作的需要,用一周的时间学习 Python. Python是基于C实现的一门解释型语言,由于其易用性,俘获了不少开发者 ...
- Python学习day07 - Python进阶(1) 内置方法
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习之Python简介
Python简介 Python的由来 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象.解释型计算机程序设计语言,它是吉多·范罗苏姆(Guide van ...
随机推荐
- JS按比例缩放图片
1.JS代码 <script type="text/javascript" language="javascript"> var flag = fa ...
- The linux command 之引用
[me@linuxbox ~]$ echo this is a test this is a test shell 会对echo进行单词分割(word splitting)去除多余的空白. [me@l ...
- COGS2356 【HZOI2015】有标号的DAG计数 IV
题面 题目描述 给定一正整数n,对n个点有标号的有向无环图进行计数. 这里加一个限制:此图必须是弱连通图. 输出答案mod 998244353的结果 输入格式 一个正整数n. 输出格式 一个数,表示答 ...
- 实现虚拟机VMware上Linux与本机windows互相复制与粘贴的问题
解决方法:只需要在Linux系统中安装一个vmware-tools的工具 1.选择虚拟机菜单,有安装vmware tools 工具的选项 点击之后,在Linux的桌面下会出现 VMwareTools. ...
- 概率dp——cf518D
通过最后的概率求最终的期望 #include<bits/stdc++.h> using namespace std; ; double p,dp[maxn][maxn]; int n,t; ...
- 使用WebStorm上传本地项目到GitHub和GitLab
在使用 WebStorm 上传本地项目到 GitHub 之前,先要做一些相关配置. 首先打开 WebStorm ,依次点击File -> Settings… 打开系统设置面板,在上面搜索 git ...
- 1636: Pascal山脉
1636: Pascal山脉 时间限制: 1 Sec 内存限制: 128 MB提交: 51 解决: 15[提交][状态][讨论版] 题目描述 小卡卡顺着老者所指的方向,来到了Pascal神峰的顶峰 ...
- JAVA基础_泛型
什么是泛型 泛型是提供给javac编译器使用的,可以限定集合中的输入类型,让编译器挡住源程序中的非法输入,编译器编译带类型说明的集合时会去除掉"类型"信息,是程序的运行效率不受影响 ...
- java中一个类不想被继承怎么办?
方法一:把类声明为final 方法二:对类中的构造器声明为private,类中提供一个static方法,完成对类的初始化.如下代码: public class Base{ private Base() ...
- 2_1.springboot2.x配置之配置文件解析
1.配置文件 1.Spring Boot使用一个全局的配置文件:•application.properties.application.yml 2.配置文件放在src/main/resources目录 ...