01-python初识

02-python3基础语法

03-python3基本数据类型

04-进制转换

05-变量

06-运算符

07-math模块中常用函数

01-python初识

======常用的快捷键========

ctr+b 执行(sublim)

ctr+/ 单行注释

ctr+c 拷贝

ctr+v 粘贴

ctr+s 保存

ctr+z 撤销

ctr+shift+z 反撤销

ctr+a 全选

ctr+x 剪切

ctrl + 单击选中的函数,进入函数的解释界面

ctrl+f-->输入要替换目标-->ctrl+r-->输入更新的内容-->replace all

版本号A.B.C

A在语言做重大修改,一般不兼容之前的版本。

B在做功能增加的时候,B的值增加。

C在修复BUG时候,值增加。

注意:我们目前讲的Python都是Python3.x

print是Python中的内置函数,功能是在控制台打印括号中的内容

print函数只是在程序员自己做测试的时候去使用

print("hello world~") #python2.x中 print "hello world"

02-python3基础语法

2.1.注释:

注释就是穿插代码中的说明性文字,对于代码实现功能无任何作用,注释不会参与执行。在写代码的时候需要经常写注释

单行注释:就是在注释的内容前加#

# 注释一行注释

# 这是第二行注释

多行注释:

a.在每一行前面加#

使用'''或者"""括起来(推荐使用上三个""")

'''

这是多行注释

这是多行注释

这是多行注释

'''

"""

这是多行注释

这是多行注释

这是多行注释

"""

2.2.标识符

在开发中使用的所有的名字都是标识符(包括变量名、函数名、类名、对象名等)

硬性要求:

1.由字母(a-z,A-Z)、数字(0-9)、下划线(_)组成

2.数字不能开头

3.不能是保留字(关键字)(后边会涉及)

规范:

1.要见名知意

2.PEP 8规范(变量名):全部小写,如果名字是由多个单词组成,单词之间以_分开

补充:驼峰式:如果名字是由多个单词组成,第一个单词首字母是小写,后面的每个单词第一个字母大写

python中大小写敏感:Key和key是不一样的

a2_=1

abc=2

a+b=3 #SyntaxError: can't assign to operator 语法错误:不能赋值给操作符

2d=1 #SyntaxError: invalid syntax 语法错误:无效语法

for=2 #SyntaxError: invalid syntax (for 是关键字)

cat_name = 1 #PEP 8

catName = 1 #驼峰式

2.3.关键字(保留字)

在Python中有自己独特功能的一些单词,程序员在使用标识符的时候不能使用关键字

import keyword #导入内置keyword模块

keyword.kwlist #获取所有关键字

print(keyword.kwlist)

"""

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del',

'elif', 'else','except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is',

'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

"""

2.4.行与缩进

在python中,语法对缩进有严格的规范。同一级的代码要写在一个缩进下(缩进->空格和制表符tab)

行:可以通过换行将代码分块,要求函数定义和其他代码之间要有一个换行,类的声明和其他代码之间要有两个换行。(不按要求来不会报错)

abc=1

\# abc前多了一个空格,IndentationError:unexpected indent 缩进错误:意外缩进

注意:语法相关的所有符号,都必须是英文输入法下的符号。

2.5.多行语句

一行代码很长,需要多行显示

python中,如果一行只有一个语句,那么语句后面可以不写分号(写了不会报错)

如果一行中有多条语句,那么语句间要用分号(;)分开

bbb=2

ccc=3

ddd=4

sum1=aaa+bbb+ccc+ddd

sum2=aaa+\

bbb+\

ccc+\

ddd

\可以将一行代码写成多行,相当于还是在一行里,可以任意缩进,不会出错

列表、字典、元组、集合的元素在多行显示的时候,可以不用\连接

dict1={

'name':'yuting',

'age':18,

'gender':'女'} #dict 字典

03-python3基本数据类型

python3中标准的数据类型有六种

Number(数字)、Str(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dict(字典)

3.1.数字

python中的数字分为:整型(整数)、浮点型(小数)、布尔、复数(实部+虚部)

整型(int):python3中只有长整型int,python2中有long 例如:23、100、-25、0

浮点型(float):python3只有float类型,例如:12.8、1.0、0.0、-10.5、2e2、2e-2

布尔(bool):表示真假(是否)的值,值只有True(1)和False(0)两个值

复数(complex):由实部和虚部组成,例如:10+1j,12.7+2j

a=10+1j

# type():查看()里内容的类型

print(type(10)) #type()查看()里内容的类型

print(type(12.5))

print(type(True))

print(type(10+2j))

print(a)

3.2.字符串

由单引号或者双引号括起来的数据就是字符串(推荐使用单引号)

python中没有字符类型,所说的字符就是用引号括起来的长度是1的字符串

'hello world' '123' '1' #字符串中单独的一个符号就是一个字符

'!2Dfs'

'' #空串,长度是0

' ' #空格字符串是有意义的字符串

python需要转义字符“\”来表示一些特殊的字符串:包括一些有特殊意义和特殊功能的字符串

'\''

print('\'') # '

print('\\') # \

str1='\t床前明月光,\n疑似地上霜' #\n->换行 \t->制表符

print(str1)

print('a\\nb') # a\nb

# 在字符串前加r\R,阻止转义字符转义

print(r'a\nb')

print(R'\ta')

04-进制转换

进制:十进制、二进制、八进制、十六进制(要求:认识、会转换)

4.1十进制:

基数:0,1,2,3,4,5,6,7,8,9

逢十进一(10->10)

123:100+20+3 1*10^2+2*10^1+3*10^0(任何数的0次方都是1)

8976:6*10^0+7*10^1+9*10^2+8*10^3

12 #直接写数字,就是十进制

print(12) #可以直接将数据转换成十进制

print(0xae)

4.2 二进制:

(计算机在存储数据的时候,存的都是二进制数)

逢二进一(10->2)

基数:0,1 (111 10001 0001)

1101:1*2^0+0*2^1+1*2^2+1*2^3=13

101011:1*2^0+1*2^1+0*2^2+1*2^3+0*2^4+1*2^5=1+2+0+8+0+32=43

二进制转10进制(相乘求和):每一位上的数乘以当前位上2的幂次数(从低位到高位,幂次数从0开始依次加1)

0b1011 #在数字前加'0b'表示二进制

print(0b1011)

bin() #该函数可将括号中的数字转换成二进制数,返回的是字符串形式的数据

print(bin(0o75))

4.3八进制:

基数:0,1,2,3,4,5,6,7

26:6*8^0+2*8^1=22

10:8^1=8

0o10 #在数字前加'0o'表示八进制

print(oct(10)) #将括号里面的数据转换成8进制

print(oct(0b110011))

4.4十六进制:

逢十六进一(10->16)

基数:0,1,2,3,4,5,6,7,8,9,a/A(10),b/B(11),c/C(12),d/D(13),e/E(14),f/F(15)

1f:116^1+1516^0=16+15=31

ab:1016^1+1116^0=160+11=171

0xa1 #在数字前加'0x'表示十六进制

print(hex(10)) #将括号里面的数据转换成十六进制

print(hex(0o67))

4.5进制转换

a.其他进制转换成十进制:相乘求和

b.十进制转换成其他进制:整除取余法

100->(2) 1100100

100->(8) 12-4 1-4 0-1=144

100->(16) 6-4 0-6=64

c.二进制和八进制(每三位二进制转换成一位八进制)、十六进制(每四位二进制转换成一位十六进制)的转换

(2)001 100 100-->(8)144

(2) 0110 0100-->(16)64

(8)571-->(2)101 111 001

(16)a1b-->(2)1010 0001 1011

05-变量

变量用来存储数据的

在python中声明变量不用指定类型,一个变量可以存储任何类型的数据

5.1.声明变量:变量名 = 初值

变量名:a.标识符; b.PEP 8命名方式; c.见名知意

= :赋值符号,要求赋值符号的左边必须是变量 a=10;

a =10

10=20 # SyntaxError: can't assign to literal 不能赋值

初值:python中声明变量必须赋值

name='YuTing' #声明一个变量,并且赋了初值为'YuTing'

同时声明三个变量a,b,c他们的初值都是10

a=b=c=10

同时声明了三个变量a1,b1,c1;他们对应的初值分别是10,12.6,aaa

a1,b1,c1=10,12.6,'aaa'

一个变量可以存储多种类型的值,(python是动态语言)

name=100

age=a

print(age)

06-运算符

python中的运算符:算术运算符、比较运算符、赋值运算符、逻辑运算符

6.1.算术运算符:+(加)、-(减)、*(乘)、/(除)、%(求余)、//(整除)、**(幂运算)

+、-、*、/、%和数学里面相应的运算时一模一样

print(12+10.0) #22.0

print(100-8) #92

print(10*7) #70

print(5/2) #2.5

print(10%4) #2

//(整除):可以对浮点数做整除的操作,只是结果只保留整数的部分(直接去掉小数部分)

print(16//10) #1

print(16/10) #1.6

print(10//3) #3

x**y:计算x的y次方

print(2**3) #计算2的3次方

练习:获取n(三位数)的个位数、十位数、和百位数

n=789

# 百位数:

print('百位数:',n//100)

# 十位数:

print(n%100//10)

print(n//10%10)

# 个位数:

print('个位数:',n%10)

通过import关键字可以导入python中内置的模块

math是python内置的一个提供数学运算的模块

import math

07-math模块中的函数

先用import关键字导入python中内置的math模块才能使用

import math

7.1factorial(n):求n的阶乘

num=math.factorial(10)

print(num)

7.2fabs(n):求n的绝对值

num1=math.fabs(-20)

print(num1)

7.3pi:圆周率

print(math.pi)

7.4fmod(x,y) 取余数,值是一个浮点数 ,算式是x/y

num1=math.fmod(5,4)

print(num1) # value=1.0

7.5ceil(x):取大于等于x的最小整数值,x可以是int、float、bool但不能是comples

num2=math.ceil(False)

print(num2) #value=0

7.6log(x):返回x的自然对数,默认以e为基数,对于给定基数n:log(x)/log(n)

num3=math.log(125)/math.log(5)

print(num3) # value=3.0000000000000004 最后的4为储存错误 5^3=125

print('%.2f'%num3) #value=3.00 限定小数位数可确保数值精确

n=math.log1p(8) #返回x+1对x的对数值 ??????????????

print(n)

7.7 sqrt(x):求x的平方根

num4=math.sqrt(9)

print(num4) #value=3.0

7.8 trunc(x):返回x的整数部分

num5=math.trunc(3.18)

print(num5) #value=3

7.9cos(x):求x的余弦,但是x必须是弧度;math.pi/6=30度

sin(x):求x的正弦值

tan(x):求x的正切值

num6=math.cos(math.pi/3)

print(num6) #value=0.5000000000000001 ,数值异常同line 14

num6_2=math.tan(math.pi/4)

print(num6_2)

print('%.2f'%num6_2)

if num6-0.5<0.000000001:

print('r')

else:

print('f')

7.10radians(x):把角度x转换成弧度

num7=math.radians(180)

print(num7) #value=3.141592653589793=pi

7.11pow(x,y):返回x的y次方,及x**y

num8=math.pow(3,3)

print(num8) #value=27.0

7.12ldexp(x,i):返回x*(2**i)的值

num9=math.ldexp(5,3)

print(num9) #value=40=5*2^3

7.13 degrees(x):把x从弧度转换成角度

num10=math.degrees(math.pi/4)

print(num10) #value=45.0