开头一句话:小马过河,才知深浅。
首先:因为自己有一些编程基础所以有些知识点就不具体去描述。比如:编程语言的进化:机器语言,汇编语言和高级语言。高级语言又分为:编译型和解释型。这就需要对这些知识进行了解。
其次:针对python进行了解:发展史、解释器种类、python2.0与3.0的关系等
接着:只针对windows-->第一步,python的环境安装:打开官网进行下载:
官网:https://www.python.org/downloads/windows/
下载选择有很多种,zip的、程序安装的等,这都可以百度到如何安装。安装成功后测试一下:windows--》运行--》输入cmd,回车--》输入python,如果能进入交互环境,代表安装成功
建议用PyCharm进行编译,破解版链接如下:
https://pan.baidu.com/s/1ybTSPEUtrIRJeWj1eZwbmA密码:cg1w
开始学习之前,一些规范:
1、起名要规范:eg:age_of_albert albert_gf_age
变量定义的规则:
变量名只能是 字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global','if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
2、固定常量全部大写,一行代码不应该超过80个字符
3、python自己识别数据类型,查看其类型用type(变量)
4、python3.0之前有int和long,之后只有int,当数字大到long的情况,自己转变
5、数据类型-字符串(加引号的就是字符串)单引号和双引号没啥区别。三个引号不同,要么在语句中含有其中一个引号时用,要么有多段话时使用,即多行用多引号。
数据类型-数字:
Python 支持四种不同的数值类型:
- 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。
- 长整型(long integers) - 无限大小的整数,整数最后是一个大写或小写的L。
- 浮点型(floating point real values) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
- 复数(complex numbers) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
浮点型
浮点型,如下增加小数后个数:
关于小数不精准问题
Python默认的是17位精度,也就是小数点后16位,尽管有16位,但是这个精确度却是越往后越不准的。
首先,这个问题不是只存在在python中,其他语言也有同样的问题
其次,小数不精准是因为在转换成二进制的过程中会出现无限循环的情况,在约省的时候就会出现偏差。
比如:11.2的小数部分0.2转换为2进制则是无限循环的00110011001100110011...
单精度在存储的时候用23bit来存放这个尾数部分(前面9比特存储指数和符号);同样0.6也是无限循环的;
这里有一个问题,就是当我们的计算需要使用更高的精度(超过16位小数)的时候该怎么做呢?
#借助decimal模块的“getcontext“和“Decimal“ 方法
>>> a = 3.141592653513651054608317828332
>>> a
3.141592653513651
>>> from decimal import *
>>> getcontext()
Context(prec=50, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[FloatOperation], traps=[InvalidOperation, DivisionByZero, Overflow])
>>> getcontext().prec = 50
>>> a = Decimal(1)/Decimal(3)#注,在分数计算中结果正确,如果直接定义超长精度小数会不准确
>>> a
Decimal('0.33333333333333333333333333333333333333333333333333')
>>> a = '3.141592653513651054608317828332'
>>> Decimal(a)
Decimal('3.141592653513651054608317828332')
#不推荐:字符串格式化方式,可以显示,但是计算和直接定义都不准确,后面的数字没有意义。
>>> a = ("%.30f" % (1.0/3))
>>> a
'0.333333333333333314829616256247'
数据类型-布尔 值:真或假 1 或 0
当行注释:#被注释内容 ; 多行注释:"""被注释内容"""6、简单代码编写:
第一种方式:
headline = input("Headline:")-->表示用户输入
name = input("Name:")
age = int( input("Age:") )
hometown = input("Hometown:")
mood = input("Mood:")
consumption =float( input("Consumption:") )
time = input("Time:")
#字符串格式化
# % 连接符 %s 占位符
# %s 相当于String
# %d 相当于digit
# %f相当于小数
info = """
--------------------标题: %s--------------------
姓名: %s
年龄: %d
家乡: %s
心情: %s
消费: %f
时间: %s
-----------------------end------------------------
"""%(headline,name,age,hometown,mood,consumption,time)
#type() 显示输入的数据类型
print(type(headline),type(name),type(age),type(hometown),type(mood),type(consumption),type(time))
print(info)
上面的编码方式不大推荐,一般都用下面的来表示:
headline = input("Headline:") name = input("Name:") age = int( input("Age:") ) hometown = input("Hometown:") mood = input("Mood:") consumption =float( input("Consumption:") ) time = input("Time:") info = """ --------------------标题: {_headline}-------------------- 姓名: {_name} 年龄: {_age} 家乡: {_hometown} 心情: {_mood} 消费: {_consumption} 时间: {_time} -----------------------end------------------------ """.format(_headline=headline, _name=name, _age=age, _hometown=hometown, _mood=mood, _consumption=consumption, _time=time) print(type(headline),type(name),type(age),type(hometown),type(mood),type(consumption),type(time)) print(info)
下面是登录操作:
_username = "albert"
_password = "abc123"
username = input("请输入姓名:")
password = input("请输入密码:")
if _username ==username and _password == password :
print("Welcome!")
else:
print("用户名或密码错误,请从新输入!")
但是登录依旧需要改善:
import getpass ---> 引用getpass模块 _username = 'albert' _password = 'abc123' username = input("username:") password = getpass.getpass("password:") ---->getpass.getpass()隐藏密码 if _username == username and _password == password: print("Welcome {name} to our logo...".format(name=username)) else: print('wrong')
# 打印1-100条件:第第五十次不打印,第60-80次打印它的平方
count = 0
while count <=100:
if count == 50:
pass#就是过
elif count >=60 and count <=80 :
print(count**2)
else:
print("loop",count)
count += 1
7、PyCharm对缩进要求很高:
8、找到环境变量所配置的版本:
9、编码发展:
10、python3中string与bytes:
11、python数据类型:
12、python的运算符:http://www.runoob.com/python/python-operators.html
最后附上ASCII表:
.转换utf-8字符编码格式
运算符
计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算
算数运算
以下假设变量:a=10,b=20
比较运算
以下假设变量:a=10,b=20
赋值运算
以下假设变量:a=10,b=20