Python-Day1 Python基础学习
一、Python3.5.X安装
1.Windows
Windows上找度娘搜索“Python for windows下载”就OK了,安装的时候可以勾选设置环境变量,也可以安装完手动设置,这样在cmd中可以直接输入命令使用。
2.Linux
Linux上默认是有Python的,也看你是怎么安装的哈。centos7上面默认是python2.7.x,可以在命令行输入python -V显示版本。所以不用再担心Python的依赖包问题,如果有这个问题,度娘可以解决,在这就不说了,直接进入下载Python3.5.x安装。
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz #可以先打前面的网页上去看看,选好了要安装的包再下载。
tar -zxf Python-3.5.2.tgz
cd Python-3.5.2
./configure --prefix=/usr/local --enable-shared
make
make install
ln –s /usr/local/bin/python3 /usr/bin/python3
/usr/local/lib >> /etc/ld.so.conf.d/local.conf #运行前配置库,安装完发现不能用,打了这两条命令才好,下面那条是刷新动态库。
ldconfig
python -V(python3 --version)
二、学习仪式--Hello world!!!
print(“Hello world!!!”)#这是一个学习语言的仪式O(∩_∩)O哈哈~
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print(“你好,世界!!!”)
第一行是指定解释器,不指出解释器的话./hello.py是会出现错误的,需要以python hello.py执行。#!/usr/bin/python 和 #!/usr/bin/env python 的区别是:前者相当于写死了python解释器的位置,后者会去环境变量下找python解释器,也就是说#!/usr/bin/python只会找/use/bin下的python解释器,而后一个会找所有环境变量中的python。如果说/usr/bin/下没有python,env有/usr/bin/ 和 /usr/local/bin/ ,那么#!/usr/bin/env python就会使用/usr/local/bin/python解释器,而#!/usr/bin/python找不到解释器。
如果是Python2不打第二行会出现ASCII码的错误,要声明使用utf-8编码。
三、变量及变量赋值
1.变量的命名规范
- 驼峰式
驼峰式:ConsumerUserName 就是每个单词的首字母大写
- 下标式
下标式: consumer_user_name 就是每个单词之间都用下划线隔开
- 不能使用的变量(python预留的关键字)
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for','from','global', 'if','import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
- 设定一个不想被更改的变量,我们可以是用全大写,比如:PIE = 3.141592653
2.变量的赋值
当创建一个变量的时候并赋予这个变量一个值,计算机做了如下的操作:开辟一块内存空间cheng,并把Name变量指向这个内存空间,当把这个Name变量赋值给另一个变量Name2时候,是告诉这个Name2变量指向cheng的内存空间,而不是指向Name,所以当Name发生改变,Name2的值不发生变化。
>>> Name = 'cheng' #先在内存中开辟一块空间并把变量指向Name
>>> id(Name) #查看一下这块空间的内存地址是多少
51403272
>>> Name2 = Name #我们把变量Name2也指向Name这个变量
>>> id(Name2)
51403272
>>> Name = 'er' #开辟第二块空间,并把Name变量指向新的内存空间
>>> id(Name) #查看Name指向的内存地址
51335216
>>> id(Name2) #在查看Name2指向的内存地址
51403272
四、输入输出
name = input("name:") #输入
#2.x里面的raw_input在3.x已经不用了,3.x默认输入时字符格式
print(type(name)) #输出name的类型
age = int(input("age:") ) #强制转换为int类型
print(type(age))
job = input("job:")
salary = input("salary:")
#占位符方式格式化输出
info = '''
-------- info of %s -----
Name:%s
Age:%d
Job:%s
Salary:%s
''' % (name,name,age,job,salary)
#指定变量名称与值的格式化输出
info2 = '''
-------- info2 of {_name} -----
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name=name,
_age=age,
_job=job,
_salary=salary)
#指定变量位置的格式化输出
info3 = '''
-------- info3 of {0} -----
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)
print(info,info2,info3) '''这里是注释的输出结果,多行注释就是这样,单行是“#”号
name:root
<class 'str'>
age:23
<class 'int'>
job:IT
salary:6666666 -------- info of root -----
Name:root
Age:23
Job:IT
Salary:6666666 -------- info2 of root -----
Name:root
Age:23
Job:IT
Salary:6666666 -------- info3 of root -----
Name:root
Age:23
Job:IT
Salary:6666666
'''
import getpass
passwd = getpass.getpass('please input your passwd:')
print (passwd)
'''这种输入的密码是隐藏的,运行结果如下:
C:\Users\CHENG\PycharmProjects\untitled>python b.py
please input your passwd:
123
'''
五、流程控制
python中使用强制缩进来区分流程控制,如果本身是父级的语句一定要顶格写。
1、if、if ... else、if ... elif ... else判断
2、while循环
3、for循环
用下述代码来记录上述三种流程控制结构:
user = 'cheng'
passwd = ''
user_input = input("Your username:")
passwd_input = input("Your password:")
if user_input == user and passwd_input == passwd:
print ("Welcome %s login to our system!" %user_input)
elif user_input == 'guest':
print ("Welcome %s login to our system!,but you only have read_only access,enjoy!" %user_input)
else:
print ("Incalid username!Byebye!")
age_of_cheng = 23
count = 0
while count <3:
guess_age = int(input("guess age:") )
if guess_age == age_of_oldboy :
print("yes, you got it. ")
break
elif guess_age > age_of_oldboy:
print("think smaller...")
else:
print("think bigger!")
count +=1
else:
print("you have tried too many times..fuck off")
age_of_cheng = 23
for i in range(3):
guess_age = int(input("guess age:") )
if guess_age == age_of_oldboy :
print("yes, you got it. ")
break
elif guess_age > age_of_oldboy:
print("think smaller...")
else:
print("think bigger!")
else:
print("you have tried too many times..fuck off")
import random
user=['root','administrator','others']
passwd=['','','o']
user_input=input("请输入您的用户名:")
#判断用户是否存在或者是否已经锁定
f=open('deny.txt','a')
d=open('deny.txt').read()
if user_input in user:
print("欢迎%s使用登录接口" %user_input)
if user_input in d:
print("然而%s用户已锁定,正在退出。。。" %user_input)
exit()
else:
print("%s用户不存在,正在退出。。。" %user_input)
exit()
#判断用户密码是否正确,循环三次错误锁定
i=0
while i<3:
passwd_input=input("请输入您的密码:")
if passwd_input == passwd[user.index(user_input)]:
print("登录成功,欢迎")
break
else:
print("输入错误")
i+=1
else:
print("输错次数过多,用户名已锁定")
# f=open('deny.txt','a')
f.write(user_input)
f.write(',')
f.close()
诸君共勉:
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。-------《老子》
Python-Day1 Python基础学习的更多相关文章
- python,Day1,基础1
主要内容 1.python介绍 2.发展史 3.安装 4.hello world程序 5.变量 6.用户输入 7.模块 8.数据类型 9.数据运算 10.if...else语句 11.while循环 ...
- Python day1 ---python基础1
本节内容 Python介绍 编程语言分类 Hello World程序 变量 字符编码 用户输入 数据类型初识 表达式if ...else语句 表达式while 循环 表达式for 循环 break a ...
- python day1 python介绍,安装及运算符
目录 python day1 1. 不同编程语言的对比 2. 为什么学python? 3. python的种类 4. python的安装(windows系统) 5. 导入模块或包 6. pyc文件 7 ...
- Spark (Python版) 零基础学习笔记(一)—— 快速入门
由于Scala才刚刚开始学习,还是对python更为熟悉,因此在这记录一下自己的学习过程,主要内容来自于spark的官方帮助文档,这一节的地址为: http://spark.apache.org/do ...
- python 标准库基础学习之开发工具部分1学习
#2个标准库模块放一起学习,这样减少占用地方和空间#标准库之compileall字节编译源文件import compileall,re,sys#作用是查找到python文件,并把它们编译成字节码表示, ...
- Python day1 ---python基础1.1
1.模块初识2..pyc是个什么鬼?3.数据类型初识 4.数据运算5.入门知识拾遗 1.模块初识 sys模块 import sys print(sys.path) #打印环境变量 'D:\\Pycha ...
- Python编程:基础学习常见错误整理
# Python学习之错误整理: # 错误一:# TypeError: cannot concatenate 'str' and 'int' objects# 不能连接str和int对象age = 2 ...
- Spark (Python版) 零基础学习笔记(二)—— Spark Transformations总结及举例
1. map(func) 将func函数作用到数据集的每个元素,生成一个新的分布式的数据集并返回 >>> a = sc.parallelize(('a', 'b', 'c')) &g ...
- Python学习---Python的框架基础学习
框架基础 框架实质: 所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端 B/S结构的响应: import socket def handle_requ ...
- python+request 常用基础学习笔记
1.pycharm,避免控制台输出的json内容中文出现乱码. #注:乱码为Unicode格式:\u6d4b\u8bd5.加入如下代码后正确返回中文:测试 get_result = r.json() ...
随机推荐
- C#面向对象(一) 封装
一.什么叫做面向对象封装? 封装的概念:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别. 二.面向对象封装有什么好处(为什么要封装)? 封装的目的:是增强安全性和简化 ...
- 安装tomcat 证书
创建证书keystore 1) Mdmc用户登录服务器,执行如下命令: keytool -genkey -v -alias tomcat -keyalg RSA -keystore tomc ...
- LeetCode 338
Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the ...
- 如何在Java中定义常量(Constant)
原本引自 http://blog.csdn.net/autofei/article/details/6419460 /** * Method One */ interface ConstantInt ...
- poj 2492 并查集
思路:当a,b的根节点find(a)与find(b)不同时,就直接将这两个数连接起来.由于每个树的根节点的kind值一定为0,所以,对于a,b的kind值相同,我们就讲其中一个根的kind值变为1,当 ...
- saltstack实战4--综合练习2
Saltstack配置管理-功能模块-安装haproxy 配置管理,我们分了3层 最底层是系统初始化部分 倒数二层是功能模块,就是具体的产品的安装了 假如你的环境需要nginx,php,memcach ...
- hihocoder 1066 无间道之并查集
#1066 : 无间道之并查集 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 这天天气晴朗.阳光明媚.鸟语花香,空气中弥漫着春天的气息……额,说远了,总之,小Hi和小H ...
- 核心概念 —— 服务提供者
1.简介 服务提供者是Laravel应用启动的中心,你自己的应用以及所有Laravel的核心服务都是通过服务提供者启动. 但是,我们所谓的"启动"指的是什么?通常,这意味着注册事物 ...
- Ajax中解析Json的两种方法详解
eval(); //此方法不推荐 JSON.parse(); //推荐方法 一.两种方法的区别 我们先初始化一个json格式的对象: var jsonDate = '{ "name&qu ...
- 牛客_Java_值传递(拷贝)不该表原来变量+传引用的话会一起改变
总结: 许多编程语言都有2种方法将参数传递给方法------按值传递和按引用传递. 与其他语言不同,Java不允许程序员选择按值传递还是按引用传递各个参数,基本类型(byte--short--int ...