day1简述、输入输出、运算符、条件语句、文件读写、三元运算
文章目录
- 1.Python 简述
- 2.变量
- 3.输入输出
- 4.数据运算
- 5. 条件语句 if..else、elif 循环语句 for、while
- 6.文件读写
- 7.三元运算
1.Python 简述
Python 是一种动态解释性的强类型定义语言。
所谓动态:
动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。
静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。
所谓解释性:
编译是将源程序翻译成可执行的目标代码,翻译与执行是分开的;而解释是对源程序的翻译与执行一次性完成,不生成可存储的目标代码。在程序运行的前一刻,还只有源程序而没有可执行程序;而程序每执行到源程序的某一条指令,则会有一个称之为解释程序的外壳程序将源代码转换成二进制代码以供执行,总言之,就是不断地解释、执行、解释、执行……所以,解释型程序是离不开解释程序的。
解释具有良好的动态特性和可移植性,比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上,则程序不用改动就可以在移植了解释器的系统上运行。同时解释器也有很大的缺点,比如执行效率低,占用空间大,因为不仅要给用户程序分配空间,解释器本身也占用了宝贵的系统资源。
所谓强定义类型:
强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。
2.变量
python变量名的命名规则与其他语言相同。且由于是强定义类型语言,声明变量时不用声明变量类型:
name = "yle"
age = 22
PIE = 3.1415 #常量名需要大写
#三个单引号或双引号为整块注释,python 中单双引号一致 ,当变量赋予注释时,该变量就是字符串了
msg = '''
name1 = "y"
name2 = "le"
我的 name is yle
'''
print(msg)
3.输入输出
输入:
输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:
import getpass# 将用户输入的内容赋值给 name 变量
pwd = getpass.getpass("请输入密码:")# 打印输入的内容
print(pwd)
不过 getpass 在 PyCharn 中不好使
name = input("name:")
'''python是一种强类型语言,输入的变量默认为是string类型的,若不进行强制转换则永远不会改变'''
age = int(input("age:"))
print(type(age)) #int
age2 = input("age2:")
print(type(age2)) #string
job = input("job:")
salary = input("salary:")
输出:
除了用 + 号进行字符串拼接之外,python 中有三种使用占位符的方法:
1)
info = '''
------ info of %s ------
name = %s
age = %d
job = %s
salary = %s
'''%(name,name,age,job,salary)
print(info)
2)
info2 = '''
------ info2 of {_name} ------
name = {_name}
age = {_age}
job = {_job}
salary = {_salary}
'''.format(_name = name,_age = age,_job = job,_salary = salary)
print(info2)
3)
info3 = '''
------ info3 of {0} ------
name = {0}
age = {1}
job = {2}
salary = {3}
'''.format(name,age,job,salary)
print(info3)
4.数据运算
算数运算:
比较运算:
赋值运算:
逻辑运算:
成员运算:
身份运算:
位运算:
运算符优先级:
5. 条件语句 if…else、elif 循环语句 for、while
场景1:用户登录验证
_username = 'yle'
_password = '123'username = input("username:")
#password = getpass.getpass("password:")
password = input("password:")
if _username == username and _password == password:print("Welcome user {name} login...".format(name = username))
else:print("Invalid username or password!")
场景2:猜年龄游戏
age_of_oldboy = 56
chance = 3
while chance > 0:age = int(input("age:"))if age == age_of_oldboy:print("yes,you got it!")breakelif age < age_of_oldboy:print("too smaller")else:print("too bigger")chance -= 1print("you have {times} times".format(times = chance))
else: #else 甚至能用于 whileprint("you have tried too many times...")
for i in range(10): # i 从 0 开始print("loop",i)
print("----------------------")
for i in range(0,10,2): #跳两个打印一个print("loop",i)
print("----------------------")
for i in range(0,10,3): #跳三个打印一个print("loop",i)
6.文件读写
open 函数
必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。
语法:
file object = open(file_name [, access_mode][, buffering])
各个参数的细节如下:
file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。
access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读( r )。
buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
不同模式打开文件的完全列表:
t 文本模式 (默认)。x 写模式,新建一个文件,如果该文件已存在则会报错。b 二进制模式。+ 打开一个文件进行更新(可读可写)。U 通用换行模式(不推荐)。r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件
如图片等。r+ 打开一个文件用于读写。文件指针将会放在文件的开头。rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果
该文件不存在,创建新文件。wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会
被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该
文件不存在,创建新文件。wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被
删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写
入到已有内容之后。如果该文件不存在,创建新文件进行写入。ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的
内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如
果该文件不存在,创建新文件用于读写。ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存
在,创建新文件用于读写。
file对象的属性:
close()方法
File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。
当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。用 close()方法关闭文件是一个很好的习惯。
语法:
fileObject.close()
write()方法
write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
write()方法不会在字符串的结尾添加换行符(’\n’):
语法:
fileObject.write(string)
在这里,被传递的参数是要写入到已打开文件的内容。
例子:
# 打开一个文件
fo = open("foo.txt", "w")
fo.write( "www.runoob.com!\nVery good site!\n")# 关闭打开的文件
fo.close()
上述方法会创建foo.txt文件,并将收到的内容写入该文件,并最终关闭文件。如果你打开这个文件,将看到以下内容:
$ cat foo.txt
www.runoob.com!
Very good site!
read()方法
read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
语法:
fileObject.read([count])
在这里,被传递的参数是要从已打开文件中读取的字节计数。该方法从文件的开头开始读入,如果没有传入count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾。
例子:
# 打开一个文件
fo = open("foo.txt", "r+")
str = fo.read(10)
print "读取的字符串是 : ", str
# 关闭打开的文件
fo.close()
文件定位
tell()方法告诉你文件内的当前位置, 换句话说,下一次的读写会发生在文件开头这么多字节之后。
seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。from变量指定开始移动字节的参考位置。如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。
例子:
# 打开一个文件
fo = open("foo.txt", "r+")
str = fo.read(10)
print "读取的字符串是 : ", str# 查找当前位置
position = fo.tell()
print "当前文件位置 : ", position# 把指针再次重新定位到文件开头
position = fo.seek(0, 0)
str = fo.read(10)
print "重新读取字符串 : ", str
# 关闭打开的文件
fo.close()
重命名和删除文件
Python的os模块提供了帮你执行文件处理操作的方法,比如重命名和删除文件。要使用这个模块,你必须先导入它,然后才可以调用相关的各种功能。
rename()方法:rename()方法需要两个参数,当前的文件名和新文件名。
语法:
os.rename(current_file_name, new_file_name)
remove()方法
你可以用remove()方法删除文件,需要提供要删除的文件名作为参数。
语法:
os.remove(file_name)
7.三元运算
result = 值1 if 条件 else 值2
例:
a,b,c = 1,3,5
d = a if a > b else c
print(d) # d 为 5
day1简述、输入输出、运算符、条件语句、文件读写、三元运算相关推荐
- 文件操作 - 三元运算/chardet/文件操作r w/文件的操作方法
Alex:读书可以改变一个人的气质 读书:豆瓣: 1年读20本 你的问题:想法太多,读书太少 书:追风筝的人,白鹿原 电影:阿甘正传 辛德勒名单 ------------------------- ...
- 【Python】35个经典案例:吃透Python中的if条件语句~
公众号:尤而小屋 作者:Peter 编辑:Peter 在生活中总是会听到这样的话: 如果我上课认真一点,英语肯定可以及格 如果我努力锻炼,肯定可以减到100斤 如果我技术过硬,早就进大厂了-.. 其实 ...
- Python基础(三)深浅拷贝、函数、文件处理、三元运算、递归、冒泡排序
本章内容: 深浅拷贝 函数(全局与局部变量) 内置函数 文件处理 三元运算 lambda 表达式 递归(斐波那契数列) 冒泡排序 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝 ...
- 一文搞懂python3基础大全(变量,标准数据类型,标识符,行与缩进,运算符和表达式,条件语句if,循环语句,函数,文件,面向对象,错误和异常,模块)
2.Python3基础 2.1.变量 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建.变量没有类型,"类型"是变量所指的内存中对象的类型 ...
- Scale 编程基础 A(变量声明、基本数据类型、运算符、文件读写、分支与循环、数据结构)
Scala: 变量声明.基本数据类型.运算符.文件读写.分支与循环.数据结构(List/Tuple/Range/Vector/Set/Map)与迭代器 变量声明 val:是不可变的,在声明时就必须被初 ...
- 【Python 基础教程 20】全面掌握Python3输入输出:从入门到高级的实用指南(文件读写,Excel读写,Markdowm文件读写)
目录标题 1. 简介 1.1 Python3 输入输出的定义 1.2 输入输出的重要性和常见应用场景 2. 标准输入输出 2.1 介绍标准输入(stdin) 2.2 介绍标准输出(stdout) 2. ...
- shell编程之条件语句(文件测试,test命令,字符串和逻辑测试,if单支语句,if双支语句,if多支语句,case命令,用if写跑步小实验)
文章目录 shell编程之条件语句 条件测试 test命令 整数值测试 free -m 提供了更简洁的查看系统内存使用情况: 字符串和逻辑测试 字符串 逻辑测试 一元运算符,二元运算符和三元运算符 i ...
- Java修饰符、Java运算符、Java循环语句、Java条件语句、Java switch case
Java 修饰符 Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class ...
- Shell 入门(变量/条件语句/运算符)
代码规范 注释 # 文件后缀 .sh 变量 #定义变量 等号两边不能有空格 class_name="123" #只读变量 cc='12' readonly cc #变量的使用 变量 ...
最新文章
- web-httpd2.4编译安装
- 成功解决ValueError: Shape of passed values is (1, 332), indices imply (1, 1)
- Tomcat服务器环境配置--查看bat文件(解决Neither the JAVA_HOME nor the JRE_HOME environment variable is defined问题)
- 计算机互联网行业高校,9家互联网巨头最青睐的重点大学汇总,网友:比各种排名强太多了...
- linux下kafka与zookeeper集群部署
- [单刷 APUE 系列] 第十四章——高级 I/O
- mysql.proc_升级后直接更改mysql.proc表
- 可以在手机预览ps设计稿的软件
- 通过编译TPC-DS生成测试数据并发送到benchmark进行查询测试
- 那些年我们一起追逐过的安全工具
- 图书条形码跟ISBN号互相转换的类
- Mysql的explain,你真的会用吗?
- SeleniumWebDriver驱动2345浏览器
- 面试官最容易提出的20个问题
- 人工智能方向本科生如何查看论文?
- html心碎粒子特效,system-data.html
- 视频滚动字幕怎么批量添加
- 分数化小数计算机在线,循环小数化分数计算器
- 双非计算机专业考研失败总结
- Android - TextView Ellipsize属性
热门文章
- China SAFe DAY 2020中国规模化敏捷大会圆满落幕
- 用Leangoo项目管理工具怎么做多团队大规模Scrum敏捷开发?
- 多人编辑、共享思维导图
- 腾讯员工上半年人均月薪 7.8 万,网友:别人拿月薪我拿年薪。。。
- 字节二面 | 26图揭秘线程安全
- 一次非常有意思的 SQL 优化经历!
- Kafka:你必须要知道集群内部工作原理的一些事!
- 【高并发】为何高并发系统中都要使用消息队列?这次彻底懂了!
- 老p7,来阿里快十年了,怎么着资产都上千万了,但是过的无比拮据
- c语言运行时显示内存不足,请问:c或c++运行时 遇到虚拟内存不足时咋办,帮优化下代码...