讯享网
快,关注这个公众号
一起涨姿势
1.输入和输出
2.数据类型介绍
3.变量和常量
4.格式化输出
1. 输入和输出
输入:name=input()
输出:print()函数 print(“字符串”) print(name) name为变量名
>>> name=input(‘your name’) your name May >>> print(‘hello’,name) hello May >>> |
但是程序运行的时候,没有任何提示信息告诉用户:“嘿,赶紧输入你的名字”,这样显得很不友好。幸好,input()可以让你显示一个字符串来提示用户,于是我们把代码改成:
name=input(‘please input your name: ‘) print(‘hello’,name) |
F:\python_script>python new.py please input your name: May wei hello May wei |
s = input(‘birthyear: ‘) birth = int(s) if birth < 2000: print(‘00前’) else: print(‘00后’) |
input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数。Python提供了int()函数来完成这件事情
但如果输入的字符串,int()函数发现一个字符串并不是合法的数字时会报错
如何检查并捕获程序运行期的错误呢?后面的错误和调试会讲到。
小结
任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果。
输入是Input,输出是Output,因此,我们把输入输出统称为Input/Output,或者简写为IO。
input()和print()是在命令行下面最基本的输入和输出,但是,用户也可以通过其他更高级的图形界面完成输入和输出,比如,在网页上的一个文本框输入自己的名字,点击“确定”后在网页上看到输出信息。
2.数据类型
整数
当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等
浮点数
小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的
对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差
布尔值(True、False)
布尔值可以用and、or和not运算

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值
字符串
是以单引号’或双引号”括起来的任意文本,比如’abc’,”xyz”等等。请注意,”或”“本身只是一种表示方式,不是字符串的一部分,因此,字符串’abc’只有a,b,c这3个字符。如果’本身也是一个字符,那就可以用”“括起来,比如”I’m OK”包含的字符是I,’,m,空格,O,K这6个字符。
Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在--。
Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。
此外,Python还提供了列表、字典、集合、元组等类型,还允许创建自定义数据类型
转义符 和换行
如果字符串内部既包含’又包含”怎么办?可以用转义字符\来标识,比如:
‘I\’m \“OK\”!’
表示的字符串内容是:
I’m “OK”!
转义字符</code>可以转义很多字符,比如\n表示换行,\t表示制表符,字符</code>本身也要转义,所以\表示的字符就是</p>
Python还允许用r”表示“内部的字符串默认不转义
如果字符串内部有很多换行,用\n写在一行里,觉得不好阅读,可以用”‘…“‘的格式表示多行内容,可以自己试试:
>>> print(”‘line1
… line2
… line3”’)
line1
line2
line3
上面是在交互式命令行内输入,注意在输入多行内容时,提示符由>>>变为…,提示你可以接着上一行输入。如果写成程序,就是:
print(“‘line1
line2
line3”’)
多行字符串,必须用’’’ ……’’’ 3个单引号。。
3.变量和常量
变量不仅可以是数字,还可以是任意数据类型
变量名必须是大小写英文、数字和的组合,且不能用数字开头
给变量赋值:等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量
这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言,赋值语句如下(// 表示注释):
int a = 123; // a是整数类型变量
a = “ABC”; // 错误:不能把字符串赋给整型变量,而Python就可以。
最后,理解变量在计算机内存中的表示也非常重要。当我们写:
a = ‘ABC’时,Python解释器干了两件事情:
讯享网
- 在内存中创建了一个
‘ABC’的字符串;
- 在内存中创建了一个名为
a的变量,并把它指向‘ABC’。
也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,例如下面的代码:
讯享网a = ‘ABC’b = a讯享网a = ‘XYZ’print(b)最后一行打印出变量b的内容是‘ABC’,而不是‘XYZ’。

常量:通常用全部大写的变量名表示常量
PI = 3.
其实PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。
小结:Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。
对变量赋值x = y是把变量x指向真正的对象,该对象是变量y所指向的。随后对变量y的赋值不影响变量x的指向。
4.格式化输出
最后一个常见的问题是如何输出格式化的字符串。我们经常会输出类似‘亲爱的xxx你好!你xx月的话费是xx,余额是xx’之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。
在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下:
讯享网>>> ‘Hello, %s’ % ‘world’‘Hello, world’
讯享网>>> ‘Hi, %s, you have \(%d.'<code class="hljs shell"><span class="hljs-meta" style="color: rgb(43, 145, 175);"> %</span><span class="bash"> (</span></code>'Michael'<code class="hljs">, </code><code class="hljs">)</code></pre><pre style="white-space: pre-wrap;overflow-wrap: break-word;">'Hi, Michael, you have \).’你可能猜到了,%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
常见的占位符有:
%d
整数
%f
浮点数
%s
字符串
%x
十六进制整数
其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:
>>> ‘%2d-%02d’ % (3, 1)讯享网’ 3-01’
>>> ‘%.2f’ % 3.讯享网‘3.14’
如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串:
>>> ‘Age: %s. Gender: %s’ % (25, True)讯享网‘Age: 25. Gender: True’
有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%:
>>> ‘growth rate: %d %%’ % 7讯享网‘growth rate: 7 %’
练习题
小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,并用字符串格式化显示出‘xx.x%’,只保留小数点后2位:
s1=int(input(‘去年的成绩’))
s2=int(input(‘今年的成绩’))
r=(s2-s1)/s1*100
if r>0:
print(‘成绩提高了%.2f%%’%r)
elif r==0:
print(‘持平’)
else:
print(‘降低了%.2f%%’%r)
Python的字符串
搞清楚了令人头疼的字符编码问题后,我们再来研究Python的字符串。
在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言,例如:
>>> print(‘包含中文的str’)讯享网包含中文的str
对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:
>>> ord(‘A’)讯享网65
>>> ord(‘中’)讯享网20013
>>> chr(66)讯享网‘B’
>>> chr(25991)讯享网‘文’
如果知道字符的整数编码,还可以用十六进制这么写str:
>>> ‘\u4e2d\u6587’
讯享网‘中文’
两种写法完全是等价的。
ღ The End ღ
我们一起去松勤学测试

在右下角戳一个小花花
你是最好看的

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/140147.html