O、解释型语言和编译型语言
  编译型语言就是先把写好的程序翻译成计算机语言然后执行,就是所谓的一次编译到处运行,比如c、c++就是编译型语言,这样的语言特点是运行速度快,但是需要事先把程序编译好才可以。
  解释型语言就是程序在运行的时候,通过一个解释器,把代码一句一句的翻译成计算机语言然后运行,也就是你写好代码之后直接就能运行,比如说python、shell、ruby、java、perl等等都是解释型语言,当然这样的语言由于原理不一样,执行速度并没有编译型语言快。

  脚本语言就是指这个语言只有一个单一的功能。比如:shell、js。

一、运行 hello_world.py 时发生的情况
  print("Hello world!")
  运行文件上述代码时,末尾的.py指出这是一个Python程序,因此编辑器将使用Python解释器来运行它。 Python解释器读取整个程序,确定其中每个单词的含义。例如,看到单词print时,解释器就会将括号中的内容打印到屏幕,而不会管括号中的内容是什么。
  注意:1、python2中不同,print "hello world!" ;

     2、python2中要在开头部分加入:#coding=utf-8。

     3、python3默认的字符集是Unicode,#python2里面默认的字符集是 ascii。

二、变量

  message = "Hello world!"
  print(message)
  上述代码中,添加了一个名为message的变量。每个变量都存储了一个值——与变量相关联的信息。在这里,存储的值为文本“ Hello world!”。
  添加变量导致Python解释器需要做更多工作。处理第1行代码时,它将文本“ Hello  world!”与变量message关联起来;而处理第2行代码时,它将与变量message关联的值打印到屏幕。
  

  变量的命名规则:
  1、变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。

  2、变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。
  3、不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词。如下图:

  

  好的建议:

  1、变量名应既简短又具有描述性。例如, name比n好, student_name比s_n好, name_length比length_of_persons_name好。
  2、慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。

三、单引号、双引号和三重引号

  在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号。甚至是三重引号来表示。
  单引号:msg = "I'm Sriba."   #有单引号,所以外面用双引号

  双引号:'Python comments ues "#".'   #有双引号,所以外面用单引号

  三引号:'''I'm Sriba, i love "Python".'''  #有双引号和双引号,所以外面用三引号

  '''
  上面的代码是说明单引号、双引号和三引号的
  这一段是注释,说明三引号也有多行注释的功能
  '''

四、输入input()函数

  函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后, Python将其存储在一个变量中,以方便你使用。  

message = input("Tell me something, and I will repeat it back to you: ")
print(message)

  函数input()接受一个参数:即要向用户显示的提示或说明,让用户知道该如何做。在这个示例中, Python运行第1行代码时,用户将看到提示Tell me something, and I will repeat it backto you:。程序等待用户输入,并在用户按回车键后继续运行。输入存储在变量message中,接下来的print(message)将输入呈现给用户。

  注意:python2中使用raw_input,接收的是一个字符串。

五、if语句

  每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。 Python根据条件测试的值为True还是False来决定是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False, Python就忽略这些代码。
  简单的 if 语句
  if conditional_test:
    do something
  在第1行中,可包含任何条件测试,而在紧跟在测试后面的缩进代码块中,可执行任何操作。如果条件测试的结果为True, Python就会执行紧跟在if语句后面的代码;否则Python将忽略这些代码。
  if-else 语句
  经常需要在条件测试通过了时执行一个操作,并在没有通过时执行另一个操作;在这种情况下,可使用Python提供的if-else语句。 if-else语句块类似于简单的if语句,但其中的else语句让你能够指定条件测试未通过时要执行的操作。

  sex = input('请输入你的性别:')

  if sex=='男' or sex=='女':
    print('ok的')
  else:
    print('人妖')

  if-elif-else 结构

  经常需要检查超过两个的情形,为此可使用Python提供的if-elif-else结构。 Python只执行if-elif-else结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。测试通过后, Python将执行紧跟在它后面的代码,并跳过余下的测试。  

score = input('请输入你的分数:')
score = int(score)
if score<60:
print('不及格')
if score>50:
print('hahah')
elif score<50:
print('小傻瓜')
else:
print('-------')
elif score>=60 and score<80:
print('及格')
elif score>=80 and score<90:
print('良好')
else:
print('优秀')

六、循环

  循环就是重复替你去干。循环需要指定一个循环结束条件,python提供两个关键字可以直接推出循环。

  continue: 结束本次循环,继续进行下一次循环
  break: 结束整个循环

  pyhon中又两种循环,while循环和for循环。

  while 循环
  while循环不断地运行,直到指定的条件不满足为止。用while循环的,那么必须得有计数器。

count = 0 #计数器
while count<3:
username = input('plz enter your userame:')
pwd = input('plz enter your pwd:')
if username=='nhy' and pwd=='123456':
print('欢迎光临')
continue
else:
print('账号/密码错误!')
count+=1
else:
print('错误次数过多')

  for循环

  for循环能够帮助我们做很多重复性的事情,比如批量命名、批量操作等。可以把for循环所做的事情概括成一句话就是:于...其中的每个元素,做...事情

import random
random_num = random.randint(1,1000)
for i in range(3):
num = int(input('请输入你猜的数字:'))
if num>random_num:
print('你猜的太大了')
elif num<random_num:
print('太小了')
else:
print('恭喜你猜对了,答案是:',random_num)
break

循环应用猜数字游戏:

import random
random_num = random.randint(1,1000)
# print(random_num)
while True:
num = int(input('请输入你猜的数字:'))
if num>random_num:
print('你猜的太大了')
elif num<random_num:
print('太小了')
else:
print('恭喜你猜对了,答案是:',random_num)
break

七、字符串格式化

  什么是格式化输出呢,就是说把你的输出都格式化成一个样子的,比如说登录的欢迎信息,都是welcome to login,Marry. 每个用户登录都是这样欢迎,但是每个用户的用户名都是一样的,你不能一个用户就写一行代码吧,这就需要用到格式化输出了,有三种方式,第一种是用“+”连接,直接把输出的字符串和变量连接起来就可以了;第二种是用占位符,占位符有常用的有三种,%s、%d和%f,%s是后面的值是一个字符串,%d是后面的值必须是一个整数,%f后面是小数;第三种是使用{}和fromat方法,这三种呢,官方推荐是使用format方法,不推荐使用第一种,第一种用加号的,会在内存里面开辟多个内存空间,而后面两种是只开辟一块内存空间,使用方式如下:

    name = input('请输入你的名字:')
print('你的名字是'+name) #使用加号连接
print('你的名字是%s'%name)#使用占位符
print('你的名字是{your_name}'.format(your_name=name)) #使用format格式化输出,{}里面的名字可以随便写但是要和后面的format中的名字保持一致,然后再把你前面定义的变量写到等号后面就可以了。
age = 18
print('我的名字是%s,年龄是%d岁.'%(name,age))#这种是里面有多个格式化内容的,前面那个是字符串,后面这个是整数,多个变量的后面跟值的时候必须要加上括号

python学习笔记(一)-基础知识的更多相关文章

  1. Python学习笔记——1——基础知识

    1.1.变量和算法 python语言很类似人类语言,变量不需要定义类型.比如: 整型 字符串类型 数组 Java int a=12 String s="test" String[] ...

  2. MyBatis:学习笔记(1)——基础知识

    MyBatis:学习笔记(1)--基础知识 引入MyBatis JDBC编程的问题及解决设想 ☐ 数据库连接使用时创建,不使用时就释放,频繁开启和关闭,造成数据库资源浪费,影响数据库性能. ☐ 使用数 ...

  3. C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)

    一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字 ...

  4. C#学习笔记(基础知识回顾)之值传递和引用传递

    一:要了解值传递和引用传递,先要知道这两种类型含义,可以参考上一篇 C#学习笔记(基础知识回顾)之值类型和引用类型 二:给方法传递参数分为值传递和引用传递. 2.1在变量通过引用传递给方法时,被调用的 ...

  5. C#学习笔记(基础知识回顾)之值类型和引用类型

    一:C#把数据类型分为值类型和引用类型 1.1:从概念上来看,其区别是值类型直接存储值,而引用类型存储对值的引用. 1.2:这两种类型在内存的不同地方,值类型存储在堆栈中,而引用类型存储在托管对上.存 ...

  6. Quartz学习笔记:基础知识

    Quartz学习笔记:基础知识 引入Quartz 关于任务调度 关于任务调度,Java.util.Timer是最简单的一种实现任务调度的方法,简单的使用如下: import java.util.Tim ...

  7. Python学习笔记之基础篇(-)python介绍与安装

    Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...

  8. Python学习笔记之基础篇(二)python入门

    一.pycharm 的下载与安装: 使用教程:https://www.cnblogs.com/jin-xin/articles/9811379.html 破解的方法:http://xianchang. ...

  9. .net学习笔记---xml基础知识

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

随机推荐

  1. HCNA Routing&Switching之广域网协议HDLC和PPP

    前文我们了解了地址转换技术NAT相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15168042.html:今天我们来聊一聊广域网中的两个二层封装协议H ...

  2. Ubuntu时间有误差,设置系统时间与网络时间同步

    转载地址:https://blog.csdn.net/qq_33733970/article/details/78823620

  3. 【转】TCP的三次握手与四次挥手理解及面试题

    转自:https://blog.csdn.net/qq_38950316/article/details/81087809 序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据 ...

  4. 前端云原生,以 Kubernetes 为基础设施的高可用 SSR(Vue.js) 渲染微服务初探(开源 Demo)

    背景 笔者在逛掘金的时候,有幸看到掘友狼族小狈开源的 genesis - 一个可以支持 SSR 和 CSR 渲染的微服务解决方案.总体来说思想不错,但是基于 Kubernetes 云原生部署方面一直没 ...

  5. servlet+Ajax开发web工程

    前言 因为目前基本已经不会再用到servlet+jsp开发项目了,基本都是使用框架来开发:我们常用的框架都是基于servlet来封装的,该阶段只需要了解一下tomcat如何使用,servlet的生命周 ...

  6. Asp.NetCore ResposeCache 缓存的使用

    先小结一下: 缓存策略: [ResponseCache(CacheProfileName ="default30")] 直接使用缓存,30秒过期: [ResponseCache(D ...

  7. Tolist案例(父子传参实现增删改)

    1.Tolist案例(父子传参实现增删改) 目录结构 实现效果: App.jsx class App extends Component { // 状态在哪里, 操作状态的方法就在哪里 state = ...

  8. etcd学习(8)-etcd中Lease的续期

    etcd中的Lease 前言 Lease Lease 整体架构 key 如何关联 Lease Lease的续期 过期 Lease 的删除 checkpoint 机制 总结 参考 etcd中的Lease ...

  9. 如何实现LRU缓存?

    面试官:来了,老弟,LRU缓存实现一下? 我:直接LinkedHashMap就好了. 面试官:不要用现有的实现,自己实现一个. 我:..... 面试官:回去等消息吧.... 大家好,我是程序员学长,今 ...

  10. 基于Bootstrap v4.1.1 & Bootstrap-table-1.14.1实现数据瀑布流

    基于Bootstrap-table-1.14.1实现数据瀑布流 HTML代码 <div id="AvgWaitAndAvgTimeServiceTimeData_hall"& ...