一、基础语法
1 - 输出语句 print "hello world",print默认输出换行,如果需要实现不换行需在变量末尾加上逗号,;
2 - python合法标识符
3 - 字母、数字、下划线但是不能以数字开头,python是大小写敏感的
4 - Python标识符在方法或者类属性命名有规范,类中下划线开头的属性如_val代表不能直接访问的类属性,需要通过类提供的方法进行访问,双划线开头的类属性表示类的私有成员,而双划线开头和结尾的则用于标识Python中的特殊方法或者类的特殊属性,如__name__,__init__()
5 - Python可以在同一行显示多条语句,多条语句之间用分号间隔
6 - Python保留的不能作为其他标识符名称的关键字包括and,exec,not,assert,finally,or,break,for,pass,class,from,print,continue,global,raise,def,if,return,del,import,try,elif,in,while,else,is,with,except,lambda,yield
7 - Python语法区别于其他语言的最大特点就是代码块之间不通过大括号{}间隔,函数以及其他逻辑代码块开始结束的判断,都是以缩进作为依据,属于同一层级的代码缩进数量必须相同否则会报错。
8 - 多行语句且语句中不包含[],{}和()符号的需要使用Python多行代码的连接符"\"
9 - Python可以使用单引号、双引号和三引号包裹字符串,字符串开始和结束的引号类型必须相同,其中单引号、双引号一般用于标识行内字符串,三引号用于表示多行文本的字符串
10 - python单行注释使用#号,多行注释使用一对三个单引号'''或者三个双引号"""包括
11 - python使用空行分隔方法
12 - python脚本执行路径指定推荐使用#!/usr/bin/env python,这样不需要把路径写死,#!/usr/bin/env python会去环境设置里面寻找python目录
二、数据类型
1 - python的基本数据类型包括Numbers(数字),String(字符串),List(列表),Tuple(元组),Dictionary(字典)
2 - python数字类型
python数字类型主要用于存储数值,数字类型是不可变类型,每次修改数值均会在内存分配一个新的python对象。
python支持的数字类型包括int(有符号整形),long(长整型),float(浮点型),complex(复数)。
长整型还可以表示用八进制和十六进制表示,十六进制以0x开头,八进制以0开头,除了十六进制之外,其他类型表示在尾部以L符号标识,此外python还支持复数,复数由实数和虚数构成,实数部分用a+bj,虚数部分用complex(a,b)表示,a和b都是浮点型
python数字(math)相关函数:
abs(x) - 返回数字x的绝对值
math.ceil(x) - 返回数字x向上取整的整数
cmp(x,y) - 比较函数,如果x < y返回-1 ,x > y 返回1,x == y返回0
math.exp(x) - 返回e的x次幂
math.fabs(x) - 返回数字的绝对值
math.floor(x) - 返回数字向下取整的整数
math.log(x,y) - 返回以y为基数的x的对数
math.log10(x) - 返回以10为基数的x的对数
max(x1,x2...) - 返回给定参数的最大值
min(x1,x2...) - 返回给定参数的最小值
math.modf(x) - 返回x的小数部分与整数部分,整数部分用浮点型表示
math.pow(x,y) - 返回x的y次方
math.round(x[,n]) - 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数
math.sqrt(x) - 返回x的平方根
math.acos(x) - 返回x弧度的反余弦值
math.asin(x) - 返回x弧度的反正弦值
math.atan(x) - 返回x弧度的反正切值
math.atan2(x,y) -返回给定(x,y)坐标的反正切值
math.cos(x) - 返回x弧度的余弦值
math.sin(x) - 返回x弧度的正弦值
math.tan(x) - 返回x弧度的正切值
math.hypost(x,y) - 返回欧几里得范数sqrt(x*x+y*y)
math.degree(x) - 将弧度转换为角度dgree(math.pi/2)
math.redians(x) -将角度转化为弧度值
python随机数函数(random)
random.choice(range(10)) - 随机数函数,随机从0到9选择一个数返回
random.randrange([start,]stop[,step]) - 从指定的范围start到stop(包含start但不包含stop)按照指定的基数step随机选择一个值返回,默认start为0,step为1
random.random() - 随机生成下一个实数,范围在[0,1)范围
random.seed([x]) - 修改随机数生成器的种子为x
random.shuffle(list) - 将序列list随机排序,返回排列后的序列
random.uniform(x,y) - 随机生成下一个实数他在[x,y]范围内
python数学常量
math.pi 数学常量pi即圆周率
math.e 数学常量e
3 - python字符串类型
取值顺序有两种方式从右往左和从左往右
支持操作
String[头下标:尾下标] - 截取头下标到尾下标之间不包含尾下标的子字符串,下标从0开始,可为正数负数,负数表示倒数,下标可以为空表示取到头或者尾
str1+str2 - +运算符用于字符串连接操作
String*N - 星号表示重复操作,星号之后的整数标识重复次数
python常用的转义字符(\)
\(在行尾使用) - 续行符 \\ - 反斜杠符号\ \' - 单引号 \" - 双引号 \a - 响铃 \b - 退格(backspace) \e - 转义e \000 空格 \n - 换行 \v - 纵向制表符 \t - 横向制表符 \r - 回车 \f - 换页 \oyy - 八进制制数,如\o12代表换行 \xyy - 十六进制数,如\xOa代表换行
python字符串格式化
%c - 格式化字符及其ASCII码 %s - 格式化字符串 %d - 格式化整数 %u - 格式化无符号整数 %o - 格式化无符号八进制数 %x - 格式化无符号16进制数 %X - 格式化无符号16进制数(大写) %f - 格式化浮点数,可指定小数点后的精度,如%.2f %e - 用科学计数法格式化浮点数 %E - 作用通%e %g - %f和%E的简写 %G - %f和%E的简写 %p - 使用十六进制数格式化变量的地址
python字符串内建函数
string.capitalized() - 把字符串第一个字母换成大写 string.center(width) - 返回一个原字符串居中,并使用空格填充至长度width的新字符串 string.count(str,begin,end) - 返回str在字符串中出现的次数,默认遍历整个字符串,如果指定begin和end,则返回begin至end范围内字符串str出现的次数 string.decode(encoding[,errors]) - 以指定的编码格式encoding解码字符串,如果不指定errors为ignore或者replace那么返回一个ValueError错误 string.encode(encoding[,errors]) - 以指定的编码格式encoding编码字符串,如果不指定errors为ignore或者replace那么返回一个ValueError错误 string.endswith(str[, begin, end]) - 检查字符串是否以str结束,如果是返回True,否则返回False, string.expandtabs(tabsize=8) - 把字符串中的tab符号转换为空格 string.find(str[,begin, end]) - 检测str是否包含在string中,可指定begin、end,如果是返回对应的索引,否则返回-1 string.rfind(str[,begin,end]) - 类似于find方法不过是从右往左遍历字符串 string.format() - 格式化字符串 string.index(str[,begin,end]) - 返回str在字符串中的索引,不在则返回-1 string.rindex(str[,begin,end]) - 与index相反,从右往左遍历,返回str在字符串中的索引,不在则返回-1 string.isalnum() - 如果字符串string至少有一个字符且所有字符都是字母或者数字返回True,否则返回False string.isalpha() - 如果字符串string中至少有一个字符并且所有的字符都是字母则返回True,否则返回False string.isdigit() - 如果字符串string中只包含数字则返回True,否则返回False string.isdecimal() - 如果字符串string中只包含十进制数字则返回True,否则返回False string.islower() - 如果字符串string中至少包含一个区分大小写的字符且所有这些字符均是小写返回True否则返回False string.isspace() - 如果字符串string中只包含空格,则返回True,否则返回False string.isupper() - 如果字符串string中至少包含一个区分大小写的字符,并且所有区分大小写的字符都是大写则返回True否则返回False string.lstrip()- 去掉字符串string左边空格 string.rstrip() - 去掉字符串string右边的空格 string.ljust(width) - 返回一个原字符串左对齐,并用空格填充至长度width的新字符串 string.rjust(width) - 与ljust方法相反,右对齐 string.maketrans(intab,outtab) - 用于创建字符映射转换表,第一个字符串表示需要转换的字符,第二个参数表示转换的目标 str1 = 'abcd' str1.maketrans('abde','1243') ## 结果1234 max(str) - 返回字符串str中最大的字母 min(str) - 返回字符串str中最小的字母 string.partition(str) - 找到string中的str字符串,并从他的起始和终点截断字符串 string.rpartition(str) - 与partition功能相近,只不过是从右往左开始查找 string.replace(str1,str2[,num]) - 将字符串string中str1替换为str2,如果指定num参数则替换次数不超过num次 string.startwith(str[,begin,end]) - 检查字符串是否以str开头,是则返回True,否则返回False string.swapcase() - 字符串string所有字符大小写取反 string.translate(str, del="") - str为maketrans返回,del参数为要过滤掉的字符 string.upper() - 转换string中的小写字母为大写 string.zfill(width) - 返回长度为width的字符串,原字符串右对齐,控线位置
4 - python列表
List列表是Python中有序的对象集合实现,包含元素可为字符、字符串、数字和列表,在python中列表使用[]符号标识
支持操作
list1=[1,2,3,4]
list2=[5,6,7]
list1[0:3] - 截取列表索引0到3之间不包括3的元素,列表截取上下标可为空表示从头部或者尾部开始
list1[1] - 获取索引1对应元素
list1+list2 - 列表连接运算符
list1*2 - 列表list1复制两次
5 - python元组
python元组tuple,本质其实是一个python内部实现的只读列表,元组不允许二次赋值,元组中的元组也不允许更新,使用()符号表示,内部元素使用逗号隔开元素不能二次赋值,相当于只读列表
支持操作(类似List)
tuple=(1,2,3,4)
tuple[0] - 输出元组第1个元素
tuple[1:3] - 输出第2个到第3个元素
tuple[2:] - 输出第三个开始至列表末尾的所有元素
tuple1 + tuple2 - 元组连接操作,返回tuple1和tuple2合并之后的元组
tuple1*2 - 输出元组2次
6 - python字典
python中的无序对象集合,字典中存取元素不通过下标而是通过键key,字典使用{}符号表示
支持操作
dict={} dict['one']="number one" - 把键值对"one"->"number one"存入字典 dict['one'] - 获取字典中键为one的元素 dict.keys() - 输出所有的键 dict.values() - 输出所有值
7 - 数据类型转换
int(x[,base]) - 将x转化为一个整数,默认以十进制方式转化,base参数表示进制数 long(x[,base]) - 将x转换为一个长整数,默认十进制方法转化,base表示进制数 float(x) - 将x转换为一个浮点型 complex(real[,imag]) - 创建复数,real表示实数部分,imag表示虚数部分,两者皆为浮点型 str(x) - 将对象x转换为字符串 repr(x) - 将对象x转换为表达式字符串 eval(str) - 用来计算在字符串中的有效Python表达式,并返回结果对象 tuple(s) - 将序列s转化为一个元组 list(s) - 将序列s转换为一个列表 set(s) - 对s去重返回一个无序不重复的集合 dict(d) - 创建字典 实例: dict(a='valueA',b='valueB',c='valueC') dict([('one':1),('two':2),('three':3)]) dict(['one','two','three'],[1,2,3]) frozenset(s) 转换为不可变集合 chr(x) - 将一个整数转换为一个字符 unichar(x) - 将一个字符转换为Unicode字符 ord(x) - 将一个字符转换为它的整数值 hex(x) - 将一个整数转换为一个十六进制字符串 oct(x) - 将一个整数转换为一个八进制字符串
三、python运算符
算数运算符
+ 加法,两个对象相加
- 减法,两个对象相减
* 乘法,两个数相乘或是返回一个被重复若干次的字符串
/ 除法,x除以y
% 取模,返回除法的余数
** 返回x的y次幂,a**b,返回a的b次方
// 去整数,返回商的整数部分
比较运算符
== 等于,比较对象是否相等
!= 不等于,比较两个对象是否不相等
<> 不等于,比较两个对象是否不相等
> 大于,返回操作符左边对象是否大于右边
< 小于,返回操作符左边对象是否小于右边
>= 大于等于,返回操作符左边对象是否大于等于右边
<= 小于等于,返回操作符左边对象是否小于等于右边
赋值操作符
= 简单的赋值操作
+= 加法赋值操作符,如c += a等于c=c+a
-= 减法赋值操作符,如c -= a等于c=c-a
*= 乘法赋值操作符,如c *= a等于c=c*a
/= 除法赋值运算符,如c /= a等于c=c/a
%= 取模赋值运算符,如c %= a等于c=c%a
**= 幂赋值运算符,如c **= a等于c=c**a
//= 取整除赋值运算符,如c //= a等于c = c // a
位运算符
python中运算符会把数字作为二进制进行运算,python中的按位运算符如下
a=0011 1101
b=0000 1101
a&b=00001101
a|b=00111101
a^b=0011 0000
~a=1100 0010
a>>2==0000 1111
a<<2==1111 0100
& - 按位与运算
| - 按位或运算
^ - 按位异或运算
~ 按位取反运算
>> 按位右移运算符,移动位数为>>符号右边指定的位数,高位补0,低位丢弃
<< 按位左移运算符,移动位数为<<符号右边指定的位数,高位丢弃,低位补0
逻辑运算符
and - (x and y) 布尔”与“,如果x为False或0,(x and y)返回x的计算值,否则它返回y的计算值
or - (x and y) 布尔”或“,如果x是非0,他返回x的值,否则他返回y的计算值
not - (not x) 布尔”非“,如果x为0或者False,返回True,如果为非0值或者True,返回False
成员运算符
python还支持成员运算符如下,操作的对象包括字符串,列表或者元组
in - 如果在指定的序列中返回True否则返回False
not in - 与in相反,如果在指定的序列中返回False,否则返回True
身份运算符
用于比较两个对象的存储单元
id()函数用于获取对象的内存地址
is - 若两个标识符引用的是同一个对象返回True,否则返回False
is not - 与is相反
python的运算符优先级
python运算符从高到低依次是
1 - 指数运算(**)
2 - 按位取反,一元加好,减号(~, +, -)
3 - 乘除,取模,和取整除(*, /, %, //)
4 - 加减法(+, -)
5 - 左移、右移运算(<<,>>)
6 - 位'AND'(&)
7 - 位或、异或运算符(|, ^)
8 - 比较运算符(<=, <, >, >=)
9 - 等于不等运算符(<> ,==, !=)
10 - 赋值运算符(=, %=, /=, //=, -=, +=, *=, **=)
11 - 身份运算符(is, is not)
12 - 成员运算符(in, not in)
13 - 逻辑运算符(and, or, not)
浙公网安备 33010602011771号