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
先算优先级搞得,如果优先级相等就依次运算
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容