python热爱者

初识python

2018-05-10  本文已影响73人  0a2868f025e0

1.Python简介


Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。

现今,许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。

python语言特性

python,是一门动态语言,是高级程序设计语言的一个类别,它是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力。众所周知的ECMAScript(JavaScript)便是一个动态语言,除此之外如PHP、Ruby等也都属于动态语言。

那么Python适合开发哪些类型的应用呢?

  • 网络应用,包括网站、后台服务等等;
  • 许多日常需要的小工具,包括系统管理员需要的脚本任务等等;
  • 人工智能以及数据分析方面的体系;
Python的缺点
  • 和C程序相比非常慢,运行速度慢。
  • 代码不能加密;
Python的标准写法

要使得系统识别python,一般要加入:

!/usr/bin/env python3
-- coding: utf-8 --
此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,我们后面会继续讲到。

2.Python的输入与输出

任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息。有了输出,程序运行后才能告诉用户任务的结果。输入是Input,输出是Output,因此,我们把输入输出统称为Input/Output,或者简写为IO。

input()和print()是在命令行下面最基本的输入和输出,因此python也不例外,python使用input()方法作为输入,print作为输出。在python中print()方法类似c程序,现在来看下以下例子。

打印:
print("Hellow World")
输出:
Hellow World!
打印:
count=123456L
print(count)
输出:
123456
打印:
print("Hellow,count)
输出:
Hellow,welcome to china,my name is richsjeson,how old are you?
打印:
count=123456L
print(count)
输出:
123456

接下来来使用input(),input()支持让你显示一个字符串来提示用户。该使用方式为:input(str),str为要存入的字符串信息;

打印:
username=input("please input username")
输出:
please input username:
输入nick后,打印:
print(username)
输出:
nick

print 格式化

(1). %字符:标记转换说明符的开始
(2). 转换标志:-表示左对齐;+表示在转换值之前要加上正负号;“”(空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充
(3). 最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是,则宽度会从值元组中读出。
(4). 点(.)后跟精度值:如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是
,那么精度将从元组中读出
(5).字符串格式化转换类型

转换类型|含义
-| :-: | -:
d,i| 带符号的十进制整数
o| 不带符号的八进制
u| 不带符号的十进制
x| 不带符号的十六进制(小写)
X| 不带符号的十六进制(大写)
e| 科学计数法表示的浮点数(小写)
E| 科学计数法表示的浮点数(大写)
f,F| 十进制浮点数
g|如果指数大于-4或者小于精度值则和e相同,其他情况和f相同
G |如果指数大于-4或者小于精度值则和E相同,其他情况和F相同
C| 单字符(接受整数或者单字符字符串)
r| 字符串(使用repr转换任意python对象)
s| 字符串(使用str转换任意python对象)

打印:
print("我叫%s,%d岁" % ("aa", 20))
输出:
我叫aa,20岁:
输入nick后,打印:
print(username)
输出:
nick;

Python字符串格式化的两种方式

在python中有两种格式化方案,一种是通过%号,一种是通过{},由于% 比较繁琐不是很好使用,这里建议采用{}.format格式的写法。使用{}比较简单,无需考虑到一些具体的转换因素且性能比使用%好。格式如下:

打印:
print("我叫{},{}岁" .format("aa", 20))
输出:
我叫aa,20岁:
打印:
print("我叫{1},{0}岁" .format("aa", 20))
输出:
我叫20,aa岁:
打印:

class Person:
def __init__(self,name,age):
        self.name,self.age = name,age
def __str__(self):
       return '我叫{self.name}, 今年{self.age}岁了'.format(self=self)
print(Person('aa',20))

输出:
我叫aa,20岁:

3.Python基础数据类型

常量

变量

数字

Python默认自带了次方pow的功能,如果要实现某个数的次方,则为n ** m(n为指数的幂,m为几次方)
如下所示:

打印:
2 ** 7
输出:
128

Division(/)总是返回一个浮点数,如果要直接获得整数结果(丢弃任何分数结果),可以使用// ; 余数则用%:
如下所示:

打印:
17/3
输出:
5.666666666666667
打印:
17//3
输出:
5

1.整数

2.浮点数

3.字符串

4.布尔值

5.空值

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

4.变量和常量

所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量。变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头.

5.课题练习

1.输出n=882和882=n,观察两种方式下的输出情况
2.输出x=y=1,观察输出情况
3.在每一个python语句添加分号结尾,观察输出的
情况
4.在python中,指定两个变量x和y,输出xy和x*y观察输出情况
5.若半径为r的球体积是4/3 * pi *pow(r,3)。求半径为5的球面体积为?

!/usr/bin/env python3
-- coding: utf-8 --
PI=3.1415926;
r=input('please input radio')
r3=int(r) ** 3
print('半径为5的球体面积为{0}'.format(4/3*PI*r3))

6.假设一本书的零售价为$24.5,但书店有40%的折扣,运费则是第一本$3,以后每本85美分。购买60本的总价是?

!/usr/bin/env python3
-- coding: utf-8 --
retail_price=input('please input retail price:')
book_count=input('please input book count:')
#计算一本书打折后的价格
unit_price=float(retail_price)*0.4
book_count_int=int(book_count)  
print('book_count_int:{0}'.format(book_count_int))
unit_count_price=unit_price*book_count_int
#计算书的总价 =书的总价+运费总价
fare_price=3*1+85*(book_count_int-1)
total_price=unit_count_price+fare_price
print('60书的总价为{0}'.format(total_price))  

7.校长上午6:52分离开家,以轻松跑的速度跑1里(即每英里耗时8分15秒),再以节奏跑的速度跑3英里(每英里耗时7分12秒),之后又以放松跑的速度跑1英里,请问校长什么时候回到家吃早饭?

!/usr/bin/env python3
-- coding: utf-8 --
#将时分秒转换为秒
def time_convert(time):
    hour,minute,second=time.strip().split(':')
    return int(hour) * 3600 + int(minute) * 60 + int(second)
#将秒转换为时:分:秒
def second_convert(sec):  
    minute, second = divmod(sec, 60)
    hour, minute = divmod(minute, 60)
    return str(hour)+':'+str(minute)+':' + str(second)  
    
#离家时间
starbeginTime='06:52:00'
#短暂时间
timer=time_convert(starbeginTime)+3*time_convert('00:07:12')+time_convert('00:08:15')*2
time=second_convert(timer)
print('校长回家的时间为:%s' % (time))
上一篇下一篇

猜你喜欢

热点阅读