python基础 我们要开始学习新的编程语言了,加油~~
python是“世界上最好的语言”,学习它当然是认为它是最好的所以我们才学(人生苦短我学python),python运用于不同的领域,采集分析:当下大数据时代的大数据分析;爬取网站的信息的爬虫;最近最火的行业人工智能;自己diy的嵌入式开发;包括还有python的后台开发
python是解释型语言,语言分为编译型语言和解释型语言,编译型语言是将代码编译成二进制文件,之后运行,解释型语言是直接运行,在运行时进行编译,这两种各有千秋
python的编辑器:pycharm
python版本:3.6
软件安装
python安装,Anaconda3版本自动一键安装软件python,位置默认C:\ProgramData\Anaconda3版本为3.6,如果以前装过其他版本,如果报错就卸载吧,运行cmd输入python
手动配置环境变量
path==》C:\ProgramData\Anaconda3;C:\ProgramData\Anaconda3\Scripts;C:\ProgramData\Anaconda3\Library\bin;
python的入门:
print("hello world") #输出打印
python标准数据类型:数字,字符串,字典,列表,元祖
ip =“127.0.0.1” #变量:用来存储后面的值,但是特定的变量不能使用,例如 for,while 变量的赋值:=表示后面的值用前面的变量代替
a,b,c = 1,2,3 #定义变量是表示a =1 ,b=2, c=3
a=b=c=1 #表示三个变量都定义为1
#浅拷贝
a =
a = b
print(id(a),id(b)) #浅拷贝会在内存中定义一个地址,a和b最终指向内存地址一样,id 查看内存地址
#深拷贝
a =
b = copy.deepcopy(a) #深拷贝会在内存中新增一个内存地址,内存地址不一样
“123” #引号的使用:没有引号表示变量,数字可以不用加引号,有引号表示字符串,单引号和双引号没有区别,唯一用处是在双引号中嵌套单引号,如果还不够用三引号嵌套,三引号在更多的情况表示注释
要注意的是在单引号内使用单引号需要转义,而使用双引号就不需要了,单引号双引号三引号没有先后顺序,如 res = '1111"hello,'''你好'''world",6666'
a = "我是大帅哥"
b = a #字符串赋值会在内存中新增一个内存地址,a和b的内存地址不一样
#123 #注释的使用# 井号,批量注释ctrl+/或者三引号
a = input("请输入一个值") #交互接收 ”大坑”:用input接收到的类型全部都是字符串形式,如果和其他类型进行比较需要进行转换 a=int(a)
if #条件判断if else 或者if elif else 条件: == ,>= ,<= ,and, or
#我们可以用if 来判断想要的数字是否在这个表达式区间内
now_page = 1
all_page = 2 if 0 <= now_page < all_page :
print('yes')
else:
print('no')
a, b, c = 3, 2, 1
if not (a == 3 and not b == 1 and c == 1):
#先拆分==> if False == (表达式): 括号里面是个整体,如果想要得到2,那必须使表达式变成True,b前面表示表示'非',和b!=1差不多的意思
print(1)
else:
print(2)
python的作用域 #python作用域中,缩进来区分代码块的,如在if a=abc: 在这个冒号后必然会换行缩进(tab或者4个空格)
while #while循环,遍历,迭代,while循环需要一个计数器在之前可以定义,比如count =0 ,while count<10 无限循环,如果不想让它无限循环需要在while的下面的循环体中加入一个迭代器,
count+=1 或者 count=count +1,定义count从0开始循环所有while循环10次
while else #当其在同一作用域else是循环正常结束后执行,如果其中有break,continue的话不执行else
for #for循环,不需要定义计数器本身内置有,for i in range(10),于while的区别在于for一定要定义一个指定的数,while可以无限循环
break #存在于循环中,立即结束循环
continue #存在于循环中,立即结束本次循环
算术运算符
假设变量a
的值是10
,变量b
的值是21
,则 –
运算符 | 描述 | 示例 |
---|---|---|
+ |
加法运算,将运算符两边的操作数增加。 | a + b = 31 |
- |
减法运算,将运算符左边的操作数减去右边的操作数。 | a – b = -11 |
* |
乘法运算,将运算符两边的操作数相乘 | a * b = 210 |
/ |
除法运算,用右操作数除左操作数 | b / a = 2.1 |
% |
模运算,用右操作数除数左操作数并返回余数 | b % a = 1 |
** |
对运算符进行指数(幂)计算 |
a ** b ,表示10 的21 次幂 |
// |
地板除 – 操作数的除法,其结果是删除小数点后的商数。 但如果其中一个操作数为负数,则结果将被保留,即从零(向负无穷大)舍去 |
9//2 = 4 , 9.0//2.0 = 4.0 , -11//3 = -4 , -11.0//3 = -4.0
|
字符串格式化
编号 | 格式化符号 | 转换 |
---|---|---|
1 | %c |
字符 |
2 | %s |
在格式化之前通过str() 函数转换字符串 |
3 | %i |
带符号的十进制整数 |
4 | %d |
带符号的十进制整数 |
5 | %u |
无符号十进制整数 |
6 | %o |
八进制整数 |
7 | %x |
十六进制整数(小写字母) |
8 | %X |
十六进制整数(大写字母) |
9 | %e |
指数符号(小写字母’e ‘) |
10 | %E |
指数符号(大写字母’E ‘ |
11 | %f |
浮点实数 |
12 | %g |
%f 和%e
|
13 | %G |
%f 和%E
|
name = '隔壁老王'
sex = 48
money = 1000.52111
# 方式一:常用元祖形式
a = '你好,我叫%s,今年%s岁了,今年的存款是%.2f元' % (name, sex, money) # %s所有类型 %d整数 %f小数 %.2f小数后保留两位
print(a) # 你好,我叫隔壁老王,今年48岁了,今年的存款是1000.52 # 方式二:字典形式 参数少于3个时用它比较好
a = '你好,我叫%(name)s,今年%(sex)s岁了,今年的存款是%(money).2f元' % {'name': name, 'sex': sex, 'money': money} # %s所有类型 %d整数 %f小数 %.2f小数后保留两位
print(a) # 你好,我叫隔壁老王,今年48岁了,今年的存款是1000.52元 # 方式三:字符串拼接 对性能有影响,不常用
print('你好,我叫' + name + ',今年' + str(sex) + '岁了,今年的存款是' + str(money) + '元') # 方式四:format传值 参数多于3个时用它
a = '你好,我叫{0},今年{1}岁了,今年的存款是{2}元'.format(name, sex, money)
# format接收任意元祖形式
args = (name, sex, money)
a = '你好,我叫{0},今年{1}岁了,今年的存款是{2}元'.format(*args) a = '你好,我叫{name},今年{sex}岁了,今年的存款是{money}元'.format(name=name, sex=sex, money=money)
## format接收任意字典形式
kwargs = {'name': name, 'sex': sex, 'money': money}
a = '你好,我叫{name},今年{sex}岁了,今年的存款是{money}元'.format(**kwargs)
数据类型转
编号 | 函数 | 描述 |
---|---|---|
1 | int(x [,base]) |
将x 转换为整数。如果x 是字符串,则要base 指定基数。 |
2 | float(x) |
将x 转换为浮点数。 |
3 | complex(real [,imag]) |
创建一个复数。 |
4 | str(x) |
将对象x 转换为字符串表示形式。 |
5 | repr(x) |
将对象x 转换为表达式字符串。 |
6 | eval(str) |
评估求值一个字符串并返回一个对象。 |
7 | tuple(s) |
将s 转换为元组。 |
8 | list(s) |
将s 转换为列表。 |
9 | set(s) |
将s 转换为集合。 |
10 | dict(d) |
创建一个字典,d 必须是(key,value) 元组的序列 |
11 | frozenset(s) |
将s 转换为冻结集 |
12 | chr(x) |
将整数x 转换为字符 |
13 | unichr(x) |
将整数x 转换为Unicode字符。 |
14 | ord(x) |
将单个字符x 转换为其整数值。 |
15 | hex(x) |
将整数x 转换为十六进制字符串。 |
16 | oct(x) |
将整数x 转换为八进制字符串。 |
Unicode字符串
在Python 3中,所有的字符串都用Unicode表示。在Python 2内部存储为8
位ASCII,因此需要附加’u
‘使其成为Unicode,而现在不再需要了。
文章里里面写有字符串的很多方法
https://www.cnblogs.com/RainBol/p/9505438.html
#python文件操作中unicode编码转utf-8
f = open('nihao.json','r')
for i in f:
res = f.readline()
res= res.encode().decode('unicode_escape')
print(res)
三元运算符
#res = 值1 if 条件 else 值2
a = 5
b = 4
c = a if a > b else b # 如果a大于b的话,c=a,否则c = b ,如果不用三元运算符的话,就得下面这么写
if a > b:
c = a
else:
c = b
小练习:
产品需求如下
写一个登陆的小程序
username = admin
passwd = 123456
1、输入账号密码,输入正确就登陆成功,提示欢迎xxxx登陆,今天的日期是多少
2、最多输入错误3次,账号/密码错误,请重新登陆
3、如果失败测试超过3次,提示,失败次数过多
4、要校验输入是否为空,如果输入为空,你要提示账号./密码不能为空
什么都不输入和输入一个空格多个空格都算空。
输入为空也算操作错误一次
--------------------------------------------------------------------------------------------------------------
思考一下~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--------------------------------------------------------------------------------------------------------------
做一个小动图
if __name__ == '__main__':
string_ = '-\|/'
import time
while string_:
for i in string_:
time.sleep(0.01)
print('\r'+i,end='')
版权声明:本文原创发表于 博客园,作者为 RainBol本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。