python基础第一章
Python基础
- 第一个python程序
- 变量
- 程序交互
- 基本数据类型
- 格式化输出
- 基本运算符
- 流程控制if...else...
- 流程控制-循环
第一个python程序
文件执行
1.用notepad++创建一个文件,输入以下代码:
print('HelloWorld')
print('python好简单啊,我要学好挣大钱!')
2.保存为HelloWorld.py,注意要强调.py后缀名的作用
3.进入 cmd命令行,执行python HelloWorld.py,看结果(在文件名前加python的原因是要把代码交给python解释器去解释执行)
交互器执行
python交互器就是主要用来对代码进行调试用的
变量
变量是什么?
eat = 100+20+30
cloth = 200+300
print('total=',cloth+eat)
所谓的变量,就是把程序运算的中间结果临时存放到内存里,以备后面的代码继续调用,用来标记数据,存储数据的
变量定义规范
声明变量
name = 'xiaoyafei'
其中name被称为“变量名/标识符”,'xiaoyafei'被称为“变量值”。
变量定义规则
- 变量只能是字母、数字、下划线的任意组合
- 变量名的第一个字符不能是数字
- 关键字不能被称为变量名,如
['and','as','class']
定义方式
驼峰体
AgeOfXiao = 20
NumberOfStudents = 56
下划线
age_of_Xiao = 20
Number_of_Stundets = 56
常量
在程序运行过程中不会改变的量,在python中没有一种专门的语法来代表常量,但是约定俗成的变量名全部大写为常量,例如:
AGE_OF_XIAO = 22        #这种就是常量
程序交互
读取用户输入
name = input('what is your name?')
print('Hello,'+name)
在执行脚本的时候就会发现,程序会等待输入完name之后再往下继续走
可以让多个用户输入多个信息,例如:
name = input('what is your name?')
age = input('what is your age?')
hometown = input('what is your hometown?')
print("hello",name,"your age:",age,"years old,you come from,",hometown)
程序运行结果如下:
what is your name?a
what is your age?b
what is your hometown?c
hello a your age: b years old,you come from, c
注释
代码注释原则
- 不用全部添加注释,只需要在自己觉得很重要或者不好理解的地方加注释即可
- 注释可以用中文或英文,但不能用拼音
数据类型
在每个编程语言中,都会有一个叫数据类型的东西,其实就是对常用的各种数据类型进行了明确的划分,python数据类型有很多中,今天只讲3中:数字、字符串、布尔类型。
数字
int(整型)
在32位机器上,整数的位数是32位,取值范围是-2 ** 31~2 ** 31-1
在64位机器上,整数的位数是64位,取值范围是-2 ** 63~2 ** 63-1
long(长整型)
跟C语言不同,python的长整数没有指定位宽,即:python没有限制长整数的大小,但实际上机器内存有限,使用的长整数数值不可能无限大
注意: 在python2.2起,如果整数发生溢出,python会自动将整数数据转换为长整数,所以如今在长整数数据后面不添加L也不会导致严重后果
在python3中不会再有long类型的了,全部都是int
>>> a = 2**64
>>> type(a)
输出结果为:class 'int'       #在python3终端上测试
除了int和long,其实还有float浮点型、复数型
字符串
在python中,加了引号的字符都被陈志伟字符串
>>> name = "xiaoyafei"  #双引号
>>> age = '22'          #单引号
>>> age2 = 22
>>>
>>> msg = '''my name is xiaoyafei,i am 22 years old.'''     #多引号
那么有人就会问了,单引号、双引号、多引号有什么区别?让我告诉你,单双引号没有什么区别,就是在下面的情况要考虑单双引号的搭配:
>>> msg = "my name is xiaoyafei,I'm 22 years old."
多引号什么作用呢?作用就是多行字符必须用多引号:
>>> msg = '''
...     飞流直下三千尺,
...     疑是银河落九天。
... '''
字符串拼接
>>> name = 'xiaoyafei'
>>> age = '22'
>>> name + age      #相加就是简单的拼接
'xiaoyafei22'
>>> name * 10       #相乘即使复制自己多少次
'xiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafei'
注意:字符串的拼接只能双方都是字符串,不能跟数字或者其他类型的进行拼接
>>> name = 'xiaoyafei'
>>> age = 10
>>> type(name)
<class 'str'>
>>> type(age)
<class 'int'>
>>> name + age
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: must be str, not int     #类型必须是字符串
布尔值
布尔类型其实很简单,就两个值:True和Flase
>>> a = 2
>>> b = 5
>>> a > b       #不成立就是Flase,即假
False
>>> a < b       #成立就是True,即真
True
格式化输出
#-*- coding:utf-8 -*-
name = input('Name:')
age = input('Age:')
addr = input('Addr:')
info = '''
--------------info of %s---------------
Name    :%s
Age     :%s
Addr    :%s
'''%(name,name,age,addr)
print(info)
%s代表的是字符串占位符,除此紫外,还有%d数字占位符
运行结果如下:
Name:xiaoyafei
Age:22
Addr:HangZhou
--------------info of xiaoyafei---------------
Name    :xiaoyafei
Age     :22
Addr    :HangZhou
那么有问题来了,为什么数字用%s的话竟然没有报错呢?让我们来看看:
>>> age = input('Age:')         #input接受的所有输入默认都是字符串格式
Age:22
>>> type(age)
<class 'str'>
如果想转换为整型的话,那么就需要使用[int(youStr)]
基本数据类型
计算机可以进行的运算有很多种,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天暂只学习算数运算、比较运算、逻辑运算、赋值运算
算数运算
设置一下变量:a=10,b=20
那么:
比较运算
复制运算
逻辑运算
流程控制if...else...
单分支
if 条件:
    满足条件后执行的代码
例如:
xiaoyafei_age = 22
if xiaoyafei_age<23:    #条件
    print('he is young')        #满足条件做的事情
运行结果:
he is young
双分支
if 条件:
    满足条件后执行的代码
else:
    if条件不满足才会执行的代码
例如:
xiaoyafei_age = 24
if xiaoyafei_age<23:
    print('还是很年轻')
else:
    print('不年轻了')
运行结果如下:
不年轻了
多分支
if 条件:
    满足条件执行代码
elif 条件:
    上面的条件不满足就走这个
elif 条件:
    上面的条件不满足就走这个
elif 条件:
    上面的条件不满足就走这个
else:
    上面所有的条件不满足就走这段
写一个猜年龄的程序把:
# -*- coding:utf-8 -*-
xiaoyafei_age = 22
guess = int(input('>>:'))
if guess >xiaoyafei_age:
    print('猜大了,请往小的猜')
elif guess < xiaoyafei_age:
    print('猜小了,请往大的猜')
else:
    print('恭喜你猜对了!')
再来个匹配成绩的代码吧,ABCDE5个等级,与分数对应关系如下:
A 90-100
B 80-89
C 60-79
D 40-59
E    0-39
要求用户输入0-100的数字后,能正确打印她的对应成绩:
score = input('输入分数:')
if score > 100:
    print('最高分才100')
elif score >=90:
    print('A')
elif score >=80:
    print('B')
elif score >=70:
    print('C')
elif socre >=60:
    print('D')
else:
    print('E')
这里有个问题,就是当我输入95的时候 ,它打印的结果是A,但是95 明明也大于第二个条件elif score >=80:呀, 为什么不打印B呢?这是因为代码是从上到下依次判断,只要满足一个,就不会再往下走啦,这一点一定要清楚呀!
流程控制-循环
while循环
语法
简单吧,while就是当的意思,while是指当其后面的条件成立,就执行while下面的代码
写个程序从0打印100的程序,每循环一次,+1
count = 0
while count <= 100:         #只要count<=100,就不断执行下面的代码
    print('loop:',count)
    count += 1
输出:
loop: 0
loop: 1
loop: 2
.....
loop: 98
loop: 99
loop: 100
那么我如果想实现打印1-100之内的偶数怎么办呢?
那么就需要先搞清,怎么判断一个数字是偶数?能被2整除的数就是偶数,怎么能判断是否被2整除呢?只需要除完2没有余数就可以了。
count = 0
while count<=100:       #只要count<=100那么就会一直执行下去
    if count %2 == 0:       #是偶数
        print('loop:'count)
    count += 1      #每执行一次,就把count+1,要不然就变成死循环了,因为count一直都是0
死循环
有一种循环叫做死循环,一经触发,就运行个天荒地老、海枯石烂。
while是只要后边条件成立(也就是条件结果为真)就一直执行,怎么让条件一直成立呢?
count = 0
while True:         #True本身就代表着真
    print('你是风儿我是沙,缠缠绵绵到天涯......',count)
    count +=1
当然了,这是死循环,会将你的电脑的内存全部吃完然后死机,我可没有去执行,当然执行的朋友们可以使用[ctrl+c]结束
循环终止语句
如果在循环过程中,因为某些原因,你不想继续循环了,怎么把它终止掉呢?这就需要break和continue了。
- break用于完全结束一个循环,跳出循环体执行循环后面的语句
- continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全跳出循环
break语句
count = 0
while count<=5:
    print('loop:',count)
    if count == 3:
        break
    count +=1
print('out of while loop')
运行结果如下:
loop: 0
loop: 1
loop: 2
loop: 3
out of while loop
coutinue语句
count = 0
while count<=10:
    count +=1
    if count>3 and count<8:     #表示在这里当count>3并且count<8的同时,不做任何操作
        continue
    print('loop:',count)
print('game over')
运行结果如下:
loop: 1
loop: 2
loop: 3
loop: 8
loop: 9
loop: 10
loop: 11
game over
while...else...
与其他语言else一般只与if搭配不同,在python中还有个while...else语句
while后面的else作用是指,当while循环正常执行完,中间没有被break终止的话,就会执行else后面的语句
count = 0
while count<=5:
    count +=1
    print('loop:',count)
else:
    print('循环正常执行完...')
print('out of while loop')
运行结果如下:
loop: 1
loop: 2
loop: 3
loop: 4
loop: 5
loop: 6
循环正常执行完...
out of while loop
如果执行过程中,被break中断,就不会执行else语句
count = 0
while count <= 10:
    count +=1
    print('loop:',count)
    if count ==2:
        break
else:
    print('程序被break中断')
print('out of while loop')
运行结果如下:
loop: 1
loop: 2
out of while loop
python基础第一章的更多相关文章
- web前端学习python之第一章_基础语法(二)
		web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ... 
- web前端学习python之第一章_基础语法(一)
		web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ... 
- [Python笔记][第一章Python基础]
		2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ... 
- Python笔记·第一章—— Python基础(一)
		一.Python的简介 1.Python的由来与版本 1.1 python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文 ... 
- 20190804-Python基础 第一章
		学习爬虫的同时,补充学习更多Python的基础知识,才能让所学更加扎实. 至今,所学的很多东西,基础都不牢固,导致这些所学都是浅尝则止的皮毛,不能真正上战场,故借速成之心,踏实打牢基础,举一反三,以求 ... 
- python 教程 第一章、 简介
		第一章. 简介 官方介绍: Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程.Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使 ... 
- Python基础第一课
		Python基础 安装软件并配置环境变量 1.第一句python --初学后缀名可以是任何数 --后期学习需要导入模块时不是py后缀名会报错 2.两种执行方式 Python解释器 py文件路径 Pyt ... 
- python学习 第一章(说不定会有第零章呢)one day
		------------恢复内容开始------------ 一.啥是python python是吉尔·范罗苏姆于1989年开发的一个新的脚本解释程序,是ABC语言的一种继承. 二.python的特点 ... 
- 进击的Python【第一章】:Python背景初探与Python基础(一)
		Python背景初探 一.Python起源 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做 ... 
随机推荐
- SpringBoot项目结构介绍
			一项目结构介绍 springboot框架本身对项目结构并没有特别的要求,但是按照最佳的项目结构可以帮助我们减少可能遇到的错误问题.结构如下: (1)应用主类SpringbootApplication应 ... 
- [C# 开发技巧系列]如何动态设置屏幕分辨率
			首先,大家应该明确,现在没有可用的API来给我们动态地设置屏幕分辨率,我们要实现这个需求,我们只能在C#程序中调用Win32 API 函数来解决这个问题的,这里用C#代码调用Win32 API 就涉及 ... 
- C# 导出导入TXT文件
			导出TXT关键类: using System; using System.Collections.Generic; using System.Linq; using System.Text; usin ... 
- codeforces570D Tree Requests
			题目链接:codeforces570D 正解:$dsu$ $on$ $tree$ 解题报告: 考虑这又是一类子树内的不带修改统计问题,直接上$dsu$ $on$ $tree$好咯. 直接按上一道题的做 ... 
- Java String类为什么不可变?
			原文地址:# Why String is immutable in Java? 众所周知,String类在Java中是不可变的.不可变类简单地说是实例不可修改的类.对于一个实例创建后,其初始化的时候所 ... 
- ubuntu 16.04 配置远程连接
			1.XDMCP远程连接 vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 添加 greeter-show-manual-login=true [X ... 
- poj2823单调队列
			这个裸题,滑动窗口求最大最小值,单调队列来两边,一次单调递增q[s]就是最小值,一次单调递减q[s]就是最大值 cin会超时,解除同步也没用... #include<map> #inclu ... 
- 搞懂分布式技术10:LVS实现负载均衡的原理与实践
			搞懂分布式技术10:LVS实现负载均衡的原理与实践 浅析负载均衡及LVS实现 原创: fireflyc 写程序的康德 2017-09-19 负载均衡 负载均衡(Load Balance,缩写LB)是一 ... 
- Java读写文化总结
			Java读文件 package 天才白痴梦; import java.io.BufferedReader; import java.io.File; import java.io.FileInputS ... 
- iOS-不用微信SDK唤起微信支付
			作者:TianBai 原文链接:http://www.jianshu.com/p/8930b4496023 要想知道微信SDK是如何调起微信客户端,那么咱们先看看微信SDK到底做了什么 前期准备 接入 ... 
