day02 Python基础知识 2018-07-17

一、一门编程语言入门标配语句——Hello World!

1. 常用快捷键

  • Ctrl + / -------------- 单行注释
  • Ctrl + s -------------- 保存
  • Ctrl + b -------------- 编译执行
  • Ctrl + n -------------- 新建文件
  • Ctrl + c -------------- 复制
  • Ctrl + v -------------- 粘贴
  • Ctrl + a -------------- 全选
  • Ctrl + x -------------- 剪切
  • Ctrl + z -------------- 撤销
  • Ctrl + y/ Ctrl + shift + z -------------- 反撤销
  • 按住Ctrl不放,可在多个位置设置光标
  • Ctrl + f -------------- 弹出搜索框

2. 内置函数与 Hello World !

2.1. print()函数,内置函数,在控制台打印参数内容,( )里面的引号,是字符串标志,而不会被打印到控制台。
(注意: 在Python 2.x 中,应为: print 'hello world!')
这是代码

print("Hello World!")

这是结果

Hello World!

2.2. 关于版本号的一些小知识
对于版本号A.B.C.
A > 重大修改(一般不向下兼容)
B > 添加新的功能
C > 修复Bug


二、Python中的基础语法

1.注释
注释是解释说明的文字,不参与编译运行
注意:好的程序员和好的代码,需要对代码通过注释进行解释说明

# 单行注释

"""
多行注释
"""

'''
多行注释
'''

补充:编程语言中涉及的符号都是英文符号

2. 标识符

标识符是用来程序中命名的. (例如: 变量名、类名、函数名)

  • 标识符由字母、数字和下划线组成, 且不能由数字开头(硬性)
  • 标识符不能是关键字(保留字)(硬性)
  • 大小写敏感(区分大小写)
  • 要见名之义(规范)
  • 不推荐使用Python中内置函数、类名来作为标识符(规范)

3.关键字

系统保留的有特殊意义的单词,不能用于变量、类名、函数名. Python系统保留的关键字有:
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await',
'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)

tips: Python 3.x 中支持用汉字作为变量名
下面是演示

成都 = 666
成都2 = 999
print('成都',成都,'成都2',成都2)

下面是结果

成都 666 成都2 999

4. 行与缩进

  • 缩进: 每一行代码与行开头位置之间的空格
  • 在Python中缩进的写法有严格规范,同一级代码必须写在同一个缩进下面
  • 如果在不该存在空格的地方出现空格,程序运行就会报错
  • 需要空格的位置没有空格,程序运行也会报错
  • 行的规范:函数的声明前后必须有两个换行。一般一个功能实现完,实现下一个功能时,也最好换行

5.多行语句

  • 一条语句在多行显示
    a. 在需要换行时,在需要换行出加反斜杠(\)
    b. 字典、列表、集合和元组等容器类型数据的字面量,可直接换行

  • 多条语句在一行显示
    Python中,语句结束时,分号可省略; 但一行中写多条语句时,语句必须用分号';'隔开
    例如

# 一条语句在多行显示
print('先帝创业未半而中道崩殂,\
今天下三分,益州疲弊,此诚危急存亡之秋也。\
然侍卫之臣不懈于内,忠志之士忘身于外者,\
盖追先帝之殊遇,欲报之于陛下也。\
诚宜开张圣听,以光先帝遗德,\
恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。 ')

# 多条语句在一行显示
print('坚持到感动自己'); print('拼搏到无能为力')

下面是结果

先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
坚持到感动自己
拼搏到无能为力

6. 字面量

  • 数据类型对应的具体的值
  • 10,1000,-3 ---------------------------------------------------- 整型
  • 12e3,4e-3 ----------------------------------------------------- 数值
  • 1+2i ------------------------------------------------------------- 复数
  • 3.14,12.56, 2.718 ----------------- 浮点型(小数)和科学计数
  • 'hello world','9527' --------------------------------------- 字符型
  • True,False ------------------------------------------------- 布尔型
  • [1,3,5,'luo','asgrad'] ----------------------------------------- 列表
  • {'a': 1, 'b':'d'} -------------------------------------------------- 字典

7.Python中的基本数据类型

  • 数字(整型(int)、浮点型、布尔型、复数、字符串、列表、字典、集合、元组、none
  • 整型: int (Python 2.x 中还有long)
  • 浮点型: float --> 所有小数
  • 布尔型: bool --> 只有True和False
  • 复数: complex --> 包含所有复数
  • 字符串: str-->所有能从键盘输入的字符
  • 列表: list
  • 字典: dict
  • 集合: set
  • 元组: tuple
  • none(表示空值)

tips: 可以用type()函数查看数据类型: type(数据)
例如:

print(type(2e3))
print(type(False))
print(type('asdf '))
print(type("sdfgh"))

结果如下

<class 'float'>
<class 'bool'>
<class 'str'>
<class 'str'>


三、Python中的变量

1. 什么是变量

  在程序中可以通过变量来存储数据(容器)

2. 如何声明变量

  严格来说, Python中的变量是不需要声明的, 直接通过赋值符号('=')给变量赋值,就是在声明变量, 因为Python是动态语言,在声明变量的时候, 不需要指定数据类型。并且同一个变量可赋不同类型的值

格式: 变量名 = 值
变量名即标识符 ,有两种命名方式
PEP8命名:所有字母小写,多个单词间用下划线隔开。例如: user_name
驼峰式命名:第一个单词首字母小写,后面每个单词首字母都大写。例如: userName

声明变量age并赋值为18

age = 18

使用变量时,就相当于使用变量中存的值
例如

print(age)
student_age = 16
print(student_age)
print(type(student_age))

# 重新给变量赋值,新的值会覆盖旧的值
student_age = '18'
print(student_age)
print(type(student_age))

结果如下

16
<class 'int'>

18
<class 'str'>

补充:

  • 一个数据有type(类型)、ID(数据储存在计算机中的地址)和value(值)三个属性
  • 变量存储数据时,有两种情况.
  • 第一种情况:存value ---> 数字类型、字符串
  • 第二种情况:存ID ----> 列表,字典


四、Python中的运算符

数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算符(针对二进制的每一位)

1. 数学运算符(+、-、、/、%、*、//)
1.1. + :求和
注意: 求和操作'+'两边必须是数字类型
示例:

#True ---> 1  False ---> 0
print(10+20.4,True+1)

结果

30.4 2

1.2. - : 求差
示例:

print(100-36)

结果

64

1.3. * : 求乘积
示例:

print(3.14*4)

结果

12.56

1.4. / : 求商
示例:

print(10/4,4/10)

结果

2.5 0.4

1.5. % :求两个数相除的余数
示例:

print(105%4)
print(109%3.4)
print(120.3%4)
print(124.7%5.2)

结果

1
0.20000000000000284
0.29999999999999716
5.099999999999999

1.6. ** : 幂运算
x**y :求x的y次方
示例:

# 浮点数在计算机中的储存有一定误差
number =4.2 **3
print(number,2 ** 3)

结果

74.08800000000001 8

1.7. // : 整除
求商,但只取整数部分
示例:

print(5//2)

# 去一个两位数中十位上的数
print(78//10)

# 取2345中的4:
print(2345%100//10)
print(2345//10%10)

结果

2
7
4
4

2.比较运算符
< 、 > 、== 、>= 、!=
注意: 比较运算符的结果全是布尔型:True or False

2.1. x > y : 如果x大于y,则结果为True,否则为False
例:

print(2>3,5>3)

结果

False True

2.2. x < y : 如果x小于y,则结果为True,否则为False
例:

print(2<3,5<3)
结果
>True False


2.3. x == y : 如果x等于y,则结果为True,否则为False
例:
```Python
print(2 == 2 , 3 == 2 )

结果

True False

2.4.x <= y、 x >= y
例:

print(2<=2,2<=3,3<=2)

结果

True True False

2.5. x != y:
例:

print(2!=2,2!=3)

结果

False True

2.6. 在Python中, 可以像数学中一样,连续判断
例:

print(10<12<15)

结果

True

3.逻辑运算符
与(and)、或(or)、非(not)的结果都是布尔型

布尔1 and 布尔2当且仅当两个都为True时,结果才是True
例:

print(True and True,True and False,False and True, False and False)

结果

True False False False

布尔1 or 布尔2 当且仅当两个都为False时,结果才是False
例:

print(True or True,True or False,False or True, False or False)

结果

True True True False

not 布尔1 布尔1为True时,结果为False,否则为True
例:

print(not True, not False)

结果

False True

一些例子

# 写一个条件,判断一个的年龄是否满足青年的条件(年龄大于18并且小于30,且不能为20)
age1 = 16
age2 = 26
print(age1 > 18 and age1 < 30 and not age1 == 20)
print(age2 > 18 and age2 < 30 and age2 != 20)

# 平时成绩不低于80,或卷面成绩不低于70,且英语成绩不低于68
score = 90
score2 = 92
English =100
print(score>=80 or score2 >= 70 and English >=68)
#  成绩不低于60
score = 70
print(score>=60)
print(not score<60)

结果

False
True
True
True
True

4.赋值运算符
= 、+= 、-= 、= 、/= 、%= 、*= 、//=
赋值运算符的作用: 将赋值符号右边的表达式的值赋给左边的变量

表达式: 有结果的语句, 例如: 10, 'ABC', 10+20, 30>10.5
注意: 赋值符号左边必须是变量, 赋值是先计算,再赋值
例:

num = 10
num += 1 # 等同于num = num + 1
print(num)

num *= 2 # 等同于num = num * 2
print(num)

结果

11
22

5.运算符的优先级
10+20*2-3/6 = 10 + 40 -0.5 = 49.5

优先级: 赋值运算符 < 逻辑运算符 < 比较运算符 < 算术运算符
算术运算符优先级: 先幂运算,再乘除取余取整,再加减

tips :不确定运算顺序时,可以添加括号来改变运算顺序,优先计算括号中的内容
例:

result = 1+2>4 or 6*7 < 87 - 32
print(result)
print(12+34/2*3-104%23-5*2**3)

结果

True
11.0


五、Python中的进制转换

数据在计算机中的存储,存的都是二进制(01011001010101001...)

1.十进制
基数: 0,1,2,3,4,5,6,7,8,9
特点: 逢十进一
12345 = 10000 + 2000 + 300 + 40 + 5
= 1*10000 + 2*1000 + 3*100 + 4*10 + 5
= 1*10^4 +2*10^3 + 3*10^2 + 4*10^1 + 5*10^0

2.二进制
基数: 0,1
特点: 逢二进一
101011 = 1*2^5 + 0*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0

3.八进制
基数: 0,1,2,3,4,5,6,7
特点: 逢八进一
24 = 2*8^1 + 4*8^0

4.十六进制
基数:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
特点:逢十六进一
2F = 2*16^1 + 15*16^0

进制间的转换:
十进制转换成其他进制: 整数取余法
八进制转二进制:一位八进制转换成三位二进制 23--> 010 011
十六进制转二进制:
一位十六进制转换成四位二进制 2F --> 0010 1111

Python中的二进制,八进制和十六进制
默认为十进制
123
789

基数是0,1, 且以0b开头的数字表示二进制
0b10011101

基数是0,1,2,3,4,5,6,7,且以0o开头的数字表示八进制
0o353547

基数是0-9, A-F (a-f), 且以0x开头的数字表示十六进制
0x78ef
0x98ae

# bin()将其他进制整数转换为二进制数
print(bin(15),bin(0x98ae))

# Oct()将其他进制整数转换为八进制数
print(oct(123),oct(0b10011101))

# hex()将其他进制整数转换为十六进制数
print(hex(10),hex(0b10011101))

结果

0b1111 0b1001100010101110
0o173 0o235
0xa 0x9d

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

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,114评论 0 13
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,713评论 0 10
  • python学习总结 1.程序中注释的用法、意义和作用; 2.学习Python语言的第一个简单的程序"Hello ...
    Onlyu_8328阅读 1,195评论 1 0
  • 我不要选择做一个普通人 如果能够做到的话,我要成为一个不寻常的人 我寻找机会,不寻求安逸 我憎恨虚度光阴这令我痛苦...
    翰墨智造阅读 242评论 0 2
  • 一大早,我就兴奋得睡不着觉,收拾该带的东西。 七点四十,催我下楼的电话终于响起,我戴好帽子,背起背包,冲下楼去。 ...
    只有真诚阅读 220评论 2 3