python之二types and operators
来源:互联网 发布:c数组长度定义 编辑:程序博客网 时间:2024/04/29 07:08
1.简介
- Dynamic Typing
动态类型,自动匹配觉得数据类型;
- Strong Typing
一旦决定,就不能轻易改变;not casual
- 不支持java那样integer+String,python会报错
- Numbers
-int,long,float,complex
- Strings,Unicode:immutable
- Lists and dictionaries:containers
- Other types for e.g. binary data,regular expressions,introspection
- Extension modules can define new "build-in" data types
- 其他类型,如二进制数据,正则表达式,反射
- 可以扩展build-in 数据类型?
2.Numeric Types(1)
Integers
C longs
注意:7/2=3
Long integers
l或L结尾
可以任意长
Floating point numbers
Examples:0.,1.0,1e10,3.14e-2,6.99E4
C doubles
八进制数
O开始
十进制数
0x开始
Complex numbers:
以j或者J结尾,比如:
1+2j
3+3J
3.Operations on Numbers
基本的代数运算
四则运算
幂 a**b
其他基本函数在NumPy和SciPy里面找到
比较运算
!=
二元运算符
Bitwise or : a|b
Bitwise exclusiv or: a^b#或非 5^3=6
Bitwise and: a & b
shift : <<; >>
顺序
PEMDAS
()** * / +-
python支持混合计算,以最复杂的那个类型为准
4.Strings(1)
4.1.单引号或者双引号包围起来
enclosed in single or double quotation marks
双引号允许多行扩展字符串without backslashes, which usually signal the continuation of an expression
4.2.Concatenation and repetition
4.2.1.+字符串相连
'abc'+'def'
4.2.2.*字符串重复使用
'abc'*3
5.Indexing and Slicing(1)
下标和切断
0开始,以字符串s为例,从0到len(s)-1
s[i,j]
i包括在里面,j不包括在里面
s='string'
s[1:4]
'tri'
s[:4]
'stri'
s[2:]
'ring'
6.Indexing and Slicing(2)
6.1.继续i,j,k
s='string selected'
s[0:10]
'string sel'
s[0:10:2]
'srn e'
6.2.negative index
表示从尾部开始
s='string'
s[-1]
'g'
s[-2]
'n'
python的下标系统和Fortran,Matlab和Mathematica不一样,这后面三个都是从1开始。
7.Lists
[]
中括号
flexible arrays,可以包含数字,字符串,嵌入的sublists,或者nothing
lists are mutable:个别成员可以被重新赋值。更甚,他们可以生长或者缩小。
8.lists的操作符
Reversal
L4.reverse()
Shrinking
del L4[2]
Index and slice assignment:
L1[1]
L1[2:4]
Making a list of integer:
range(4)
[0,1,2,3]
range(1,5)
[1,2,3,4]
8.tuples
()
就是immutable list
如果没有nesting tuples,就可以省略括号
虽然说不可变,但是可以和lists互相转换
9.Arrays(1)
不是build-in python types
第三方包NumPy
from numpy import *
vec=array([1,2,3])
#3*3 array
mat=array([[1,23],[4,5,6],[7,8,9]])
zeros((m,n,'typecode')
typecode可以使用int,float,double
10.Array(2)
和lists很类似
arrays不能用+和*来做concatenation和repetition
+的意义不一样
ar1=array([2,4,6]);ar2=array([1,2,3])
ar1+ary=[3,6,9]
ar1*ar2
[2,8,18]
ar1/ar2
[2,2,2]
ar2**2
[1,4,9]
- python之二types and operators
- <eloquentjavascript>Values, Types, and Operators
- Python en:Operators and Expressions
- Python Types and Objects
- Python Types and Objects
- Chapter 2 – Types, Operators and Expressions of TCPL
- Eloquent JavaScript 笔记 一、Values, Types, and Operators
- 二、Python Data Types
- [Python]--SciPy Indexing and Python Basic Operators
- Data types,Operators,Expressions
- EC之Constructors,Destructors, and Assignment Operators
- Java程序设计(Java9版):第2章 数据类型与运算符(Data types and Operators)
- Effective C++ 读书笔记之Part2.Constructors, Destructors, and Assignment Operators
- 5.Operators and Assignments
- usage of >>>、>> and << operators
- Reference Types and Values Types
- Generic types and Wildcard types
- 剖析Python语言中的两种基类 Types and Objects
- Mysql的longblob字段插入数据问题
- [access查询]将access表导出为TXT文件及将TXT文件导入access表的几个SQL语句
- linux增加swap分区与cryptswap1问题
- 平视时的透视类型(“一点透视”和“两点透视”)
- hdu 4031 Attack(树状数组)
- python之二types and operators
- webview访问url的几种方式
- 平视时的透视类型(“一点透视”和“两点透视”)
- LeetCode OJ:Length of Last Word
- 推荐一个站点:里面有很多不错的长文
- 练级建议
- 黑马程序员__19java交通灯管理系统
- Leetcode: Linked List Cycle II
- Linux之文件系统的手动挂载