python自学笔记1
2018-12-27 07:42:56来源:博客园 阅读 ()
一、Python介绍
1 变量:python是一个动态类型语言 在定义变量类型的时候是不需要指定变量类型的 a=1000 b="hello"
java是一个静态类型的语言 在定义变量类型的时候需要指定变量类型 int a=1000 string b="hello"
2 PHP 是弱类型 动态语言 java 是强类型 静态语言 python 是强类型 动态语言
3 变量赋值 左边赋值给右边
1 a = 100 2 print(a)
命名规则 只能以字母,数字,下划线组成 不能以数字开头,只能以字母、下划线开头 不能包含空格 变量名要见名知意 严格区分大小写 驼峰式命名:UserNamePassword 避免python中的关键字 函数名 例如:if for 如何查看python中的关键字:python交互式下 输入 help("keywords")
4.如何检查变量类型 type()
1 name1 = 100 2 name2 = 'xiaoming' 3 print(type(name1)) 4 print(type(name2))
5.关键字:在python中具有特殊功能的字符 6.标识符:在开发过程中,在自定义的一些名称都是标识符 标识符有字母 数字 下划线组成 区分大小写 7.多个变量引用同一个变量叫做共享引用 在交互模式下 数值类型0-256(之间的数值)python自动缓存 短的字符串也会被缓存
==判断字面值的意思
1 name1 = 100 2 name2 = 100 3 print(name1 == name2)
is判断引用对象地址是否相同
1 name1 = 100 2 name2 = 100 3 print(name1 is nme2)
检测对形象的地址池
1 name1 = 100 2 name2 = 200 3 print(id(name1)) 4 print(id(name2))
python的环境
python环境包括了 IDLE 和交互式环境,还有解释器
IDLE负责编写代码
解释器负责一行一行的解释运行代码
与编译类不同,Java需要将.java文件通过编译器编译成.class文件
JVM(编译器)执行.class文件。
python shell (交互式命令行) 用于验证测试代码
标准库
模块 + 函数 = 标准库
模块在标准库里
函数在模块中 import xxx from xxx import xxx
dir(xxx模块) :查看某个模块下的函数
二、输入与输出(input and print)
input():程序执行过程中,接受用户所输入的内容
print():程序执行过程中,输出的内容
1.直接输出
1 username = input("请输出您的用户名:") 2 password = input("请输出您的密码:") 3 4 print(username) 5 print(password) 6 print(type(username)) 7 print(type(password))
注意:无论输入的是什么都会默认转成字符串类型。
2.输出多个单个变量
1 name = "老王" 2 age = 12 3 4 print("我叫"+name) 5 print("我叫"+name+",今年"+str(age)+"岁")
3.换行和不换行
1 print("我是文本",end="") 2 print("不换行")
注意:end内可以添加字符和空格可以当做插入内容
转义字符
1 print("中国\n北京") 2 print("中国\t北京") 3 print("中国\\北京") 4 print(r"中国\n北京") 5 print(R"中国\n北京")
\n:换行
\t:空格
\需要两个\\表示
R和r表示原样输出强制不换行
常用的格式化符号
%s:字符型
%d:整形型
%f:浮点型
%.1f:浮点型只显示小数点一位
4.格式化输出
1 print("我叫%s"%name) 2 print("今年%d岁"%age) 3 print("身高:%f"%height) 4 print("身高%.2f"%height) 5 print("我叫%s,今年%d岁,身高%.2f"%(name,age,height),)
注意:格式化输出如果遇到显示%,要用两个%%来表示原来输出
1 n = 99.99 2 print("您战胜了%s%%全国的用户"%n)
三、format函数
格式化输出字符串的函数,可以快速的处理各种字符串
format函数中定义一个变量
1 name = "马大哈" 2 age = 11 3 height = 180 4 print("姓名:{0},年龄:{1},身高:{2},体重:{weight}".format(name,age,height,weight="80"))
占位符中添加一些指令的高级语法
1 print("{}={}".format("python","123.1111")) 2 print("{0}={1}".format("python","123.1111")) 3 print("{0}={1}".format("1+1",2))
保留十个字节
不同类型,展现的结果有差别
1 print("{0:10}={1:10}".format("py",123456)) 2 py = 123456 3 # 字符型左对齐“py” 4 # 整形右对齐123456
对齐
右对齐 “>”
左对齐 "<"
居中 "^"
“:”后不指定内容默认用空格填充,指定内容的话只能是一个字符
冒号左边表示格式化字符的位置, 冒号右边表示占多少字符
以浮点型显示
:.2f保留两位小数
:f以小数方式表示
1 print("{:f},{:.3f},{}".format(3.14,3.1415926,3.1415926))
format进制的转换
{:x} 十六进制
{:o} 八进制
{:b} 二进制
1 print("{:x},{:o},{:b}".format(230,230,230))
四、 数据类型
数值型: int、float
布尔: True False
空对象: None
序列: list(列表),tuple(元组),dict(字典),str,range()
如何去检查数据类型
type()
1 print(type(18)) 2 print(type("18")) 3 print(type(1.88))
布尔类型的本质
1 True == 1 False == 0 2 print(True == 1) 3 print(False == 0)
bool()
1 print(bool(10)) 2 print(bool(-1)) 3 print(bool("123") ) 4 print(bool("")) 5 print(bool([]))
0, 0.0 ,None , "", [] , () 这些都会被当做False处理
内置函数:四舍五入
round()
1 print(round(3.6)) 2 print(round(3.1))
强制类型转换
字符串强转int
int()
1 str_int = "3" 2 str_new = int(str_int) 3 print(str_new) 4 print(type(str_new))
字符串强转float
float()
1 str_float = "3.14" 2 print(float(str_float)) 3 print(type(float(str2_float)))
int强转str
str()
1 num = 12 2 print(str(num))
注意:对字符串操作不会改变本身,会返回一个新的结果
eval() 将字符串自动判断并转换成合适的类型
1 e1 = eval("1.23") 2 e2 = eval("11") 3 print(e1) 4 print(e2) 5 print(type(e1)) 6 print(type(e2))
二进制 0b
八进制 0o
十六进制 Ox
1 print(0b1101) 2 print(0o177) 3 print(0x9ff)
bin() 将十进制转换成二进制
hex() 将十进制转换成十六进制
oct() 将十进制转换成八进制
print(bin(12)) print(hex(12)) print(oct(12))
ascii
ord() 将字符转换成ascii值
chr() 接受的是0-255,返回的是对应的ascii值的字符
1 print(ord("a")) 2 print(chr(97))
注意:python 当中没有字符的概念 只有字符串。单个字符和一串字符都是字符串
五、使用两个模块
math
decimal
math.floor() 向下取整(坐标轴左边取值)
math.ceil() 向上取整(坐标轴右边取值)
math.trunc() 截断(往0的方向取整)
1 import math 2 print(math.floor(5.66)) 3 print(math.ceil(5.66)) 4 print(math.trunc(-1.66))
圆周率
1 print(math.pi) 2 pow() 2的3次方 3 print(pow(2,3))
开平方
1 print(math.sqrt(9))
浮点运算
1 import decimal 2 n = decimal.Decimal("0.1")+decimal.Decimal("0.1")+decimal.Decimal("0.1")-decimal.Decimal("0.3") 3 print(n) 4 5 from decimal import Decimal 6 7 n1=Decimal("0.1")+Decimal("0.3") 8 print(n1)
注意:未引用模块的时候无法使用模块
六、if条件判断语句
分支语句
如果 条件(True):
需要执行的代码块(代码组)
否则 条件(False):
需要执行的代码块
if和else里面的代码块需要缩进否则会有错误
一个条件
1.如果是工作日就去上班,否则在家打LOL
1 day = input("今天是星期几?") 2 day = int(day) 3 if (day<6): 4 print("苦逼的工作日,赶紧去上班") 5 else: 6 print("终于休息了,玩吧五连坐,重来没赢过")
注意:day是字符串类型需要转换才能和int型的6比较否则会报错
多个条件
2.周一去公司,周二去拜访客户,周三到周五去出差,周末休息
1 day = input("今天是星期几?") 2 day = int(day) 3 if day == 1: 4 print("去公司") 5 elif day == 2: 6 print("拜访客户") 7 elif day >= 3 and day <= 5: 8 print("去出差") 9 elif day == 6 or day == 7: 10 print("周末休息") 11 else: 12 print("大哥一周就七天,输出错误了吧,请重新运行")
else可以不写if必须写
括号可以不写
if嵌套
3.如果今天是工作日就去上班,否则(周末)天气好就去爬山,天气不好,网吧五连坐。
1 day = input("今天是星期几?") 2 day = int(day) 3 if day<6: 4 print("苦逼的工作日,赶紧去上班") 5 else: 6 n = input("请输入天气状况:1.天气晴朗 2.重度雾霾") 7 n = int(n) 8 if n == 1: 9 print("天气正好,我们去爬山吧") 10 else: 11 print("珍爱生命,请勿出行")
奶茶店盛大开业啦!今天,门店前立出了以下招牌:
? 奶茶店售卖奶茶,快来选购:
1)芒果 8元 2)苹果 9元 3) 香蕉 15元 4)葡萄 5元 5)香芋 10元
? 请您帮助奶茶店的收银小妹设计一款价格结算系统,要求:
1、顾客可输入1—5来选择奶茶种类,输入其它数字则输出:
'Woops! 我们只售卖以上五种奶茶哦!新口味敬请期待!'
2、顾客可输入购买数量,根据奶茶种类和数量计算总价。
3、顾客可输入是否为本店会员,会员可以享受9折优惠。
4、输出顾客购买的详细信息,包括货品种类、购买数量、总价。若是会员输出会
员价。建议大家使用格式化输出
1 print("奶茶店售卖奶茶,快来选购:") 2 print("1.芒果味奶茶 8元, ") 3 print("2.苹果味奶茶 9元, ") 4 print("3.香蕉味奶茶 15元, ") 5 print("4.葡萄味奶茶 5元 ,") 6 print("5.香芋味奶茶 10元。") 7 w1 = int(input("请输入要购买的商品编号:")) 8 if w1 == 1: 9 s1 = int(input("请输入购买的数量")) 10 jiage =8 * s1 11 h1 = input("请问是否为会员(是的话请输入1,不是请输入2)") 12 h1 = int(h1) 13 if h1 == 1: 14 jiage *= 0.9 15 print("您购买了芒果味奶茶{0}个会员打九折请付款{1}".format(s1,jiage)) 16 elif h1 == 2: 17 print("您购买了芒果味奶茶{0}个一共{1}".format(s1, jiage)) 18 elif w1 == 2: 19 s1 = int(input("请输入购买的数量")) 20 jiage = 9 * s1 21 h1 = int(input("请问是否为会员(是的话请输入1,不是请输入2)")) 22 if h1 == 1: 23 jiage *= 0.9 24 print("您购买了苹果味奶茶{0}个会员打九折请付款{1}".format(s1, jiage)) 25 elif h1 == 2: 26 print("您购买了苹果味奶茶{0}个一共{1}".format(s1, jiage)) 27 elif w1 == 3: 28 s1 = int(input("请输入购买的数量")) 29 jiage = 15 * s1 30 h1 = int(input("请问是否为会员(是的话请输入1,不是请输入2)")) 31 if h1 == 1: 32 jiage *= 0.9 33 print("您购买了香蕉味奶茶{0}个会员打九折请付款{1}".format(s1, jiage)) 34 elif h1 == 2: 35 print("您购买了香蕉味奶茶{0}个一共{1}".format(s1, jiage)) 36 elif w1 == 4: 37 s1 = int(input("请输入购买的数量")) 38 jiage = 5 * s1 39 h1 = int(input("请问是否为会员(是的话请输入1,不是请输入2)")) 40 if h1 == 1: 41 jiage *= 0.9 42 print("您购买了葡萄味奶茶{0}个会员打九折请付款{1}".format(s1, jiage)) 43 elif h1 == 2: 44 print("您购买了葡萄味奶茶{0}个一共{1}".format(s1, jiage)) 45 elif w1 == 5: 46 s1 = int(input("请输入购买的数量")) 47 jiage = 10 * s1 48 h1 = int(input("请问是否为会员(是的话请输入1,不是请输入2)")) 49 if h1 == 1: 50 jiage *= 0.9 51 print("您购买了香芋味奶茶{0}个会员打九折请付款{1}".format(s1, jiage)) 52 elif h1 == 2: 53 print("您购买了香芋味奶茶{0}个一共{1}".format(s1, jiage)) 54 else: 55 print("Woops! 我们只售卖以上五种奶茶哦!新口味敬请期待!")
代码有些地方还可以优化,比如想购买多种口味的奶茶最后一起结账再退出
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:wxPython的简单应用
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash