一:编程及编程语言介绍
编程的目的:人把自己的思想流程表达出来,让计算机按照这种思想去做事,把人给解放出来。
编程语言:简单的说就是一种语言,是人和计算机沟通的语言。
编程:例如Python,利用Python的关键字和规定的语法把人的思想表达出来就是编程的过程。学习语言的过程,像学习英语一样
记单词,学习语法。
编程语言分类
1)按照发展历程来分
机器语言:直接使用二进制编程,直接操作硬件,编程复杂,开发效率低
汇编语言:使用简写的英文字符取代二进制去编写程序,但本质仍是直接操作硬件,编程复杂
开发效率低。
高级语言:使用人类的字符去编写程序,执行速度慢,但开发效率高。
2) 按照翻译方式进行分类
编译型:需要编译器,一次性编译,运行速度快,但不利于调试。
解释型:需要解释器,相当于同声翻译,运行速度慢,但利于开发调试。
3)总结
速度不是关键,开发效率才是王道。
二:Python介绍及安装
2.1 主要编程语言介绍
以下是2017年9月份各大主流语言排名(https://www.tiobe.com/tiobe-index/ )
2.2 Python 主要应用
1.web开发
2.网络编程
3.爬虫,Python几乎是霸主地位
4.云计算
5.人工智能
6.自动化运维
7.金融分析
8.科学计算
9.游戏开发
2.3 Python安装(windows)
Python官方网站 https://www.python.org 以下以下载3.6为例
Python多版本使用教程
Python2.7 安装
这里我们看下我们安装的目录下有两个需要了解的可执行程序
那么接下来需要设置环境变量
Python3.6安装
我们开始设置环境变量
在设置环境变量之前,我们把Python解释可执行程序复制一份儿,改名为Python3,这样在输入Python3后会调用Python版本为3的解释器
### 一般情况下我们不会使用这种交互模式进行开发,因为一旦退出,代码就没了,但我们可以使用交互模式进行调试代码
### 通常我们会使用文本编辑器使用文本将代码保存到磁盘
例如:我们使用Notepad进行编辑
print('Hello World')----------->test.py
我们使用交互模式 python3 test.py运行时主要进过如下三个步骤
1)启用Python解释器 2)将文件内容读取到内存中 3)执行该文件内容
三:变量(variables)
3.1 变量的定义:
变量即变化的量,边即变化,量即衡量状态
3.2 为什么要有变量
程序执行的本质就是一系列的变化,我们需要有一种机制能够反映或者说是保存下来程序执行时的状态及状态的变化。
3. 变量三要素
变量ID(反映在内存的位置,但不时内存真是地址),type,value.
age=18 print(id(age),type(age),age) # 返回结果 # 分别是age的ID,类型,值 #1851050192 <class 'int'> 18 name='wangchen' print(id(name),type(name),name) 返回结果 #分别时变量name在内存的id,类型,值 2631740071344 <class 'str'> wangchen
3.变量定义规则
1)只能是字母,数字,下划线的组合
2)第一个字符不能是数字
3)关键字不能声明为变量名
3. 定义方式
1)驼峰体
AgeOfWys=20
2)下划线(推荐)
age_of_wys=20
3. 常量(定值)
我们一般将常量大写
AGE=20
四:用户与程序交互
使用input来跟用户进行交互,为了以后要使用用户输入的内存,我们常将其定义为一个变量,即通过交互式的方式定义一个变量
需要注意的是:在python3中无论用户输入的是何种类型数据,都会存成字符串类型
1 name=input('Please input your name: ') 2 print(id(name),type(name),name) 3 # 输入一个字符串 4 Please input your name: wys 5 2020067618920 <class 'str'> wys 6 # 输入一个数字 7 Please input your name: 18 8 2670300934248 <class 'str'> 18
五:注释和文件头
5.1 文件头
#!/usr/bin/env python 声明解释器 # -*- coding: utf-8 -*- 声明编码
5.2 注释
#单行蛛丝 #name=input('Please input your name: ') #print(id(name),type(name),name) #多行注释 ''' sfddsfsdf sfsdfsdfsd sdfsdfsdf '''
六 基本数据类型
6.1 数字类型
int整型:年纪,身份证号等 ;变量名=数字
age=20 print(id(age),type(age),age) #运行结果如下 1851050256 <class 'int'> 20
浮点型:带小数的数据,比如身高等等 ;变量名=数字
height=1.75 print(id(height),type(height),height) #运行结果 1884371357888 <class 'float'> 1.75
6.2 字符串类型
定义方法:把字符放入单引号,双引号,后者三引号之间,这三种引号作用是一样的,只是在一些特殊场合才会有区别。
name='wangyongsheng' print(type(name)) #运行结果 <class 'str'>
字符串拼接
#1.将两个字符串拼接成一个 name='wangchen' msg='handsome' print(name+msg) ##运行结果 wangchenhandsome #2.注意:字符串拼接仅限字符串之间拼接 name='wangchen' msg='handsome' age=20 print(name+msg+age) ##运行结果 TypeError: must be str, not int 数据类型错误 ##可以将数字转换成字符串进行拼接 print(name+msg+str(age)) wangchenhandsome20 #3.使用*进行拼接 print(name*3) wangchenwangchenwangchen #4.字符串之间只能用“+”或者“*” #5.当字符串比较大时不建议使用+进行拼接了
6.3 列表
定义方法:定义在[]内,用逗号分隔开多个元素,每个元素可以时任意类型
#可以存取多个值 #1.定义一个人的爱好 hobbies=['play','read','music','movie'] print(type(hobbies)) <class 'list'> #2.将其中某个值取出来 print(hobbies[3]) print(hobbies[0]) # 3.倒着取值 print(hobbies[-1]) movie # 4.超出范围取值 ##会报错 print(hobbies[12]) IndexError: list index out of range # 5,因为列表内可以定义任何类型数据 a=[20,1.75,'wangchen',['hello','world']] print(a[0]) print(a[1]) print(a[2]) print(a[3][0]) print(a[3][1]) #运行结果 20 1.75 wangchen hello world
6.4 字典类型
定义:定义在{}内,用key:value的形式表示一个元素,用逗号分隔
info={'id':123,'name':'wangchen','hobbies':['read','play']} print(info['id']) print(info['name']) print(info['hobbies']) print(info['hobbies'][0]) print(info['hobbies'][1])
6.5 布尔类型
只有两个值 true,false 主要用于逻辑判断
七:格式化输出
根据用户输入打印出特定格式
name=input('user_name: ') age=input('user_age: ') # My name is xxx ,i am xx year old. # %s 占位符 可以接受任意数据类型 print('My name is %s,i am %s year old '%(name,age)) # %d 占位符 只能接受整型数据(因为input后数据都时字符串了,故会报错) print('My name is %s,i am %d year old '%(name,age)) TypeError: %d format: a number is required, not str
八 流程控制之if判断
# 如果用户你输入年龄大于30,就叫姐姐,小于30就叫妹妹 age=input('>>: ') # 因为传给input后时字符串类型故要转换为int进行比较 age=int(age) if age > 30: print('姐姐') else: print('妹妹')
if 多条件判断
# 多个条件,性别时女性,年龄18-30,漂亮 然后我就表白,否则叫阿姨 sex=input('sex>>: ') # 要进行数字比较,需要转换成数字类型 age=int(input('age>>: ')) # 要进行布尔类型比较,需要转换成布尔类型 is_prety=bool(input('is_p>>: ')) if sex == 'female' and age > 18 and age < 30 and is_prety == True: print('表白。。。。。。。。。') else: print('阿姨好。。。。。。。')
if 嵌套
# if嵌套,如果该人性别是女性,年龄18-30,漂亮 ,表白成功就在一起,表白失败就继续追求,否则叫阿姨 sex=input('sex>>: ') # 要进行数字比较,需要转换成数字类型 age=int(input('age>>: ')) # 要进行布尔类型比较,需要转换成布尔类型 is_prety=bool(input('is_p>>: ')) SUCESS=False if sex == 'female' and age > 18 and age < 30 and is_prety == True: if SUCESS: print('在一起') else: print('继续追求') else: print('阿姨好。。。。。。。')
if 多分支
score=int(input('>>>: ')) if score >= 90: print('优秀') elif score >= 80: print('良好') elif score >= 60: print('及格') else: print('不及格')
九:过程控制之while循环
# 如下一个猜年龄游戏 AGE_OF_LAOWANG=60 guess=int(input('>>>: ')) if guess > AGE_OF_LAOWANG: print('太大了') elif guess < AGE_OF_LAOWANG: print('太小了') else: print('对了') # 上述程序只能让用户猜一次(不好) while 条件成立 循环体 # 打印0到9的程序