DAY2 Python基础 2018-06-12

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 

你可能感兴趣的:(DAY2 Python基础 2018-06-12)