前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python之day1

python之day1

作者头像
py3study
发布2020-01-07 16:47:58
4460
发布2020-01-07 16:47:58
举报
文章被收录于专栏:python3python3

  初学python会有学python2还是python3的困惑,因为现在公司的实际环境下大部分还是用2.7编写的代码,python3.X又向下不兼容2.X,我认为作为初学者更应该从python3着手:

  1. python3和python2区别不是很大,只有在某些语法、某些库名不一样而已;
  2. python2官方只支持到2020年,且不会有大版本的更新;
  3. 官方的所有标准库只在python3中更新;

所以还是忘掉python2吧,它已经是过去时了。

第一个程序hello world!

print('hello world!') #这里单引号或双引号均可

wKiom1jeWnOSzEqOAAAdGP14Lps477.png-wh_50
wKiom1jeWnOSzEqOAAAdGP14Lps477.png-wh_50

     也可以创建一个helloworld.py的文件执行:

wKiom1jeXd_gNtWMAAAUJ0S4HCk894.png-wh_50
wKiom1jeXd_gNtWMAAAUJ0S4HCk894.png-wh_50

在Linux下(为2.7版本):

#!/usr/bin/env python  #声明解释器是什么,告诉操作系统用什么方式打开

Print “hello world”    #python3中必须加(),python2中可以省略

保存为hello.py

增加执行权限:chmod 755 hello.py

直接执行: ./hello.py即可

变量

如何定义变量:name = ”Tone”    #变量声名并赋值后指向该值的内存地址

调用变量:print(“My name is”,name)

变量定义的原则

1、 变量名只能是字母、数字或下划线的任意组合;

2、 变量名的第一个字符不能是数字;

3、 关键字不能声明为变量;

4、 约定俗成:变量名有含义英文单词,不要用拼音,单词之间用_隔开,gf_of_oldboy,每个单词的首字母大写;

Python中没有常量的概念,但约定俗成变量全是大写表示常量,如:PIE = “chang liang”(注:可以更改)

字符编码与二进制

Python解释器在加载.py文件中的代码时,会对内容进行编码(默认ascii)

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用8位来表示(一个字节),即:2**8=256-1,所以,ASCII码最多只能表示255个符号。可以参考ASCII码表。

为了处理汉字,程序员设计了用于简体中文的GB231和用于繁体中文的big5

GB2312(1980年)共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中5个空位是D7FA-D7FE。

GB2312支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字包括21003个字符。2000年的GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求,所以手机、MP3一般只支持GB2312。

从ASCII、GB2312、GBK到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一的处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集(DBCS)。

有的中文Windows的缺省内码还是GBK,可以通过GB18030升级包升级到GBK18030。不过GB18030相对GBK增加的字符,普通人是很难用到的,通常我们还是用GBK指代中文Windows内码。

各个国家使用扩展位,导致混乱,国际开始定制新的标准即:Unicode

Unicode占用2个字符,统一编码

UTF-8 可变长的编码,存英文占用1byte,中文占用3bytes

Python2中默认使用ASCII编码,所以不支持中文,可以指定编码方式:

# -*- coding:UTF-8  -*-

Name = “你好,世界”

Print(name)

Python3天生支持中文,默认就是utf-8

用户交互程序

注释:单行可以用#,多行可以用三个’’’开头,三个’’’结尾

赋值:单行可以使用'或是"没有区别,只是在值中有单引号出现时使用"更清晰,name="i'm Tone"

      多行赋值必须使用'''

用户输入:input等待用户输入

         python2中的raw_input和python3中的input一样,python2中的input不要使用

格式化输出1:多行可以使用加号拼接的方法(尽量不要用该方法)

格式化输出2:可以使用%s:字符串;%d:数字;%f:浮点型的方式,如下程序

             默认所有输入的数据类型为字符串,可以使用int强制转换,并可以使用type查看类型

name= input("name:") age = int(input("age:")) print(type(age)) job = input("job:") salary = int(input("salary:")) info = ''' ------------info of %s------------ name:%s age:%d job:%s salary:%d '''%(name,name,age,job,salary) print (info)

格式化输出3:可以使用{}的方式,如下

info='''

-----------------info of {_name}----------------------

name:{_name}

age:{_age}

job:{_job}

salary:{_salary}

'''.format(_name=name,

                _age=age,

                _job=job,

                _salary=salary)

或者

info='''

-----------------info of {0}----------------------

name:{0}

age:{1}

job:{2}

salary:{3}

'''.format(name,age,job,salary)

If else流程判断

实现密码密文显示效果:

import getpass   #调用模块标准库

username=input("username:")

password=getpass.getpass("password:")    #pycharm中不好用

print(username,password)

判断输入的用户名密码是否正确

_username="tone"

_password="pass123"

username=input("username:")

password=input("password:")

if _username==username and _password==password:

   print("welcome user {name} login..".format(name=username))   #强制缩进

else:

   print("invalid username or password.")

定义一个年龄,然后判断年龄大小

real_age = 33 guess_age = int(input("input your guess age:")) if guess_age == real_age: print("congratulations,you got it.") elif guess_age > real_age: print("think smaller..") else: print("think bigger..")

While循环

在上面程序基础上增加功能:给3次机会猜年龄

real_age= 33 count = 0 while count < 3: guess_age = int(input("input your guess age:")) if guess_age == real_age: print("congratulations,you got it.") elif guess_age > real_age: print("think smaller..") else: print("think bigger..") count += 1

增加友好提示信息,当猜3次没有猜出来,提示游戏结束(low代码)

real_age= 33 count = 0 while count < 3: guess_age = int(input("input your guess age:")) if guess_age == real_age: print("congratulations,you got it.") break     elif guess_age > real_age: print("think smaller..") else: print("think bigger..") count += 1 if count == 3: print("guess too many times,game over!")

增加友好提示信息,当猜3次没有猜出来,提示游戏结束(high代码)使用while  else的语法

real_age= 33 count = 0 while count < 3: guess_age = int(input("input your guess age:")) if guess_age == real_age: print("congratulations,you got it.") break     elif guess_age > real_age: print("think smaller..") else: print("think bigger..") count += 1 else: print("guess too many times,game over!")

While循环优化版本

range(10)表示0到9的一组数字集

for 可以结合else使用

range(0,10,2)0到10之间的数,2表示间隔数步长

猜年龄游戏,升级到每次有3次机会,并可以选择玩与不玩

real_age= 33 count = 0 while count < 3: guess_age = int(input("guess age:")) if guess_age == real_age: print("congratulation,you got it") break     elif guess_age > real_age: print("think smaller..") else: print("think bigger..") count += 1 if count == 3: play_agin = input("play game agin,yes or not:") if play_agin == "y" or play_agin == "yes": count = 0

For循环及作业要求

总结:continue表示结束本次循环,不执行continue以下的代码,但继续循环

            break结束整个循环,不执行break以下的代码,并跳出循环,继续执行循环外的代码

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档