一、初探python

print('Hello,靓仔!')

不得不说,这句话还是so real的(逃

二、Python中的变量

1.什么是变量?(what)

  量:记录某种现实世界中事物的某种状态;

  变:事物的某种状态是可以发生变化的。

2.为何要用变量?(why)

  为了让计算机能够像人一样记录下来事物的某种状态

3.如何用变量?(how)

  原则:先定义,后引用。

  • 那么如何先定义变量呢?

eg:age=18

   从上面的例子中可以看出,定义变量主要由三部分组成:

   

①变量名:是访问到值的唯一方式;
②赋值符号=:将变量值的内存地址绑定给变量名;
③变量的值:用来表示事物的某种状态,使我们要储存的数据。
  • 后引用:只有在变量定义后,我们才可以引用变量,否则一切都是镜花水月---空。

4.变量名的命名:

  大前提:变量名应该对值具有描述性的效果。

  • 变量名只能是字母、数字或者下划线的任意组合;
  • 变量名的第一个字符不能是数字;
  • 关键字不能作为变量名
Python3中共有33个关键字,不能作为变量名使用:False,None,True,
class,finally,nonlocal,return,continue,for,lambda,try,def,from,is,while,and,
del,global,not,with,as,elif,if,or,yield,assert,else,import,pass,break,except,in,raise。
(注意前三个首字母为大写!)
  • 命名风格主要有两种:

    ①驼峰体:OldboyOfAge=66

    ②纯小写字母+下划线:oldboy_of_age=66

    推荐用第二种命名方式。

三、与用户交互

与用户交互,无非两点:用户输入与程序输出。

用户输入:

name=input('请输入用户名:')

程序输出:

print(name)  # 输出上面的用户名

四、今天作业的代码(格式化输出)

# !/usr/bin/python3
# -*-coding:UTF-8-*-
# 格式化输出练习
name=input('请输入您的名字:')
while True:
age = input('请输入您的年龄:')
if age.isdigit():
break
else:
print('输入错误!请重新输入!')
sex=input('请输入您的性别:')
job=input('请输入您的工作:')
hobby=input('请输入你的一项爱好:')
info="""
------------info of %s---------
Name: %s
Age: %s
Sex: %s
Job: %s
Hobby: %s
--------------end--------------
"""%(name,name,age,sex,job,hobby)
print(info)

One more thing:

字符串的格式化:

①  字符串的格式化使用百分号(%)实现。(%也可以用作模(求余数)操作符)。

>>> print('hello,%s'%'world')

hello,world

>>> print('小伙今年%s岁了'%18)

小伙今年18岁了

%左边放置了一个待格式化的字符串,右边放置的是希望格式化的值,格式化的值可以是一个字符串或者数字。

格式化字符串的%s部分称为转换说明符,标记了需要放置转换值的位置,通用术语为占位符。

字符串格式化符号:

符号

描述

%c

格式化字符及其ASCII码

%s

格式化字符串

%d

格式化整数

%u

格式化无符号整数

%o

格式化无符号八进制数

%x

格式化无符号十六进制数

%X

格式化无符号十六进制数(大写)

%f

格式化浮点数字,可指定精确度

%e

用科学记数法格式化浮点数

%E

作用同%e,用科学记数法格式化浮点数

%g

%f和%e的简写

%G

%f和%E的简写

%p

用十六进制数格式化变量的地址

使用%f时,若不指定精度,则默认输出6位小数。

>>> print('圆周率的值为:%f'%3.14)

圆周率的值为:3.140000

>>> print('圆周率的值为:%.2f'%3.14)

圆周率的值为:3.14

指定2位小数的格式为%.2f。即为英文格式下的点加上希望保留的小数位数。

在python中,字符串中的%是转换说明符,如果要输出%,就需要格式化字符串%,从而需要使用%%。如:

>>> print('经济增长为%.2f%%'%1.23)

经济增长为1.23%

功能类似于下例:

>>> print('输出百分号%s'%'%')

输出百分号%

②  字符串格式化元组:

格式化操作符的右操作数可以是任何元素。

如果右操作数是元组,其中每一个元素都会被单独格式化,每个值都需要一个对应的转换说明符。例如:

>>> print('今年是%s年,我%d岁了,又变%s了。'%(2018,18,'帅'))

今年是2018年,我18岁了,又变帅了。

由上例可知,在有多个占位符的字符串中,可以使用元组传入多个格式化值。如果需要转换的元组作为转换表达式的一部分存在,就必须将他们用圆括号括起来,否则会出错。

注意:如果使用列表或其他序列代替元组,序列就会被解释为一个值。只有元组和字典可以格式化一个以上的值。

基本转换说明符:

(1)%字符:标记转换说明符开始;

(2)转换标志(可选):-表对齐;+表示在转换值之前要加上正负号;“”(空白字符)表示正数之前保留空格;0表示转换值位数不够时用0填充。

(3)最小字段宽度(可选):转换后的字符串至少应该具有该值指定的宽度。如果是*,宽度就会从值元组中读出。

(4)点(.)后跟精度值(可选):如果转换的是实数,精度值表示出现在小数点后的位数;如果转换的是字符串,该数字就表示最大字段宽度;如果是*,精度就会从元组中读出。

(5)转换类型:参见表:字符串格式化符号。

1.简单转换:

>>> print('圆周率π的值:%.2f'%3.14)

圆周率π的值:3.14

>>> print('石油价格为:$%d'%96)

石油价格为:$96

2.字段宽度和精度:

字段宽度是转换后的值所保留的最小字符个数,精度是数字转换结果中应该包含的小数位数或字符串转换后的值所能包含的最大字符个数。

>>> print('圆周率的值为:%10f'%3.141593) #字段宽度为10

圆周率的值为:  3.141593  #字符串宽度为10,被字符串占据八个位置,剩余两个空格

>>> print('保留2位小数,圆周率的值位:%10.2f'%3.1415923)

保留2位小数,圆周率的值位:      3.14

>>> print('保留2位小数,圆周率的值位:%.2f'%3.1415923)

保留2位小数,圆周率的值位:3.14

>>> print('字符串精度获取:%.5s'%('hello world'))  #打印字符串前五个字符

字符串精度获取:hello

字段宽度和精度都是整数,并通过点号(.)分隔。两个都是可选参数,如果给出精度,就必须包括点号(.)。

可以使用*作为字段宽度或精度(或两者都用*),数值会从元组中读出

>>> print('从元组中获取字符串精度:%*.*s'%(10,5,'hello world'))

从元组中获取字符串精度:     hello  #输出字符串宽度为10,精度为5

>>> print('从元组中获取字符串精度:%.*s'%(5,'hello world'))

从元组中获取字符串精度:hello  #输出精度为5

3.符号、对齐和0填充

标表,在字段宽度和精度之前可以放置一个标表,可以是零、加号、减号或空格。

零表示用0进行填充:

>>> print('圆周率为:%010.2f'%3.141593)

圆周率为:0000003.14

减号(-)用来左对齐数值(下例中数字右侧多出了额外的空格,字符串宽度还是10个):

>>> print('圆周率为:%10.2f'%3.141593)

圆周率为:      3.14

>>> print('圆周率为:%-10.2f'%3.141593)

圆周率为:3.14

空格(“ ”)表示在正数前加上空格,可以用于对齐正负数。下例中第一个-5前面有空格。

>>> print(('% -5d'%10)+'\n'+('%-5d'%-10))

10

-10

>>>

加号(+)表示无论是正数还是负数都表示出符号:

>>> print(('宽度前加加号:%+5d'%10)+'\n'+('宽度前加加号:%+5d'%-10))

宽度前加加号:  +10

宽度前加加号:  -10

Python的第二堂课(2)的更多相关文章

  1. Python的第二堂课(1)

    一.编程语言的分类 机器语言:直接使用二进制命令去编写程序. 优点:执行效率高 缺点:开发效率低 汇编语言:用英文标签代替二进制命令去编写程序 优点:开发效率高于机器语言 缺点:执行效率低于机器语言 ...

  2. Python学习第二十七课——写一个和Django框架的自己的框架

    MyWeb框架: from wsgiref.simple_server import make_server def application(environ, start_response): pri ...

  3. Python学习第二十三课——Mysql 表记录的一些基本操作 (查)

    查(select * from 表名) 基本语法: select <字段1,字段2,...> from <表名> where <表达式>; 例如,查询student ...

  4. Python学习第二十一课——Mysql 对数据库的基本操作

    数据库操作(DDL) 在数据库下创建表(create_table) 创建表代码块: CREATE TABLE employee( id TINYINT PRIMARY KEY auto_increme ...

  5. Python学习第二十课——自定property and classmethod

    自定制property class Lazyproperty: def __init__(self,func): # print('==========>',func) self.func=fu ...

  6. Python学习第五堂课

    Python学习第五堂课推荐电影:华尔街之狼 被拯救的姜哥 阿甘正传 辛德勒的名单 肖申克的救赎 上帝之城 焦土之城 绝美之城 #上节内容: 变量 if else 注释 # ""& ...

  7. Python之路第一课Day1--随堂笔记

    课堂大纲: 一.Python介绍 二.发展史 三.Python 2 or 3? 四.安装 五.Hello World程序 六.变量 七.用户输入 八.模块初识 九..pyc是个什么鬼? 十.数据类型初 ...

  8. 大神教你零基础学PS,30堂课从入门到精通

    ps视频教程,ps自学视频教程.ps免费视频教程下载,大神教你零基础学PS教程视频内容较大,分为俩部分: 大神教你零基础学PS--30堂课从入门到精通第一部分:百度网盘,https://pan.bai ...

  9. 小象学院Python数据分析第二期【升级版】

    点击了解更多Python课程>>> 小象学院Python数据分析第二期[升级版] 主讲老师: 梁斌 资深算法工程师 查尔斯特大学(Charles Sturt University)计 ...

随机推荐

  1. iOS蓝牙架构搭建-2

    蓝牙架构的搭建 前言:笔者认为,如果只是单纯的传授大家代码怎么敲,那么大家很有可能在实际开发中难以运用.刚好本人曾经参与过多款智能硬件开发的架构搭建,本小节本人就现场带领大家开发出一个通用的蓝牙工具类 ...

  2. 获取元素属性 和 获取元素的CSS属性

  3. scrapy框架中Download Middleware用法

    scrapy框架中Download Middleware用法   Downloader Middleware处理的过程主要在调度器发送requests请求的时候以及网页将response结果返回给sp ...

  4. 命令行媒体处理工具 FFmpeg

    FFmpeg 是一套在命令行界面运行的跨平台媒体处理工具,属于自由软件,常用来对视频音频和图片等媒体文件进行格式转换.分割和合并等,也可录屏录音. 开发语言:C官网:https://www.ffmpe ...

  5. freertos之资源管理学习

    OS下在对硬件外设资源操作.多任务的共享变量.任务和中断的共享变量操作时需要考虑资源的完整性和安全性. FREERTOS提供了临界区.调度器上锁.互斥量.优先级自动继承.创建守护任务的方法来改变最小优 ...

  6. 别让CDN的回源把你的服务器拖垮,采用正确的回源策略

    我们有一台服务器提供的服务主要是以动态页面为主,静态页面都是固定的内容平时更新的很少,最近这台服务器的应用升级到了新版本访问量增大了不少,随之的问题就来了,最近每天一到9点负载就超过警戒值,然后负载持 ...

  7. Chess 模拟

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=6114 Problem Description 車是中国象棋中的一种棋子,它能攻击同一行或同一列中没有其他棋 ...

  8. 借助Code Splitting 提升单页面应用性能

    近日的工作集中于一个单页面应用(Single-page application),在项目中尝试了闻名已久的Code splitting,收获极大,特此分享. Why we need code spli ...

  9. IE和火狐下的iframe刷新

    前面使用了前端上传插件plupload,在谷歌浏览器中运行完全没问题,但是在IE和火狐下就出现当文档加载完成之后,该文件上传的iframe插件的上传按钮点击无效,当对上传的文件进行一次删除之后,按钮就 ...

  10. Java生成-zipf分布的数据集(自定义倾斜度,用作spark data skew测试)

    1.代码 import java.io.Serializable; import java.util.NavigableMap; import java.util.Random; import jav ...