第一天的复习

目录:
1.编程语言的区分

2.python的优缺点

3.python环境的搭建,版本之间的大致区别

4.代码的注释规则

5.变量

6.常量

7.基本程序交互

8.基础数据类型

9.基础循环,if循环与while循环

正文开始

1.编程语言的区分

  编程语言根据分类主要分以下一些语言,编译型语言与解释型语言,静态语言与动态语言,强类型定于语言与弱类型定义语言,对上面这些定义做一些解释

  1.1 编译型语言与解释型语言

  对于编程,都需要将语言编译为机器可以识别的二进制的机器语言,机器才能够明白你要做什么

  编译型语言:将编辑好的整体代码打包直接编译为二进制文件,可以独立运行,机器可以直接识别并运行。

    优点:整体代码只需要编译一次即可,可以脱离编辑工具在机器上独立运行,运行速度快,执行效率高

    缺点:对于代码修改,每次修改都需要重新编译一次,开发效率相对较低,对于平台移植,移植过程中都需要对每一个平台进行适配

  解释性语言:对于编辑好的整体代码并不是整体打包,在提交给机器识别的过程中是使用编译器逐行解释,逐行执行。

    优点:代码修改,随时修改,随时解释,迭代更新速度快,开发效率高,对于平台移植兼容性较好,多平台移植可以使用较少的时间

    缺点:执行效率相对较慢(与c语言相比执行效率低10倍,不过人还是无法察觉出来的),每次编译必须使用编译器,代码整体为明文,不能加密

  1.2 静态语言与动态语言

  静态语言:个人理解为静态语言类似C,C++等语言,在编程开始就需要定义变量,在编译期间就会检查变量的正确性,变量定义错误整体无法编译下去

  动态语言:个人理解为动态语言类似python,ruby这种语言,在编译期间不会检查变量的正确性,只是在程序调用的时候才会寻找变量

  1.3 强类型定义语言与弱定义类型语言

  强定义类型语言:强制数据类型语言,一个变量在定义初始定义为一种类型,除非强制转换,那么他永远都是那种数据类型

  弱定义类型语言:数据类型可以被忽略的一种语言,一个变量可以定义不同的数据类型

  #以上我们看出python为解释性动态强类型定义语言

2.python的优缺点

  任何一门语言都有它的优缺点,需要理性的看待,每一门语言都不是万能的

  2.1优点:高级语言,不用关心底层内存指针等

       可移植性好,可以很容易的迁移到不同平台

       可嵌入性,可以很快的将python的代码嵌入c以及c++中

       可拓展性,可以将c语言等拓展到python中

       开发效率高,第三方库众多,可以随时调用

       解释型语言,入门门槛低

  2.2缺点:编译速度慢,大神嫌弃,我等屌丝感觉差不多

        代码明文,无法将代码加密化

        线程不能多CPU调用(暂时不清白)

3.python环境的搭建,不同版本的区别

  python环境在目前主要有俩个大版本,有3.0与2.7俩个大版本,本次学习主要是以2.7版本学习为主,本次学习使用2.7.13与3.6.6版本

  3.1.环境搭建,2.7版本默认安装下一步下一步即可,3.6版本安装建议选择自定义安装,将安装位置指定为c盘根目录下。下一步为环境变量设定

  

  

  

  按照这样的设定后,电脑内是属于双环境,在cmd中输入python默认使用3.6.6版本,在输入python2则会调用2.7.13版本    

  3.2版本区别

    3.2.1 在python2.7版本中,默认为ASCII,若输出中文,需要在首行定义规则,# -*- enconding:utf-8 -*-

        有int型与long之分

        源代码比较混乱,不够简单清晰明了

    3.2.2 在python3x版本中,默认的为utf-8,可以编辑中文,对于数字只有int没有int和long之分

4.代码的注释规则

  对于每一门语言学习的开始,学会对自己的代码注释是基础的开始,对于python主要有俩种注释方式,一为单行注释,二为多行注释

  4.1 单行注释,针对每一行进行注释,例如  

print("Hello World!")#打印hello world!

  4.2 多行注释,有的时候注释不可能只是一行搞定,这个时候就需要多行注释,例如

"""
第一天终于开始了
感觉好轻松哈,笑!
打印一行最基本的hello world吧,程序员的第一个代码!
"""
print("Hello World!")

  一些其他的使用技巧,只是目前知道的,按住ctrl键加/就可以对选中的多行进行多行注释,其他的在整理吧  

5.变量

  变量就是将程序运行的中间结果放在临时内存中,方便后续对于变量的调用

  5.1 声明变量,看例子  

name = 'time'
print(name)

  这个例子中name就是变量,将time这个字符赋值给name,这个量就已经保存在内存中了,后续就很方便的在内存中调用了

  5.2 变量的定义规则

  5.2.1 变量只能用数字,字母和下划线组成

  5.2.2 变量的第一个字符不能是数字

  5.2.3 变量不能用系统中关键字符,例如if,while等关键字符

  5.2.4 变量定义最好规范定义,例如驼峰体或者是下划线的方式,例如AgeOfOldboy,或者是age_of_oldboy

  5.2.5 变量定义具有可描述性,没有含义

  5.2.6 变量名字尽量不要过长

  5.2.7 变量名字不要使用中文

age1 = 18
age2 = age1
print(age1,age2) #结果
18 18
a1 = 18
a2 = a1
a3 = a2
a2 = 36
print(a1,a2,a3) #结果
18 36 18
#综上说明pythoon中变量只是指向到内存地址,变量变更不影响内存地址

6.常量

  常量就是在程序代码中不会轻易改动的变量,在python中虽然没有规定具体的定义方式,不过默认还是使用全大写的形式,例如AGE_OF_OLDBOY = 56

7.基本程序交互

  基本程序交互主要形式有三种,字符串拼接,格式化输出

  7.1字符串拼接,例如

name = 'alex'
age = ' 15岁'
print(name+age) #结果
alex 15岁
#一般不经常使用字符串拼接的方式,比较占用内存,字符串拼接只能是双方都是字符串,如果一方是int型就会报错

  7.2格式化输出,例如

#格式化输出
name =input("Name:")
age =int(input("Age:"))
job = input("Job:")
salary = input("Salary:") #第一种 msg = '我的名字是%s,我的年龄是%s岁,我的工作是%s,我的薪酬为%s'%(name,age,job,salary) #第二种
msg1 = '我的名字是{},我的年龄是{}岁,我的工作是{},我的薪酬为{}'.format(name,age,job,salary) #第三种 #使用字典的方式
dic ={'name':name,'age':age,'job':job,'salary':salary}
msg2 = '我的名字是%(name)s,我的年龄是%(age)s,我的工作是%(job)s,我的薪酬为%(salary)s'%dic

8.基础数据类型

  8.1 int与long型

  简单的说int就是整型的数字,64位系统最大数字为2的64次方-1,超过这个数值就需要使用长整型,long

  8.2 str型

  就是简单的字符串形式,python中默认的就是字符串形式,对于数字需要在输入前加入int()强制更改数值类型

  8.2.1字符串的拼接 

name= input('请输入你的用户名:')
age = int(input('请输入你的年龄'))
sex = input('请输入你的性别')
msg = '我的名字是'+name+','+'我的年龄是'+age+'岁,'+'性别是'+sex

  8.2.2字符串的计算

>>> type(name),type(age2)
(<type 'str'>, <type 'int'>)
>>>
>>> name
'Alex Li'
>>> age2
>>> name + age2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects #错误提示数字 和 字符 不能拼接 #字符串的计算,字符串也可以计算的
msg='坚强'
msg1 = msg*10
print(msg1) #结果就是10个坚强相连

  8.3 布尔值

  布尔值只有俩个,TRUE与FALSE,例如  

>>> a = 3
>>> b = 4
>>> a>b
False
>>> a<b
True

9.基础循环,if循环与while循环

  9.1 if循环的使用 

#if的使用
number = int(input('请输入你的数字:'))
if number == 1:
print('you are very good!') #if与else的使用
number = int(input('请输入你的数字:'))
if number >5:
print('你比我大哦!')
else:
print('你比我小哦!') #if与elif的使用
number = int(input('请输入你的数字:'))
if number >0:
print('你比0大!')
elif number >3:
print('你比3大!')
elif number >5:
print('你比5大!') #if与elif与else的使用
number = int(input('请输入你的数字:'))
if number == 1:
print('带你飞!')
elif number == 3:
print('带你浪!')
else:
print('sorry啦!')
#简单嵌套if函数的使用
name = 'aelx'
password = 123
user = input('请输入用户名>>>')
ps = input('请输入用户名密码>>>')
if user == name :
if ps == password:
print('登录成功,欢迎你!')
elif:
print('你输入的密码错误,退出!')
else:
print('你输入的用户名不存在!')

day 1总结-python基础的更多相关文章

  1. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  2. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  3. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

  4. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  5. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  6. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  7. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  8. python基础之day1

    Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...

  9. python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

  10. python基础之编码问题

    python基础之编码问题 本节内容 字符串编码问题由来 字符串编码解决方案 1.字符串编码问题由来 由于字符串编码是从ascii--->unicode--->utf-8(utf-16和u ...

随机推荐

  1. Spring Boot2.0 静态资源被拦截问题

    在Spring Boot2.0+的版本中,只要用户自定义了拦截器,则静态资源会被拦截.但是在spring1.0+的版本中,是不会拦截静态资源的. 因此,在使用Spring Boot2.0+时,配置拦截 ...

  2. 微信小程序与AspNetCore SignalR聊天实例

    微信小程序与aspnetcore signalr实例 本文不对小程序与signalr做任何介绍,默认读者已经掌握 aspnetcore Signalr文档 小程序文档 写在之前 SignalR没有提供 ...

  3. 【微信小程序云开发】从陌生到熟悉

    前言 微信小程序在9月10号正式上线了云开发的功能,弱化后端和运维概念,以前开发一个小程序需要申请一个小程序,准备一个https的域名,开发需要一个前端一个服务端,有了云开发只有申请一个小程序,一个前 ...

  4. Linux基础知识第三讲,拷贝文件跟移动文件命令

    目录 Linux基础知识第三讲,拷贝文件跟移动文件命令 一丶常用命令 1.tree命令常用选项 2.cp复制文件命令 3.mv 命令的使用 Linux基础知识第三讲,拷贝文件跟移动文件命令 一丶常用命 ...

  5. wpf,visibility属性的多元素绑定及值转换

    visibility实现多元素绑定. 实现多绑定转换 public class VisibilityConverter : IMultiValueConverter { public object C ...

  6. [Linux] 搭建rsync服务端

    rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输. Linux守护进程的运行方式:1.独立运行(stand-al ...

  7. [前端]css前端样式的模块化

    css样式文件结构( 模块划分的单入口 ) common|_ _ _ _ _ _reset.css|_ _ _ _ _ _common.css 公用样式 libs|_ _ _ _ _ _bootstr ...

  8. 好用的开源库(一)——MaterialEditText

    GIthub地址:https://github.com/rengwuxian/MaterialEditText#features 使用文档: 在android新推出的Material Design中对 ...

  9. 史上最全python面试题详解(四)(附带详细答案(关注、持续更新))

    python高级进阶-网络编程和并发(?道题详解) 1.简述 OSI 七层协议. OSI是Open System Interconnection的缩写,意为开放式系统互联. OSI七层协议模型主要是: ...

  10. 用node.js express设置路径后 子路径下的页面访问静态资源路径出问题

    在routes/news_mian.js 设置了访问news_main.html 的路径 '/',通知设置一个访问news-page.html的子路径'/newspage'子路径.但是在访问loacl ...