2018-09-26 Day 02 python基础语法、数据类型、变量、运算符部分

Day01

1认识python

print()在控制台打印出括号的内容,print 和后面的括号是固定写法,括号内内容是变化的
注意:代码中的符号必须是英文状态下输入的符号,例如:
hellp world
欢迎来到编程世界

print("hellp world")
print("欢迎来到编程世界")

常用快捷键

# 适用于任何位置,编程中为注释
'''code'''前后个三个单引号,注释多行代码或者长代码

ctrl + / 添加注释或者取消注释
ctrl + s 保存
ctrl + b 编译
ctrl + r 执行
ctrl + c 拷贝
ctrl + v 黏贴
ctrl + x 剪切
ctrl + z 撤销
ctrl + shift + y /ctrl + y 反撤销
ctrl + f 查找
ctrl + a 全选
ctrl + n 新建一个没有命名的文件
shift / ctrl 选中部分

2python基础语法

1.注释:写在代码中,不参与编译执行的部分

作用:对代码进行注释说明的,方便更好的阅读代码
注意:要勤写注释,方便自己也方便别人

a.单行注释:在文本内容的前面+#

# 我是单行注释

b.多行注释(尽量使用#进行注释)

每一行前都加一个#号
'''我是多行注释
我是注释1
我是注释2'''
将注释内容放在三个单引号或者双引号中

推荐使用双引号

"""
我是多行注释1
我是多行注释2
"""

'''
我是多行注释1
我是多行注释2
'''

2.标识符

标识符是用来命名的(比如变量名、函数名、类名)
要求:

a.由字母、数字和下划线组成,并且数字不能开头 Python2.x
b.在Unicode编码中除了ASCII码表中的字母、数字、下划线 python3.x
以外的符号不能作为标识符一部分,其他都可以,数字不能开头
简要意思:字母、数字、下划线、中文都可以作为标识符,数字不能开头
推荐使用python2.x的规范
num = 100
一百 = 100
# 1abc = 100  数字开头报错SyntaxError
print(一百)

3.语句

C/Java语法,每条语句结束必须加分号。python中可以加分号,也可以不加,如果要一行显示多句语句,那么就必须加分号

print("Hello, python");print("Hello, world")

4.行和缩进

python中对缩进由严格规范,要求同样等级的代码对于的缩进必须一致

print(123)
print(345)

# print(123)
#  print(345)   这样写是报错unexpected indent(意外缩进),只有需要代码块才加缩进

行:格式要求函数的声明和类的声明的前后需要有两个空行

5.多行显示问题

a.需要换行的位置加反斜杠,然后再换行,注意\不要去破坏数据本身

sum1 = 282828 + 92922 +\
29
print(sum1)

b.如果是数组、字典、元组和集合的值可以直接换行

num =[12, 89, 90, 
88, 
87,
 22]
print(num)

6.常见数据类型及其字面量

整型(int)、浮点型(float)、布尔(nool)、字符串(str)、列表(list)、

字典(dict)、元组(tuple)、集合(set)等

整型(int)相当于数学中的整数,例如:100、-20、+10
浮点型(float) 带小数点的数,例如:3.14 、-1.0 、+3.3
布尔(bool) 只有两个值 True(真)、False(假)
字符串(str) 用单引号或者双引号括起来的数据,例如:"100"、"我是字符串"

关键字:又叫保留字,在python中有特殊功能和特殊意义的一些标识符,一般是一些单词

import keyword
print(keyword.kwlist)
KW = ['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']

注意:上面KW列表中的才是关键字,其他的都不是

3. python中的数字类型有四个:

不同的类型在存储数据中所占的内存不一样

整型(int)、浮点型(float)、布尔(bool)、复数(complex)

整型(int):包含python所有的整数,python3.x整型只有int型一种,

但是python2.x中还有Long
100
123
-78
+78

浮点型(float):包含python中所有的小数,

注意:浮点型支持科学计数法
13.12.89
5.20
+6.66
-123
print(12e2)  # 12 * 10^2    1200.0
print(12e-3) # 12 * 10^(-3) 0.012

布尔(bool):布尔类型的值只有两个,True、False

注意:首字母大写,布尔值还是关键字

print(True + 0)      # 1
print(False + 0)     # 0
print(False + True)  # 1

复数(complex):由实数和虚数组成的数字

5 + 10j

4. type():获取括号中数据的类型

print(type(True))
print(type(10j))
print(type(100))
print(type(12e9))

5. 类型名():将其他类型的数据转换成当前类型

print(int(3.1415926))
print(float(666))
print(bool(10))

print(int(12 + 5j)) 复数不能转换为其他数字类型,任何数字类型

都能转换为bool类型,复数类型不能转换为整型、浮点型。

6. 什么是变量

变量就是程序在内存中存储数据的容器,声明变量,就是在内存中开辟空间存储数据

7. 怎么定义(声明)变量

C/Java声明变量: 类型 变量名 = 10;

python赋值(声明): 变量名 = 初始值

变量名 = 初始值

说明:

a. 变量名:程序员自己命名

要求:变量名就是标识符,并且不能是关键字

规范:所有的字母必须是小写,如果变量名由多个单词组成,多个单词之间用下划线隔开

看见变量名要知道大概存储的是什么数据(见名知义)

b. =:赋值符号

功能:将=右边的值赋给左边的变量

c. 初始值:值或者有值的表达式(具体的字面量、已经声明过的变量)

声明一个变量number并且赋值为100

number = 100
print(number)

# True =12.4    报错SyntaxError:can't assign to keyword
# 1abc = True   报错SyntaxError:invalid syntax

声明一个变量student_name,赋值给小明

student_name = "小明"
print(student_name)

注意:虽然int、float、bool、str等不是关键字,但是在需要命名的时候最好不要

用他们来命名,否则会改变他们原来的功能

int = 100
print(int)
int(89.0)
help(int)

8. 声明完变量可以给变量重新赋值

student_name = "小花"
print(student_name)

在python中,同一个变量可以存储不同类型的值

student_name = 100
print(student_name)

9. 同时声明多个变量

变量名1 = 变量名2 = 变量名3 = 初始值

a = b = c = 123
print(a,b,c) # 同时打印多个数据,多个数据之间用逗号隔开

将变量student_name中的值赋给new_name

new_name = sutdent_name

注意,变量只有在赋完值之后才能使用(只有声明后才能使用)

print(new_name2)  报错没有声明,definedNameError:name'new_name2' is not 
age = 18
age += 1

10. python中的运算符:

数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算

1. 数学运算符:

+    加
-    减
*    乘
/    除
%    取余
//   求整
**   求幂

加减乘除和数学中的一样

+:求和 
print(1 + 2) # 3
print(2 + 3) # 5

-:减
result = 5 - 4 # 1

*:乘
print(2 * 10) # 20

/:除  
res = 10 / 5 # 2

%:取余,小数和整数都能求余数
print(6 % 5) # 1
print(5 % 0.2) # 0
//:求整(求商取整数部分)
print(5 // 3) # 1
print(6 // 3) # 2
print(5 // 6) # 0
print(6.4 // 2) # 3

**:幂运算:求幂
print(x ** y)  x^y  得x的y次方

小技巧,可以把y值设置为1/2(0.5)达到开平方作用

2. 比较运算符: > < = != >= <=

比较运算的结果是布尔值:True 或者False
==:判断左右两边的值是否相等,=:将右边的值赋给左边的变量
print(1 > 2)  #False
print(2 < 3)  #True
print(1 != 2)  #True
print(1 <= 2)  #True
print(2 >= 1)  #True
num = 10
print(num == 10)  #True

3. 逻辑运算符:

逻辑运算符的结果都是布尔值,运算对象也必须是布尔值
and    与
or     或
not    非

a. 值1 and 值2:两个都为True,结果才为True,否则为False

print("===========================")
print(True and True)    #True
print(True and False)   #False
print(False and True)   #False
print(False and False)  #False
print("===========================")
练习:设置获得奖学金的条件:绩点在3.5以上,并且操评分高于90
grade = 2.8
score = 95
print((grade > 3.5) and (score > 90))  # False
什么时候使用and:要求多个条件同时满足的时候使用and连接

b. 值1 or 值2:两个都为False的时候结果才为False,否则为True

print("===========================")
print(True or True)    #True
print(True or False)   #True
print(False or True)   #True
print(False or False)  #False
print("===========================")
练习:是否穿毛衣 温度低于20度或者风速高于五级
temperature  = 22
wind_speed = 6
print((temperature < 20) or (wind_speed > 5)) # True
什么时候使用or:要求多个条件中只要有一个条件满足

c. not 值 让值取反,True变False,False变True

print(not True)
print(not False)
条件:年龄不大于18
age = 18
print(age <= 18)
print(not age > 18)

4. python中的and和or会有短路现象

and的短路现象:值1 and 值2 值1为真就返回值2,值1为假,返回值1

or的短路现象:值1 or 值2 值1为真,返回值1,值1位假,返回值2

不加括号的情况下,and的优先级要高于or

print(5 and 4 or 1 and 3)   # 4
print(5 and (4 or 1) and 3)   # 3

5. 赋值运算符,先算右边的结果,然后再赋值给左边的变量

=   等于
+=  加等于
-=  减等于
*=  乘等于
/=  除等于
%=  取余等于
//= 整除等于
**= 求幂等于

# 100 = 100  报错 SyntaxError:can't assign to literal
result = 10 > 10
print(result)

= 是单纯将右边的值赋给左边

+= -= *= /= %= //= **= 要求左边的变量本身有值

num1 = 100
num1 += 1  #相当于:num1 = num1 + 1  依次类推
print(num1)  # 101

6. 运算符的优先级

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
数学运算符 ** > * / // % > + -
逻辑运算符 没有括号的情况下and > or
先算优先级搞得,如果优先级相等就依次运算

你可能感兴趣的:(2018-09-26 Day 02 python基础语法、数据类型、变量、运算符部分)