欢迎大家补充纠错,侵删致歉。
1.Python语言概述
python规定了非常严格的缩进规则,比如必须使用四个空格来表示每级缩进(在实际编写中可以自定义空格数,但是要满足每级缩进间空格数相等),python支持使用Tab字符来表示缩进。比如说,if语句下一行如果不向右缩进的话会在编译时报错。
所有的python程序都要声明编码格式,我们通常都把它声明为utf-8格式。
Pythony语言有很多种集成开发环境,常见的几种运行环境:IPython , JupyterNotbook , PyCharm , Spyder(推荐在使用数据分析的时候使用前两个)
我们在编写python代码时,得到的是一个带有.py扩展名的一个文本文件,要运行代码就需要python解释器去执行.py这一文件。
2.内置对象
2.1数字
整形和浮点型变量统称为数值型变量。
用科学记数法表示很大的一个数时用e来代替10,比如3.12乘以10的9次方可以写作3.12e9
布尔型只有两种类型true或false。
空值NONE告诉计算机这里没有东西,一般用NONE来填补数据表中的缺失数据。
一般我们用type()函数来查询该数据的类型。
常用的函数int() float() bool() 用来转化数据类型。
除了type()来判断数据类型外,isinstance()也可以用来判断,例如:isinstance(a,float)来判断变量a是否为float类型。
2.2字符串
目前公认的,编码集Unicode的最广泛的实现方式是UNF-8
查询某个汉字对应的编码: ord(“学”)
查询某个编码对应的汉字或内容: chr(23398)
2.3列表
remove(“hello”) 括号里要加列表里的元素而不是索引,作用是删除该元素例如city.remove(‘beijing’)
Pop()括号里要写元素的索引而不是元素,作用是删除该索引指向的元素并返回这个元素,例如city.pop(2)就是删除并返回列表的第三个元素(也可以写成 del city[2])。括号里可以什么都不写,此时默认删除并返回列表中最后一个元素。
clear()是清除列表中的元素,如果什么都不写就是默认原地清除列表中所有的元素
列表中的元素可以排序,比如说列表a=[3,5,1,6],使用a.sort()再输出a就得到了排好的列表:
a=[1,3,5,6]默认正向排序
a.sort(reverse=True)代表正向排序
a.sort(reverse=False)代表反向排序
Lst.sort(key=len)此时字符串列表排序按照字符串的长度排序
Sort进行的排序都是在原列表的的基础上进行修改。
sorted(lst)是按照字典顺序排序的(即首字母的字母表排序),排完序新生成一个列表,对原列表没有影响。
列表的反转也可以使用lst[::-1]或者lst.reverse()直接进行反转(原地修改)
在内置函数里也有一个反转函数reversed(lst)输出结果是一个迭代器对象,查看时使用list.reverse(lst)该方法对原列表没有影响
Insert(1,”abc”)是在1的位置加上一个元素”abc”
它的作用就是在列表中的指定位置加上指定的元素
列表(lst)是可变对象,字符串(s)是不可变对象,二者之间的转化如下:list(s) str(lst)
或者s.split() “ ”.join(lst) 引号里什么都不用写
例如:
a=”aurora”
Lst=list.(a)
Lst
输出结果为:[‘a’ , ‘u’ , ‘r’ , ‘o’ , ‘r’ , ‘a’ ]
b=”i love python”
Lst=b.split()
Lst
输出结果为:[ ‘i’ , ‘love’ , ‘python’ ]
以字符串隔开然后依次输出
列表转化字符串的专用方法””.join(lst)
Python的序列类型(Sequence Types)有列表(list)和元组(tuple)。Python的字符串(str)也可看作是一种特殊的序列。
3.运算和控制结构
3.1运算符
算数运算符
比较运算符
“is” 判断的是两个对象是否为同一个对象,即在内存中地址是否相同,注意,“相等”和“同一个”是不一样的。
思考下面的两个例子,为什么c和d两个内存地址不同。
数字和字符串(一个或多个字符)都可以进行比较(字符串是按照字典顺序进行比较)。
同种类型的对象才能进行比较。
bool()函数判断是不是有意义的字符。比如说bool(“ ”)返回true 而bool(“”)返回false。空的东西都会返回false,比如bool([])空的列表,bool(set())空的集合,bool(0),bool(False),或者bool(None)返回的都是false。
逻辑运算符(and or not)
例:1 in [1,0] == True返回值是false。
解析:上述式子属于简写,可以扩写为:( 1 in [1,0] ) and([1,0] ==True ),根据and运算符的运算规律,1 in [1,0]是真,而[1,0]==True是假,故上式为假。
3.2if语句和while语句
关于if语句
from math import *可以调用所有的math里的函数以及数值(比如e和pi)
关于赋值:a=1 (把1赋值给a)
x , y , z = 1 , 2 , 3 (分别把1,2,3赋值给了x , y , z )
B=”python”,”php” (把两个字符串都赋值给B,形成一个元组,输出结果为(“python”,”php”))
m=n=”python”(链式赋值,m与n 的赋值均为“python”)
字符串相加会组成一个新的字符串:
m=”python”
m+=”ABC”
( 输出结果为“python ABC”)
isdigit() 方法检测字符串是否只由数字组成,如果是的话就返回True不是的话就返回False 。
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。format 函数可以接受不限个参数,位置可以不按顺序。例如:
isalpha() 方法检测字符串是否只由字母组成。 语法 isalpha()方法语法:
str.isalpha()
关于输入
输入一个值,要使用input()函数,格式为:str=input(“Input Something:”)
随机数怎么取
在python中使用import random格式如下:
Import random
Number=random.randint(0,100) # 是取一个范围从0到100的随机整数 #
使用dir(random)可以查询出random的具体使用方法。
关于循环
循环次数不限就使用while true:
对用户的输入情况进行一个判断,在一般条件下,用户的输入可能不是十分严谨。(比如说,要求输入一个整数,而用户并没有输入整数,或者输入的整数超出了所预定的范围,就要设计语句对其进行判断)
continue和break是不同的。break是直接跳出循环,continue是跳过循环里的这一步来到下一步,这一步不执行。
3.3For循环
可迭代对象才能使用for循环
判断一个对象是否是可迭代的
print在输出的时候默认结尾处换行,假如说换一种形式:
A=[1,2,3]
Print(A,end=”------*------”)
最后的输出结果为: [1,2,3]------*------
任意函数:lambda x,y: x+y 冒号前面是所有变量,冒号后面是所有变量对应的表达式。
一个列表可以形成对应的字典:已知列表a
A={key,value for key,value in enumerate(a,b)
}#一个列表在此使用enumerate函数
两个列表也可以组合形成新的字典(主干式子):已知两个列表a,b
B={ key,value for key,value in zip(a,b)} #两个列表在此使用zip函数