一,HelloWord
1.常用快捷方式:
ctrl + / ----单行注释
ctrl + s ----保存
ctrl + b ----编译执行
ctrl + n ----新建文件
ctrl + c ----复制
ctrl + v ----粘贴
ctrl + z ----撤销
ctrl + y / ctrl +shift+z ----反撤销
ctrl + f ----弹出搜索框
按住ctrl不放,让鼠标可以同时在多个位置设置光标
2.print函数是python内置函数,作用是控制打印print后面()里面的任何内容。
()里面的单引号,是字符串的标志,而不是内容
在python2.x中 print'hello world'
在python3.x中 print后面需要括号
A.B.C A-->重大修改(不向下兼容) B-->添加新的功能 C--> 修复bug
print('hello world!')
print('你好')
Python基础语法
1.注释
注释就是代码源文件中,用来进行注解说明的文字,不会对代码的功能产生任何影响
注意:好的代码和好的程序员,需要对代码通过注释进行说明
(#)我是单行注释
'''
这是多行注释
'''
"""
这是多行注释
"""
补充:编程语言中设计到的所有符号,都是指的英文输入法状态下的符号
2.标识符
标识符是用来程序命名用的。(比如:变量名,类名,函数名)
- a.标识符是由字母,数字和下划线组成,并且数字不能开头(硬性)
- b.不能是关键字(保留字)(硬性)
- c.大小写敏感(区分大小写,aaa和Aaa,aaA,AAA是不一样的)
- d.要见名知义(规范)
- e.不推荐使用python中的内置函数,类名去做为标识符(规范)
3.关键字
系统保留的有特殊功能或者特殊意义的一些单词。这些单词不能用给变量\函数\类等命名的
['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']
import keyword
print(keyword.kwlist)
4.行与缩进
缩进:每一行代码的位置,与行开头位置之间的空格
在python中,缩进的写法有严格的规范。同一级的代码,必须在同一个缩进下面
如果在不该有空格产生的位置出现了多余的空格,程序会报错(IndentationError)
如果在需要缩进的时候没有缩进,也会报错。
关于行的规范:
函数的声明的前后必须要有两个换行。一般一个功能实现完,实现下一个功能的时候,最好也换行
print('a')
5.多行语句
一条语句在多行显示
a.在需要换行的地方加反斜杠( ),然后再换行
b.字典,列表,集合和元组等容器类型数据的字面量,在多行显示的时候可以直接换行
python中,一条语句结束,可以不写分号.如果一行中要写多条语句,那么每条语句之间必须是用分号隔开
print('aaa'); print('bbb')
print('as\
lcavlasdda\
sd')
print([1,2,3,4,5,6,7,8,9,10])
6.字面量
数据类型对应的具体的值
10,100,-12 ----> 整数
12.5,3.1415926, -0.13 --->小数
12e2, 9e-2 --->数字
'hello world','123','abc', "abcd", "!78u" --->字符串
True,False --->布尔值
[1,2,'hu','assd']--->列表
{'a':1,'b'='123'} --->字典
7. python中的基本数据类型
数字(整型(int),浮点型(),布尔,复数),字符串(str),列表(list),字典(dict),集合(set),元组(tuple), none---->代表没有和空
整型:int (在python2.x中有long) ---->值是所有的整数
浮点型: float -----> 包含所有的小数
布尔: bool ----->值只有True和 False
复数:complex --->值包含所有的复数
可以type函数查看数据的类型:type(类型)
print(type(10e2))
二,变量
什么是变量
在程序中可以通过变量来存储数据(容器)
怎么声明变量
严格的来说python中的变量是不需要声明的,直接通过赋值符号(=)给变量赋值,就是在声明变量
因为python是动态语言,在声明变量的时候,不需要指定变量的类型。并且同一个变量可以赋不同的值4
格式:变量名 = 值
变量名:标识符,PEP8的命名方式(所有的字母都小写,多个单词之间用下划线隔开,例如:user_name)
驼峰式命名:第一个单词首字母小写,后边每个单词的首字母都大写(例如userName)
声明了一个变量age,并且赋值为18
age = 18
使用变量的时候,就相当于使用变量中存的值
print(age)
stu_age = 18
print(stu_age)
- 1.如果重新给一个变量赋值,那么新赋的值会覆盖原来的值
- 2.同一个变量可以赋不同类型的值
stu_age = 'abc'
print(stu_age,type(stu_age))
#print(stu_name) # NameError
补充:
一个数据有type(类型),id(数据存储在计算机中的地址)和value(值)三个属性
变量存储数据的时候,有两种情况。第一种情况:存value ---->数字类型,字符串,第二种情况:存id ---->字典,列表,集合,元组,类的对象等。
number = 10
print(id(number))
三,运算符
数学运算符,比较运算符,逻辑运算符,赋值运算符,位运算符
- 数学运算符(+,-,,/,%,*,//)
+: 求和 注意:求和操作,+两边必须是数字类型
True --> 1 , False --> 0
print(10+20.4,True+1)
number = 100 + 11
print(number)
-:求差
print(100-12)
*: 求乘积
print(3.12*2)
number = 3 * 9
/ : 求商
print(4/2)print(5/2)
% : 取余
print(3%2)
print(101%10)
** : 幂运算# x ** y : 求x的y次方# 浮点数在计算中存储的时候,有的时候会有一定的误差
number = 2 ** 3
print(number)
// : 整除求商,但是只取商的整数部分
print(5//2)
取一个二位整数的十位数(78)
print(78//10)
取2345中的4:
print(2345%100//10)
print(2345//10%10)
- 比较运算符 >,<,==,!=,>=,<=
比较运算符的结果全是布尔值:True,False
- 3.逻辑运算符
与(and), 或(or), 非(not) 逻辑运算符的运算数据是布尔值,结果也是布尔值
布尔1 and 布尔2 :两个都为True结果才是True ,只要有一个是False,结果就是False 并且需要两个或者多个条件同时满足,就是用逻辑与(and)
布尔1 or 布尔2 :只要有一个是True,结果就是True。两个都是False结果才是False。 或者需要两个或者多个条件满足一个就可以,就是用逻辑或(or)
not 布尔1: 如果是 False,结果就是True;如果是True,结果就是False。需要不满足某个条件的时候才为True
- 4.赋值运算符
=,+=,-=,=,/=,%=,*=,//==
赋值运算符的作用,将赋值符号右边的表达式的值赋给左边的变量
表达式:有结果的语句,例如:10,'abc',10+20,30>10.5等
赋值符号的左边必须是变量
赋值符号,是先算右边的结果,然后再把结果赋给左边的变量
number = 100
number += 10 # 相当于number = number + 10
number *= 2 # 相当于number = number *2
- 5.运算符的优先级
10+20*3-5/2=10+60-2.5 ---数学运算顺序
优先级从低到高: 赋值运算符 < 逻辑运算符 < 比较运算符 < 算术运算符
算术运算符中:先幂运算在乘除取余取整再加减
如果你不确定运算顺序,可以通过添加括号来改变运算顺序。有括号就先算括号里边的
四,进制
数据在计算机中的存储,存的都是二进制数(0101......)
十进制,二进制,八进制,十六进制
- 1.十进制
基数:0,1,2,3,4,5,6,7,8,9
特点:逢10进1
234 = 4 + 30 + 200 = 4(10^0) + 3(10^1) + 2*(10^2)
110
print(110)
print(0b110)
print(0o110)
print(0x110)
- 2.二进制
基数:0,1
特点:逢2进1
10的二进制:1010
二进制转十进制:1101 = 1(2^0)+0(21)+1*(22)+1*(2^3) = 13
1011 = 2^0 + 2^1 + 2^3 = 11
11011 = 27
十进制转二进制:整除取余法 90 -> 1011010 121 -> 1111001
二进制转八进制:三位的二进制转成一位的八进制 001 110 110 010 -> 1662 111 101 001 -> 751
八进制转二进制:一位的八进制转成三位的二进制 56 -> 101110
二进制转十六进制:0011 1011 0010 ->3b2
十六进制转二进制:239 -> 0010 0011 1001
二进制数需要加前缀0b或者0B
0b110
- 3.八进制
基数:0,1,2,3,4,5,6,7
特点:逢8进1
八进制转十进制:21 -> 1(8^0) + 2(8^1) = 17 111->1+81+1*82 = 73
十进制转八进制:整除取余法 90 -> 132
八进制和十六进制之间的相互转换,可以先转成二进制,再转
八进制数前需要加0o或者0O
0o110
- 4.十六进制
基数:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f(A,B,C,D,E,F)
特点:逢16进1
十六进制转10进制:2f -> 15(16^0) + 2(16^1) = 47
十进制转十六进制:整除取余法 90 -> 5A
十六进制前加0x或者0X
0x110
- 5.进制转换相关函数
如果不使用函数特意的转换,所有类型的进制数值,最终都是以十进制数进行存储
bin()将括号中的数转换成二进制
print(bin(110))
oct()将括号中的数转换成八进制
print(oct(0x120))
hex()将括号中的数转换成十六进制
print(hex(120))
网友评论