初学Python(第一课)
今天整理一下关于Python初学者的基础知识部分的第一课,因为之前学习过C,所以过于基础的知识就不详细记录了。
Python相对于C\C++来说,在语法方面已经很简单了;甚至对于JavaScript也是很简单的,减去了很多冗余的部分,让程序的编写更简单便捷。
一、变量
Python变量的定义很简单,Python是动态强类型语言Python省去了定义时的数据类型。C\C++在定义变量的时候都要明确声明该变量的数据类型,如int、char、floor、double、string等等,JavaScript已经简化了变量定义,但是仍然需要声明如var、let。相比之下Python就显得很方便了,并且Python不需要在每一行代码后面加上分号。
Python声明变量的格式为变量名 = “变量值”,例如:
name = "cen"
Python在变量的命名上与其他的编程语言类似,由字母、数字和下划线组成,由字母或下划线开始;并且有很多预留关键字不可以作为变量名:and,as,assert,break,class,continue,def,del,elif,except,exec,finally,for,from,global,if,import,in,is,lambda,not,or,pass,print,raise,return,try,while,with,yield
常量
在很多编程语言中都可以定义常量,Python也不例外。不过Python对于常量的定义就简单的多,只需要将常量名用全大写字母来命名即可。
二、注释
Python中单行注释:#,多行注释用'''......'''包起来,当然'''......'''也可以用于多行打印,下面会有例子,这里就不再赘述了。
三、输入与格式化输出
1、输入
C\C++在用户交互是使用的输入有scanf和cin,Python的用户交互程序则用的是input,并且Python的输入相比较于C\C++来说对格式的要求比较低,并且语法也相对比较简单,可以将输入内容和提示内容在一条语句内显示。Python2中的输入raw_input与Python3中的input是相同的,其实Python2中也有另一个input方法,不过其效果比较鸡肋,所以不推荐使用。Python3中的input方法才是正道。
格式如下:变量名 = input ("提示内容") 例如:输入用户名和密码:
username = input("name: ")
password = input("password: ")
print(username,password)
执行效果如下:
name: cen
password: 123
cen 123
大家可以看到无论是用户名和密码都是明文的,安全性很低,那么在输入时加密输入密码,类似于JavaScript中的input-password标签,应该怎么做呢?
getpass.getpass():
首先,要在代码中引入Python的标准库:import getpass,然后就可以愉快的使用getpass.getpass()方法啦
import getpass username = input("username: ")
password = getpass.getpass("password: ")
print (username,password)
执行效果如下:
name: cen
password:
cen 123
不过这个方法在PyCharm中无法执行,不方便调试,这是一个缺点,另一个缺点是在输入密码时看不到输入的位数,并且没有退格效果。
2、格式化输出
这个直接用例子来理解,例如:在Python中输入以下数据并输出如下格式:
----information of 姓名----
Name:
Age:
Job:
Salary:
name = input("name")
age = input("age")
job = input("job")
salary = input("salary")
Python中输出可以有一下几种方法:
(1)字符串拼接法
字符串拼接法就说到了我们上面说的'''......'''多行打印。实现代码:
info1 = '''
----information of ''' + name + '''----
Nmae:''' + name + '''
Age:''' + age + '''
Job:''' + job + '''
Salary:''' + salary
print(info1)
不过字符串拼接法是最不好用的一种方法,多次开辟内存空间,效率低下,不建议使用。
(2)引用变量-%
引用变量的方法相对于字符串拼接方法来说无疑是更加便捷的方法了。
a、%s-----数据格式占位法。这种方法使用每一个数据的数据格式来占位,在最后给出每个占位相应的变量名。实现代码:
info2 = '''
-----information of %s-----
Name:%s
Age:%s
Job:%s
Salary:%s
'''%(name,name,age,job,salary)
print(info2)
这里是各种数据类型所对应的符号:
符 号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
需要注意的是:(1)占位和变量名一定要一一对应。
(2)input输入的内容默认格式都是string类型,为了增强代码的规范性和可读性以及逻辑的严密性需要转换类型,用到数据类型的强制转换。格式变量名 = 数据类型()
例子如下(将字符串转化为整型):
age = int(input("age: "))
b、.format(_name = name)-----赋值 这种方法用一个占位名占位,在最后将变量的值赋给占位名。实现代码如下:
info3 = '''
-----information of {_name}----
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format( _name = name,_age = age,_job = job,_salary = salary)
print(info3)
c、.format------数字占位 这种方法用数字(从0开始)来替代上面的占位名,更加简洁,但是对顺序要求很严格。实现代码如下:
info4 = '''
----information of {0}----
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)
print(info4)
以上方法均可格式化输出,执行结果如下:
age: 21
job: student
salary: 1
-----info of cen-----
Name:cen
Age:21
Job:student
Salary:1
四、if-else流程判断
在每种编程语言中都有条件判断语法,if-else-elif是Python中的条件判断,语法格式如下:
if 条件1:
A
elif 条件2:
B
else:
C
Eg:判断输入的用户名密码是否合法:
_username = "cen"
_password = "" username = input("username: ")
password = input("password: ") if username == _username and password == _password:
print("welcome user {name} login...".format(name = username))
else:
print("wrong username or password")
如果输入正确则:
username: cen
password: 999999
welcome user cen login...
如果输入错误则:
username: cen
password: 123
wrong username or password
五、循环
1、while循环while循环语法格式:
while 条件:
循环体
else:
B
Eg:输出0-2
count = 0
while count < 3:
print(count)
count += 1
else:
print("已经到3啦")
执行结果:
0
1
2
已经到3啦
2、for循环
for循环语法格式如下:
for 计数器 in range(参数):
循环体
else:
B
for语句括号中的参数可以为一个参数,两个参数,三个参数。
如果是一个参数(E),则计数器从0开始运行到E结束;
如果是两个参数(B,E),则计数器从B开始运行到E结束;
如果是三个参数(B,E,S),则计数器从B开始运行到E结束,每隔S执行一次循环体;
Eg1:输出0-2
for i in range(3):
print(i)
else:
print("已经到3啦")
0
1
2
已经到3啦
Eg2:输出2-4
for i in range(2,5):
print(i)
else:
print("已经到5啦")
2
3
4
已经到5啦
Eg3:输出2-10,从2开始每隔3个打印一次
for i in range(2,10,3):
print(i)
else:
print("已经到10啦")
2
5
8
已经到10啦
3、continue,break和嵌套循环
(1)continue用于跳过本次循环;break用于结束整个循环
下面的例子有助于理解continue和break的区别
for i in range(5):
if i == 2:
continue
print(i)
print("这是一条分界线")
for i in range(5):
if i == 2:
break
print(i)
执行结果如下:
0
1
3
4
这是一条分界线
0
1
(2)嵌套循环 Eg:
for i in range(4):
if i == 2:
continue
print(i,"----")
for j in range(5):
if j == 2:
break
print(" ",j)
0 ----
0
1
1 ----
0
1
3 ----
0
1
例题:猜数字游戏,规则如下:规定一个固定数字(如78),用户可以输入三次,用户输入的数字如果大于78,则提示“过大”;用户输入的数字如果小于78则提示“过小”;用户输入的数字如果等于78,则提示“猜对了”并结束游戏。用户输入三次后如果任未猜对,则提示“是否想继续游戏”,如果用户输入“N”则结束游戏,否则继续游戏;依次循环;
代码实现:
main_number = 78
count = 3
while count:
guess_number = int(input("guess_number:") )
if guess_number == main_number:
print("yes,you got it")
break
elif guess_number > main_number :
print("too big")
else:
print("too small")
count -= 1
if count == 0:
continue_confirm = input("Do you want to keep guessing?")
if continue_confirm != 'n':
count = 3
六、模块初识
模块:通俗来说就是库,有点类似于函数集合。Python的模块大概分为两种,一种是标准库,一般在lib文件夹下;另一种是第三方库,一般在lib\\site-packages文件夹下。
Python的标准库例如sys和os库。再引入库的时候语法如下:import os
如果要引入自己写的库,一种方法是将库放在与.py文件同级目录下,这样显然很不方便。解决办法是:(1)将你自己的库拷贝到site-packages文件夹里(2)修改环境变量,增加一个路径
八、.PYC
在了解.PYC之前,先了解一下编译性语言和解释性语言的区别:
因为计算机不能理解高级语言,只能直接理解机器语言,所以要将高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。这个翻译的方式有两种:一种是编译,一种是解释。这两种方式只是翻译的时间不同。

初学Python(第一课)的更多相关文章
- <-0基础学python.第一课->
初衷:我电脑里面的歌曲很久没换了,我想听一下新的歌曲,把他们下载下来听,比如某个榜单的,但是一首一首的点击下载另存为真的很恶心 所以我想有没有办法通过程序的方式来实现,结果还真的有,而且网上已经有有人 ...
- Python 第一课笔记
1.Hello World程序的两种方法 在windows下执行 1.编辑器里输入,不用编译 print("Hello World!") 直接就可以运行 2.可以 ...
- 初学Python——第一节课
一.Python语言的特性: 1.与C语言不同,Python语言是一门解释性语言.程序在执行过程中,执行一步.编译一步. 2.Python是一个动态类型语言,不需要定义变量的数据类型. 3.Pytho ...
- 初学python第一天
在学习了c++,java后自己又找到一门面向对象的技术.没错,它就是python.首先介绍一下自己所用的python版本,自己在Python官网http://www.python.org下载了IDLE ...
- Python第一课
一.模块的常用方法 __name__ #主模块name值main __file__ #文件所在的路径+文件名 __doc__ #文件级别的注释 二.函数 参数 参数默认值 可变参数 ...
- python 第一课 helloworld
#!/usr/bin/env python #-*-coding:utf-8-*- #以上是配置编写环境的开始 #第一行env表示运行当前环境变量内的python版本(2.x or 3.x) #第二行 ...
- python第一课——关于python的一些概念
day01(上午): 1.学习方法(建议): 1).不要依赖于我的视频,绝对不要晚上将视频全部在过一遍 2).上课不要记笔记,而且不要用纸质的笔记本去整理笔记 3).不要只看不敲,代码方面我们需要做到 ...
- python第一课--基础知识
python简介 Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的 ...
- Python 第一课
Python语言特点: 优雅,明确,简单 适合开发: Web网络和各种网络服务 系统工具和脚本 作为胶水语言把其他语言开发的模块包装起来方便使用 Python2.7.10的安装(path环境变量) ...
- python 第一课作用
1.使用while循环输入 1 2 3 4 5 6 8 9 10 x=0while x<10: x=x+1 if x==7: print(' ') continue print(x)#学 ...
随机推荐
- Java - 路线图
java语言基础 基本语法 面向对象思想 mysql数据库基础 jdbc操作 java高级技术 java集合框架 多线程 网络编程 sql深入,索引,sql优化 javaweb servlet jsp ...
- linux 中nvme 的中断申请及处理
/** * struct irq_desc - interrupt descriptor * @irq_data: per irq and chip data passed down to chip ...
- java二维码生成技术
自从微信扫描出世,二维码扫描逐渐已经成为一种主流的信息传递和交换方式.下面就介绍一下我学习到的这种二维码生成方式.预计再过不久身份证户口本等都会使用二维码识别了,今天就做一个实验案例: 二维码主要实现 ...
- Windows挂钩注入DLL
注入DLL实现源码:HINSTANCE g_hInstDll = NULL; HHOOK g_hHook = NULL; DWORD g_dwThreadId = 0; #ifdef _MANAGED ...
- Linux指令--ifconfig
许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改.Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config).通常需 ...
- 二、Html基本语法
1,XHTML的基本结构和规则 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < ...
- 企业级分布式存储应用与实战FastDFS实现
FASTDFS是什么 FastDFS是由国人余庆所开发,其项目地址:https://github.com/happyfish100 FastDFS是一个轻量级的开源分布式文件系统,主要解决了大容量的文 ...
- shell第一篇
前两天不停的再看内核相关的内容,了解内核的形成.内核的执行流程.内核的作用,结果是舍近求远. 其实我只是想了解一下shell的工作,shell与内核有关,但并不需要我么真正去做什么,至少对于我这样额初 ...
- 【转】shell学习笔记(三)——引用变量、内部变量、条件测试、字符串比较、整数比较等
1.env显示当前的环境变量 2.PS1='[\u@\h \w \A] \$' 可以设置bash的命令与提示符. 3.echo $$ 显示当前bash的PID号 4.echo $?显示上一条指令的回传 ...
- 2017noip普及组赛前注意事项总结
petr 大神镇场 距人生第一场noip只差4天半了(好紧张) 总结几下四道题的做题策略 NO1 第一题一般是送分的,认真读题,别太草率,多想几遍再动手,把重要的地方圈一圈.画一画,自己找几个数据多试 ...