设为首页 收藏本站
查看: 921|回复: 0

[经验分享] Python之路(二)Python基础

[复制链接]

尚未签到

发表于 2018-8-5 14:24:57 | 显示全部楼层 |阅读模式
执行


  • Windows
  

方式一  
D:\Python\python.exe D:\Python17\DAY01\Helloworld.py
  

  
方式二
  
D:\Python\python.exe
  


  • Linux
  

方式一  
[root@linux-node1 ~]# /usr/bin/python Helloworld.py
  

  
方式二
  
[root@linux-node1 ~]# python
  

  
方式三
  
[root@linux-node1 ~]# vim Helloworld.py
  
#!/usr/bin/python       // 增加头部信息
  
# -*- coding:utf8 -*-   // 解释器编码
  
print('Hello Python!')
  
[root@linux-node1 ~]# chmod +x Helloworld.py        // 增加可执行权限
  
[root@linux-node1 ~]# ./Helloworld.py
  

编码


  • 字符编码
  计算机从本质上来说只认识二进制中的0和1,可以说任何数据在计算机中实际的物理表现形式也就是0和1,所有的信息最终都表示为一个二进制的字符串,每一个二进制位(bit)有0和1两种状态。


  • ASCII
  ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)编码规则是由美国定制,一共规定了128(2**8)个字符的编码,例如空格SPACE是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的一位统一规定为0。


  • GB2312、GBK
  虽然计算机是美国人发明的,但是全世界的人都在使用计算机。现在出现了另一个问题:如何让中文被计算机理解?这下麻烦了,中文不像拉丁语系是由固定的字母排列组成的。ASCII 码显然没办法解决这个问题,为了解决这个问题中国国家标准总局1980年发布《信息交换用汉字编码字符集》提出了GB2312编码,用于解决汉字处理的问题。GB2312的出现,基本满足了汉字的计算机处理需要,但对于人名、古汉语等方面出现的罕用字,GB2312不能处理,导致后来出现了GBK编码。


  • Unicode
  随着计算机的普及,显然ASCII码无法将世界上的各种文字和符号全部表示,所以诞生了Unicode编码。
  Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定所有的字符和符号最少由16位来表示(2个字节)。


  • UTF-8
  由于Unicode收录了更多的字符,可想而知它的解析效率相比ASCII码的速度要大大降低,原因是Unicode通过增加一个高字节对ISO Latin-1字符集进行扩展,当这些高字节位为0时,低字节就是ISO Latin-1字符。对可以用ASCII表示的字符使用Unicode并不高效,因为Unicode比ASCII占用大一倍的空间,而对ASCII来说高字节的0对他毫无用处。为了解决这个问题,就出现了UTF-8编码。UTF-8可以根据不同的符号自动选择编码的长短,例如英文字母可以只用1个字节就够了。


  • 编码小结

  • 为了处理英文字符,出现了ASCII编码。
  • 为了处理中文字符,出现了GB2312编码。
  • 为了处理各国字符,出现了Unicode编码。
  • 为了提高Unicode存储和传输性能,出现了UTF-8编码。
注释


  • 单行注释
  #常被用作单行注释符号,在代码中使用#时它右边的任何数据都会被忽略,当做是注释。
  

# 如下是单行注释  
# print('Hello Python!')
  


  • 多行注释
  多行注释是用三引号"""  """包含的。
  

# 如下是多行注释  
"""
  
print('Hello Java!')
  
print('Hello PHP!')
  
"""
  

引号


  • 单引号
  

a = '谁说我的眼里只有你,让我把你忘记!'  
print(a)
  
// 单引号字符串
  


  • 双引号
  

a = "谁说我的眼里只有你,让我把你忘记!"  
print(a)
  
// 双引号字符串
  


  • 三引号
  

a = '''谁说我的眼里只有你,让我把你忘记!'''  
print(a)
  
// 三单引号字符串,支持换行符
  

  
a = """谁说我的眼里只有你,让我把你忘记!"""
  
print(a)
  
// 三双引号字符串,支持换行符
  

变量


  • 定义
  

a = '谁说我的眼里只有你,让我把你忘记!'  
print(a)
  
// 变量名为:a,变量a的值为:'谁说我的眼里只有你,让我把你忘记!'
  


  • 命名规则

  • 字母,数字,下划线组成
  • 不能以数字开头
  • 不能使用关键字
  • 变量名见名知义


  • 赋值
  

name = '林斌'  
user = name
  
// 变量name,user在内存中指向同一段地址
  

  
name = '林斌'
  
user = '林斌'
  
// 变量name,user在内存中指向同一段地址,Python的内存优化机制
  

  
name = '大师兄'
  
print(name)     // 打印大师兄
  
user = name
  
print(user)     // 打印大师兄
  
name = '二师兄'
  
print(name)     // 打印二师兄
  
print(user)     // 打印大师兄
  

输入输出


  • 输入
  

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

  
import getpass
  
password = getpass.getpass('请输入你密码:')
  
print(password)
  


  • 输出
  

a = 'Hello Python!'  
print(a)
  

条件语句


  • 单分支结构
  

if 1 == 1:  print('条件正确')
  

  
if 1 == 1:
  print('条件正确')
  
else:
  print('条件错误')
  


  • 多分支结构
  

name = input('请输入用户名:')  
if name == 'linbin':
  print('超级管理员')
  
elif name == 'LinBin':
  print('管理员')
  
elif name == 'LB':
  print('普通用户')
  
else:
  print('匿名用户')
  


  • 嵌套结构
  

name = input('请输入用户名:')  
if name == 'linbin':
  password = input('请输入密码:')
  if password == 'axbc1kof':
  print('登录成功!')
  else:
  print('登录失败!')
  
else:
  print('你是谁啊?')
  

循环语句


  • while
  在给定的判断条件为True时执行循环体,否则退出循环体。

  continue:跳出本次循环,继续下一次循环
  break:跳出整个循环

  

i = 0  
while i < 11:
  print(i)
  i += 1
  


  • for
  重复执行语句。

  continue:跳出本次循环,继续下一次循环
  break:跳出整个循环

  

a = ['a','b','c','d']  
for item in a:
  print(item)
  

其它

小试牛刀
  打印1,2,3,4,5,6,8,9,10
  

i = 1  
while i < 11:
  if i == 7:
  i += 1
  continue
  print(i)
  i += 1
  

  计算1-100之和
  

i = 1  
sum = 0
  
while i < 101:
  sum += i
  i += 1
  
print(sum)
  

  打印1-100奇数
  

i = 1  
while i < 101:
  if i % 2 == 1:
  print(i)
  i += 1
  

  计算1-100奇数之和
  

i = 1  
sum = 0
  
while i < 101:
  if i % 2 == 1:
  sum += i
  i += 1
  
print(sum)
  

  打印1-100偶数
  

i = 1  
while i < 101:
  if i % 2 == 0:
  print(i)
  i += 1
  

  计算1-100偶数之和
  

i = 1  
sum = 0
  
while i < 101:
  if i % 2 == 0:
  sum += i
  i += 1
  
print(sum)
  

  计算1-2+3-4+5......99结果
  

i = 1  
sum = 0
  
while i < 100:
  if i % 2 == 1:
  sum += i
  else:
  sum -= i
  i += 1
  
print(sum)
  

  用户登录(三次机会重试)
  

count = 0  
while count < 3:
  import getpass
  name = input('请输入用户名:')
  password = getpass.getpass('请输入密码:')
  if name == 'linbin' and password == 'axbc1kof':
  print('登录成功!')
  break
  else:
  print('登录失败!')
  count += 1

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-547097-1-1.html 上篇帖子: Python操作小结(mysql、txt\json、crontab、http) 下篇帖子: Python_对象(实例)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表